ColladaXna.Base.Animation.JointAnimationKeyFrame.LerpTransform C# (CSharp) Method

LerpTransform() public static method

Linear interpolation of two keyframe transformations.
public static LerpTransform ( JointAnimationKeyFrame frame1, JointAnimationKeyFrame frame2, float amount ) : Matrix
frame1 JointAnimationKeyFrame One keyframe
frame2 JointAnimationKeyFrame Another keyframe
amount float Weight of second keyframe between 0.0 and 1.0
return Matrix
        public static Matrix LerpTransform(JointAnimationKeyFrame frame1,
            JointAnimationKeyFrame frame2, float amount)
        {
            // Lerp between components
            Vector3 scale = Vector3.Lerp(frame1.Scale, frame2.Scale, amount);
            Quaternion rotation = Quaternion.Lerp(frame1.Rotation, frame2.Rotation, amount);
            Vector3 translation = Vector3.Lerp(frame1.Translation, frame2.Translation, amount);

            return Matrix.CreateScale(scale) * Matrix.CreateFromQuaternion(rotation) *
                Matrix.CreateTranslation(translation);
        }