Beispiel #1
0
        private FBXVector GetEulerXYZ(CSGGroup group, float time)
        {
            CSGMatrix transformLH = new CSGMatrix();

            group.GetTransform(group.Parent, time, ref transformLH);

            var transformRH = ConvertTransformToRightHanded_ThisLittleBitTookFourDaysToFigureOut(transformLH);

            FBXMatrix matrix = new FBXMatrix(
                transformRH.m11,
                transformRH.m12,
                transformRH.m13,
                transformRH.m14,
                transformRH.m21,
                transformRH.m22,
                transformRH.m23,
                transformRH.m24,
                transformRH.m31,
                transformRH.m32,
                transformRH.m33,
                transformRH.m34,
                transformRH.m41,
                transformRH.m42,
                transformRH.m43,
                transformRH.m44);
            FBXQuaternion fbxQuaternionRH = matrix.GetQuaternion();

            var eulerXYZRH = fbxQuaternionRH.DecomposeSphericalXYZ();

            return(eulerXYZRH);
        }
Beispiel #2
0
        private Matrix T(FBXMatrix m)
        {
            Matrix m2 = new Matrix(
                (float)m.mData[0].x, (float)m.mData[0].y, (float)m.mData[0].z, (float)m.mData[0].w,
                (float)m.mData[1].x, (float)m.mData[1].y, (float)m.mData[1].z, (float)m.mData[1].w,
                (float)m.mData[2].x, (float)m.mData[2].y, (float)m.mData[2].z, (float)m.mData[2].w,
                (float)m.mData[3].x, (float)m.mData[3].y, (float)m.mData[3].z, (float)m.mData[3].w
                );

            return(m2);
        }
 static Matrix FbxsdkConvertMatrix(FBXMatrix input)
 {
     var output = new Matrix();
     output.M11 = input.M11;
     output.M12 = input.M12;
     output.M13 = input.M13;
     output.M14 = input.M14;
     output.M21 = input.M21;
     output.M22 = input.M22;
     output.M23 = input.M23;
     output.M24 = input.M24;
     output.M31 = input.M31;
     output.M32 = input.M32;
     output.M33 = input.M33;
     output.M34 = input.M34;
     output.M41 = input.M41;
     output.M42 = input.M42;
     output.M43 = input.M43;
     output.M44 = input.M44;
     return output;
 }