In CXAnimationPlayer.cpp, line 225, the line
Code: Select all
Joints[jnr].MatrixOffset = mesh.SkinWeights[w].MatrixOffset;
Unfortunatelly, for some .x file, that's not the case.
To fix this bug, I changed SJoint struture, and now MatrixOffset and CombinedAnimationMatrix are arrays of matrix4. I also changed SVertexWeight structure by adding index[4] array, to be able to apply the right MatrixOffset matrix.
I hope I'm clear.