需要改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];
}
}