FBX SDK Not Converting Child Node Coordinate Systems

Posted by Al Bundy on Game Development See other posts from Game Development or by Al Bundy
Published on 2012-09-27T10:53:14Z Indexed on 2012/09/27 15:52 UTC
Read the original article Hit count: 420

Filed under:
|
|

I am trying to import a scene into my application from an fbx file.

In 3DS Max, the scene and it’s local translations are as follows:

Root (0, 0, 0)
'-Sphere001 (-15, 30, 0)
' '-Sphere002 (-2, -30, 0)
'   '-Sphere003 (-30, -20, 0)
'-Cube001 (35, -15, 0)

This is the code that I am using to get the translations of each node:

FbxDouble3 fbxPosition = pChild->LclTranslation.Get();
FbxDouble3 fbxRotation = pChild->LclRotation.Get();
FbxDouble3 fbxScale = pChild->LclScaling.Get();

When I try to import the scene, the first node from the scene is getting converted to a right handed system, using this conversion: (X, Z, -Y), but none of their child nodes are.

after importing the scene, the local translations I get are as follows:

Root (0, 0, 0)
 --Sphere001 (-15, 0, -30) - converted
 ----Sphere002 (-2, -30, 0) - not converted
 ------Sphere003 (-30, -20, 0) - not converted
 --Cube001 (35, 0, 15) - converted

Can anybody help me make sense of this?

Thanks

© Game Development or respective owner

Related posts about c++

Related posts about coordinates