A scaling issue occured when retrieving animation matrix

Started by
-1 comments, last by OscarYu 8 years, 3 months ago

Hi there,

I spent quite a while to get my fbx animation importer works with fbx sdk and directX 11. However it still has an issue that the model is scaled 100 times as big as the original one defined by its control points.

Here is how I obtain the inversed base bind pose matrix:


fbxCluster->GetTransformMatrix(referenceGlobalInitPosition);
fbxCluster->GetTransformLinkMatrix(clusterGlobalInitPosition);

fbxGlobalBoneBaseMatrix = clusterGlobalInitPosition.Inverse() * referenceGlobalInitPosition;
bone.globalBindposeInverseMatrix = fbxGlobalBoneBaseMatrix;

?

Here is how I get transform matrix of each bone in real time:


FbxAMatrix fbxCurrMatrix = fbxNode->EvaluateGlobalTransform(time);

FbxAMatrix fbxFinalMatrix = fbxCurrMatrix * globalBindposeInverseMatrix;
fbxFinalMatrix = fbxFinalMatrix.Transpose();

After I applied the final matrix to the vertices, the model was scaled 100 times as big as it was before.

Any ideas about that and what I was missing here? Thanks

This topic is closed to new replies.

Advertisement