public static void UpdateTangentsFromMode(AnimationCurve curve, AnimationClip clip, EditorCurveBinding curveBinding) { // if (RotationCurveInterpolation.GetModeFromCurveData(curveBinding) == RotationCurveInterpolation.Mode.NonBaked) // { // QuaternionCurveTangentCalculation tangentCalculator = new QuaternionCurveTangentCalculation(); // // int index = RotationCurveInterpolation.GetCurveIndexFromName (curveBinding.propertyName); // // for (int i=0;i<3;i++) // { // if (i == index) // tangentCalculator.SetCurve(i, curve); // else // { // EditorCurveBinding tempBinding = curveBinding; // tempBinding.propertyName = "localEulerAngles." + RotationCurveInterpolation.kPostFix[i]; // // AnimationCurve clipCurve = AnimationUtility.GetEditorCurve (clip, tempBinding); // // // We need all curves to do quaternion tangent smoothing // if (clipCurve == null) // return; // tangentCalculator.SetCurve(i, clipCurve); // } // } // // tangentCalculator.UpdateTangentsFromMode(index); // } // else { AnimationUtility.UpdateTangentsFromMode(curve); } }
public static void UpdateTangentsFromMode(AnimationCurve curve, AnimationClip clip, EditorCurveBinding curveBinding) { AnimationUtility.UpdateTangentsFromMode(curve); }