Jump to content

  • Log In with Google      Sign In   
  • Create Account

Questions about bone orientations in Matrix Palette Skinning


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
No replies to this topic

#1 jchmack   Members   -  Reputation: 186

Like
0Likes
Like

Posted 04 February 2013 - 08:29 PM

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, 05 February 2013 - 12:35 AM.


Sponsor:



Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS