Xeonzinc Posted September 27, 2014 Share Posted September 27, 2014 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? Quote Link to comment Share on other sites More sharing options...
GameMonetize Posted September 28, 2014 Share Posted September 28, 2014 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? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.