I followed the instructions on the following video: www.youtube.com/watch?v=SissgQ0IXvk
I'm using XNA 4.0 and Blender 2.69
I export the model with animation to a .FBX file.
The animation is a man waving
Here is what it looks like in Blender:
And here is how it renders in XNA:
The arm where the animation occurs is greatly distorted.
I believe the error occurs in the AnimationPlayer class:
/// Helper used by the Update method to refresh the WorldTransforms data.
public void UpdateWorldTransforms(Matrix rootTransform)
// Root bone.
worldTransforms = boneTransforms * rootTransform;
// Child bones.
for (int bone = 1; bone < worldTransforms.Length; bone++)
int parentBone = skinningDataValue.SkeletonHierarchy[bone];
worldTransforms[bone] = boneTransforms[bone] *
/// Helper used by the Update method to refresh the SkinTransforms data.
public void UpdateSkinTransforms()
for (int bone = 0; bone < skinTransforms.Length; bone++)
skinTransforms[bone] = skinningDataValue.InverseBindPose[bone] *
Found the problem. XNA's content pipeline doesn't seem to be able to handle animated FBXs correctly. So XNA has a bug. Luckily Blender 2.68a and older has a "fix" for this. Just check "XNA rotation animation hack" when exporting the FBX.