Jump to content

Bone Matrices


Xeonzinc
 Share

Recommended Posts

Hi,

 

I'm trying to debug why my mesh is not getting deformed as is should be, and am trying to work back to understand which transformation of the vertex is causing the distortion.

 

On a bone i can see what appear to be 4 transformation matrices. Can anyone explain the difference between:

 

•base matrix

•absolute matrix

•matrix

•world transform

 

I don't entirely understand which of these gets used by a mesh vertex which is weighted to it?

Link to comment
Share on other sites

From the shader perspective, worldMatrix is multiplied by (m1 + m2 + m3 + m4) where mx is a weighted bone matrix

 

This matrix is computed from bone matrix by multiplying it bye bone influence (stored in the vertex itself)

 

The bone matrix is computed like this bone.invertedAbsoluteTransform * bone.worldMatrix. This is the bone local matrix

 

So at step 0, if the bone has no parent then bone matrix = identity. Then at step 1 (after an animation for instance), the bone matrix will contain ONLY the local difference between step 0(The initial pose) and step 1

 

 

Does it make sense?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...