• Advertisement
Sign in to follow this  

Questions about bone orientations in Matrix Palette Skinning

This topic is 1844 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am currently adding the option to import many 3D file formats into our engine.  Collada/FBX/etc.  Some formats like Collada explicitly give a bone Matrix/Orientation like so:

 

<node name="leg_left_toes" id="leg_left_toes" sid="leg_left_toes" type="JOINT">

<matrix sid="matrix">1.000000 0.000000 -0.000000 0.135309 -0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 -0.000000 0.000000 0.000000 0.000000 1.000000</matrix>

 

While others only give a position and then just give xyz translation for each bone:

 

spine lower
1 //This is a joint index
0 1.06035 -0.00128843

 

In formats where there is only a position when they are imported into Max/Maya/Motionbuilder they somehow recalculate the same orientations.  

 

A) How can you get the bone orientations from a list of positions?

B) From what I can tell it looks like it has to do with their children bones with a single child simply point their X-Axis to their child, but what about bones with multiple children (Like the Hips in most skeletons)?  Or no children (Like fingertips)?

C) Why do all of these toolsets choose to face the X axis to the child/children?  I would figure Z would be the most natural choice.  Easy mirroring perhaps?

 

Thank you in advance to all who help =).  

Edited by jchmack

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement