public static void UpdateTangentsFromMode(AnimationCurve curve, AnimationClip clip, EditorCurveBinding curveBinding)
 {
     if (RotationCurveInterpolation.GetModeFromCurveData(curveBinding) == RotationCurveInterpolation.Mode.NonBaked)
     {
         QuaternionCurveTangentCalculation quaternionCurveTangentCalculation = default(QuaternionCurveTangentCalculation);
         int curveIndexFromName = RotationCurveInterpolation.GetCurveIndexFromName(curveBinding.propertyName);
         for (int i = 0; i < 3; i++)
         {
             if (i == curveIndexFromName)
             {
                 quaternionCurveTangentCalculation.SetCurve(i, curve);
             }
             else
             {
                 EditorCurveBinding binding = curveBinding;
                 binding.propertyName = "localEulerAngles." + RotationCurveInterpolation.kPostFix[i];
                 AnimationCurve editorCurve = AnimationUtility.GetEditorCurve(clip, binding);
                 if (editorCurve == null)
                 {
                     return;
                 }
                 quaternionCurveTangentCalculation.SetCurve(i, editorCurve);
             }
         }
         quaternionCurveTangentCalculation.UpdateTangentsFromMode(curveIndexFromName);
     }
     else
     {
         CurveUtility.UpdateTangentsFromMode(curve);
     }
 }
示例#2
0
 public static void UpdateTangentsFromMode(AnimationCurve curve)
 {
     for (int i = 0; i < curve.length; i++)
     {
         CurveUtility.UpdateTangentsFromMode(curve, i);
     }
 }
示例#3
0
 public static void UpdateTangentsFromMode(AnimationCurve curve)
 {
     for (int index = 0; index < curve.length; ++index)
     {
         CurveUtility.UpdateTangentsFromMode(curve, index);
     }
 }
示例#4
0
 public static void UpdateTangentsFromModeSurrounding(AnimationCurve curve, int index)
 {
     CurveUtility.UpdateTangentsFromMode(curve, index - 2);
     CurveUtility.UpdateTangentsFromMode(curve, index - 1);
     CurveUtility.UpdateTangentsFromMode(curve, index);
     CurveUtility.UpdateTangentsFromMode(curve, index + 1);
     CurveUtility.UpdateTangentsFromMode(curve, index + 2);
 }
示例#5
0
 public static void UpdateTangentsFromMode(AnimationCurve curve, AnimationClip clip, EditorCurveBinding curveBinding)
 {
     CurveUtility.UpdateTangentsFromMode(curve);
 }