bone matrix: which one to use?


I’m trying to load a skeleton from a scene I exported using colladamax… I was able to get most of what I need, but I see that there are 2 matrices for each bone (or ‘joint’). One inside the <skin>, on the ‘INV_BIND_MATRIX’ list, and one on the <node> for the joint, inside the <visual_scene> (which is where I got the parent/child relationships for the bones).

Which one is the “rest” matrix for the bone? and is it in global space, or local (relative to the parent bone) ?



Hopefully your questions are answered in the new release notes! … _notes.pdf

I’d say try one and if it doesn’t work, try the other! I’m writing my own loader right now, and I’m almost at the stage you are at, I plan on trying it with both. Looks like the matrices in the <node>(s) are identical to the matrix corresponding to time 0 in the corresponding <animation> element. So I think the INV_BIND_MATRIX might always need to be multiplied by the <node> matrix to have the model at rest. Do you think this sounds about right?