I am working on a FBX converter. So, the target is FBX, and the input is a format that has LOCAL MATRICES.
So the rotation, translation and scaling is stored into 4x4 Matrix. Usualy everything goes right except there
are some situations, where objects are turned for 90 or 180 degrees in the wrong direction.
The easisest thing for me would be if I could say: FbxNode->SetLocalMatrix() .
But there is no souch function. I can only say: SetTranslation, SetRotation, SetScaling
and they all require vectors for input. What to do?
I create a FbxAMatrix (affine matrix) and then get the Translation and Rotation vector
out of it. Of course, the rotation is not allways right.
My Idea was, to create a vector with [1,1,1] and then transform it by the original matrix,
get "OriginalOutputVector" and then take the same vector [1,1,1] and transform it
by the Affine Matrix to "AffineOutputVector" and compare them. So I would get
when the affine decomposition went wrong. But how to solve that?
Feel free to post.
Thank you in advance!