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); } }
public static void UpdateTangentsFromMode(AnimationCurve curve) { for (int i = 0; i < curve.length; i++) { CurveUtility.UpdateTangentsFromMode(curve, i); } }
public static void UpdateTangentsFromMode(AnimationCurve curve) { for (int index = 0; index < curve.length; ++index) { CurveUtility.UpdateTangentsFromMode(curve, index); } }
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); }
public static void UpdateTangentsFromMode(AnimationCurve curve, AnimationClip clip, EditorCurveBinding curveBinding) { CurveUtility.UpdateTangentsFromMode(curve); }