UnityEditor.QuaternionCurveTangentCalculation.CalculateLinearTangent C# (CSharp) Method

CalculateLinearTangent() public method

public CalculateLinearTangent ( Keyframe from, Keyframe to, int component ) : float
from UnityEngine.Keyframe
to UnityEngine.Keyframe
component int
return float
        public float CalculateLinearTangent(Keyframe from, Keyframe to, int component)
        {
            float t = 0.01f;
            Vector3 euler = this.EvaluateEulerCurvesDirectly(to.time);
            Vector3 vector2 = this.EvaluateEulerCurvesDirectly(from.time);
            Quaternion a = Quaternion.Euler(euler);
            Quaternion b = Quaternion.Euler(vector2);
            Vector3 eulerFromQuaternion = GetEulerFromQuaternion(Quaternion.Slerp(a, b, t), euler);
            switch (component)
            {
                case 0:
                    return (((eulerFromQuaternion.x - euler.x) / t) / -(to.time - from.time));

                case 1:
                    return (((eulerFromQuaternion.y - euler.y) / t) / -(to.time - from.time));

                case 2:
                    return (((eulerFromQuaternion.z - euler.z) / t) / -(to.time - from.time));
            }
            return 0f;
        }

Same methods

QuaternionCurveTangentCalculation::CalculateLinearTangent ( int fromIndex, int toIndex, int componentIndex ) : float