Hi,
I've noticed a strange behavior with the use of FbxSystemUnit::Convert which, according to my tests, seems to break nodes transformations. This was noticed with FBX SDK file humanoid.fbx and reproduced in SDK ViewScene sample.
The import process I'm using is:
The skeleton is then rendered using the extracted transformations. The following images demonstrate the effect of calling the FbxSystemUnit::ConvertScene:
This same issue can be reproduced with SDK ViewScene sample. Humanoid.fbx file is already in centimeter so the sample does no conversion by default. To reproduce the issue, simply force conversion to FbxSystemUnit::Inch for example. This gives the following result:
Affected joints seems to be the one with pre/post rotation (as seen in MotionBuilder). I tried to disable mConvertRrsNodes option but it has no effect.
I wonder to know if this is a misuse FbxSystemUnit conversion fonction? Or what could be the way to properly handle conversions?
Thanks,
Guillaume
I have not had good results from ConvertScene. I do the conversions myself.
Hi,
I decided to implement conversion by myself as I needed to bake unit and axis conversion on my data (matrices, keyframes, vertices). This works fine and solves the issue with humanoid.fbx as well.
I think it confirms that there's a problem with FbxSystemUnit::ConvertScene, which would be great to fix for everyone who doesn't want to dig too much into this.
For those who'll be interested, they'll find here the declaration of the helper object FbxSystemConverter I've implemented to handle system conversion. Implementation is available there.
Hope it helps,
Guillaume
I encountered the same issues with FbxSystemUnit::ConvertScene and FbxAxisSystem::ConvertScene, both two functions have issues with a few scenes, I have to converted rotations and scaling by code, and it worked.
Can't find what you're looking for? Ask the community or share your knowledge.