At the moment I’m working on a collada importer for xna. So far I am able to import models and draw their mesh(s) on screen. I have created a method to make the bones visable but I’m having a few problems with some models. The first model I used was a goblin which used matrices for its joints. The bones for this render no problem. The second model I tested was a model of mario whos Joints were made up of Trasnlates and rotates. From looking at the collada spec and the posts on here I have determined that to create transforms for each joint I need to make the Translates and rotates into matrices and then multiply them by each other in the order they were stored like so :
JointT = TranslateM * RotateXM * RotateYM * RotateZM
When do this and Draw the bones their positions don’t even come close to making a mario shape.
When I create the matrices for each Translate and rotate should they look like this :
X Y Z
<translate sid=“translate”>-0.010548 6.91145 0</translate> =
1,0,0,0
0,1,0,0
0,0,1,0
X,Y,Z,1
A B C D
<rotate sid=“jointOrientZ”>0 0 1 -87.7094</rotate> =
1,0,A,0
0,1,B,0
0,0,C,0
0,0,D,1