Joint Nodes


I’m building a COLLADA importer and just began work on importing skin controllers. As a first step, I tried to import the joint nodes from the Seymour.dae test file to get an idea of the layout of Seymour’s skeleton. I did this by placing a cube at the position of each joint node. However, I found that the locations of the cubes did not line up anywhere near where they should (i.e. l_hip joint node was nowhere near the left hip of Seymour’s geometry). The cubes were scattered almost randomly in space.

I even tried another 3D package that had a COLLADA importer and ended up with the same results.

Has anyone out there been able to successfully import the joint node hierarchy from Seymour.dae? Is it suppose to match up well with Seymour’s geometry?

Also, does anyone have any insights on what I might possibly be doing wrong? Perhaps I’ve misinterpreted the idea behind the joint nodes and how they are to be imported? If so, please correct me.

Thanks in advance,

Can you post examples of what you are doing from the test files you have created?

Are you traversing the scene graph properly? The joints aren’t anything special as far as COLLADA is concerned. They are just nodes in the scene graph with an attribute type=“JOINT”. The coordinate systems are relative to their parent node and the transform stack needs to be handled properly. Make sure you have those parts working correctly and you shouldn’t have any problems with the joints.

You can create a simple test with a cube or two and a few nodes to test that you are doing the node hierarchies correctly. It should be a lot easier to see whats going on with simpler data like that.


Hi Andy and Marcus,

Actually I was able to fix the problem. Previously, I was applying my transformations in the wrong order. I have fixed it now and Seymour’s skeleton aligns well with his geometry.