Area :: Header
Interested in making Indie games?

Register for a Meet the Experts webinar with Digital-Tutors today!
Discussion Groups

FBX SDK

Reply
Member
dmail_1
Posts: 4
Registered: ‎07-02-2009

Converting scene coordinate system and other

302 Views, 6 Replies
07-13-2009 07:56 AM
Extra info: When a friend imported humonoid.fbx into 3ds max 2009 he found many errors which I thought I should post:

The following parent and/or ancestor node(s) is/are not part of the BindPose definition.
-Humanoid:LeftHips_Dummy
-Humanoid:Reference
-Humanoid:LeftArm_Dummy
-Humanoid:LeftShoulder_Dummy
-Humanoid:smileyfrustrated:pine_Dummy
-Humanoid:RightShoulder_Dummy
-Humanoid:RightHips_Dummy
-Humanoid:RightArm_Dummy

The relative matrix of the following link(s) do not match the one stored in the BindPose definition.
-Humanoid:Head
-Humanoid:Neck
-Humanoid:smileyfrustrated:pine2
-Humanoid:smileyfrustrated:pine1
-Humanoid:smileyfrustrated:pine

The following object(s) use a rotation limit mode that is not supported by 3dsmax (UseLimitsForRotationSpaceOnly). The rotation limits for the following node(s) will be ignored :
-Humanoid:smileyfrustrated:pine_Dummy
-Humanoid:LeftShoulder_Dummy
-Humanoid:LeftArm_Dummy
-Humanoid:RightShoulder_Dummy
-Humanoid:RightArm_Dummy
-Humanoid:LeftHips_Dummy
-Humanoid:RightHips_Dummy

The object(s) listed below use a transformation inherit mode that is not supported by 3dsmax (ScaleCompensate). The resulting transformation will be severly affected.
-Humanoid:LeftArmRoll
-Humanoid:LeftArm
-Humanoid:LeftUpLeg
-Humanoid:LeftIndex2
-Humanoid:LeftMiddle2
-Humanoid:LeftPinky2
-Humanoid:LeftRing2
-Humanoid:LeftShoulder
-Humanoid:LeftThumb2
-Humanoid:LeftThumb3
-Humanoid:LeftThumb_End
-Humanoid:Hips

The Initial position (or Initial Pose) of the skinned objects is missing. The plug-in will create a pose automatically but running the 'Assume Skin Pose' command may create unexpected results.


Now onto the axis problem
The following code:
 KFbxAxisSystem SceneAxisSystem = scene->GetGlobalSettings().GetAxisSystem()
KFbxAxisSystem OurAxisSystem(KFbxAxisSystem::eOpenGL)
if( SceneAxisSystem != OurAxisSystem )
{
OurAxisSystem.ConvertScene(scene)
}

when applied to humonoid does not get hit as the axis coordinate system is already right handed, yet when imported it is said that the up axis is Z? What is confusing is that it displays correctly in the default pose.
When I use a different model which is saved as right handed with the up axis being Z the convert code is hit, yet when displayed the up axis is still Z? Does this function not work?
I have tried the latest sdk(2010.0.2) and 2009.3.

Thanks.

edit:
If I am honest I find your SDK to be very frustrating and would much prefer if you would release the format or allow reverse engineering of the format.
Please use plain text.
Distinguished Contributor
jiayang.xu
Posts: 504
Registered: ‎04-21-2008

Re: Converting scene coordinate system and other

07-14-2009 12:40 AM in reply to: dmail_1
As for the 3ds Max warnings on humanoid.fbx, they are normal cause humanoid.fbx do not possess a bindpose, but yes, we should update this fbx file. Thanks for reporting.

As for the Axis problem, the humanoid.fbx is created under Y-up axis system, so it is normal the code above won't be hit.
Please check the Statistics section when you import humanoid.fbx by Max plugin:
File Axis Direction: Y-up ( The file is created under Y-up axis system )
File Units: Centimeters
----
System Axis Direction: Z-up ( Currently Max is using Z-up axis system, a conversion will happen )
System Units: Centimeters


Similarly, when you create a file in Z-up system and then try to import it to a eOpenGL axis system, conversion will happen.
Please use plain text.
Contributor
mpowers10000
Posts: 24
Registered: ‎08-22-2006

Re: Converting scene coordinate system and other

04-04-2012 02:57 PM in reply to: dmail_1
As for the 3ds Max warnings on humanoid.fbx, they are normal cause humanoid.fbx do not possess a bindpose, but yes, we should update this fbx file. Thanks for reporting.


2012 and still not fixed... ::sigh::
Please use plain text.
Distinguished Contributor
jiayang.xu
Posts: 504
Registered: ‎04-21-2008

Re: Converting scene coordinate system and other

04-05-2012 07:59 PM in reply to: mpowers10000
Sorry we missed that, just send email to notify the team about this.
Thanks for spending time to help us improve details.
Please use plain text.
Active Contributor
KaibaSeto
Posts: 28
Registered: ‎11-16-2010

Re: Converting scene coordinate system and other

04-20-2012 08:42 PM in reply to: mpowers10000
Is the RHS->LHS fixed in 2013.1?
Please use plain text.
Employee
RobertGoulet
Posts: 201
Registered: ‎03-13-2009

Re: Converting scene coordinate system and other

04-24-2012 09:20 AM in reply to: dmail_1
Nope, we haven't spent time fixing the RHS to LHS in 2013.1, mainly because there is work-around for this. I built a DirectX renderer on top of the FBX SDK and I didn't need to do this trick. The only thing I had to do was to change the culling direction in the rasterizer settings of DX11.
Robert Goulet, FBX Dev Lead
Please use plain text.
Distinguished Contributor
Numerator
Posts: 665
Registered: ‎02-19-2008

Re: Converting scene coordinate system and other

04-24-2012 12:33 PM in reply to: RobertGoulet
You can also multiply in a left handed conversion matrix.
Please use plain text.