需要改SkinnedModelWindows裡的AnimationPlayer.cs

 

//須改寫地方

        Matrix BlenderSkinFix = Matrix.CreateRotationY(MathHelper.PiOver2) * Matrix.CreateRotationX(MathHelper.Pi);

        public void UpdateSkinTransforms()
        {
            for (int bone = 0; bone < skinTransforms.Length; bone++)
            {
                skinTransforms[bone] = skinningDataValue.BindPose[bone] * BlenderSkinFix * worldTransforms[bone]; //blender 版本
            }
        }

 

//以及這裡

       Matrix BlenderWorldFix = Matrix.CreateRotationX(MathHelper.PiOver2);

        public void UpdateWorldTransforms(Matrix rootTransform)
        {
            // Root bone.
            worldTransforms[0] = boneTransforms[0] * BlenderWorldFix * rootTransform;

            // Child bones.
            for (int bone = 1; bone < worldTransforms.Length; bone++)
            {
                int parentBone = skinningDataValue.SkeletonHierarchy[bone];

                worldTransforms[bone] = boneTransforms[bone] *
                                             worldTransforms[parentBone];
            }
        }

 

 

arrow
arrow
    全站熱搜

    wuminfajoy 發表在 痞客邦 留言(1) 人氣()