Exemple #1
0
        private static Matrix ConvertFrame(KsAnimKeyframe ks)
        {
            var rotation    = ks.Rotation.ToQuaternion();
            var translation = ks.Transition.ToVector3();
            var scale       = ks.Scale.ToVector3();

            return(Matrix.Scaling(scale) * Matrix.RotationQuaternion(rotation) * Matrix.Translation(translation));
        }
Exemple #2
0
        private static KsAnimKeyframe[] ConvertFramesV2(Matrix[] matrices, int?fillLength)
        {
            var v = new KsAnimKeyframe[fillLength ?? matrices.Length];
            var l = Matrix.Identity.ToKeyFrame();

            var i = 0;

            for (; i < matrices.Length; i++)
            {
                v[i] = l = matrices[i].ToKeyFrame();
            }

            for (; i < v.Length; i++)
            {
                v[i] = l;
            }

            return(v);
        }
Exemple #3
0
 private static bool IsFrameSame(KsAnimKeyframe a, KsAnimKeyframe b)
 {
     return(IsFrameSame(a.Transition, b.Transition) && IsFrameSame(a.Rotation, b.Rotation) && IsFrameSame(a.Scale, b.Scale));
 }