Sign in to follow this  

Bones and Skin question

This topic is 2006 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So I am using the Assimp library to load my geometry that i create with 3dsmax. I have the ability to load meshes at this point but now i want to load a bone system as well. I have a scene graph that I have put together that will move through the children of the scene recursivly multiplying their translation matrices with their parent the scene. and it works just fine. I have made a robot and can move him around and save animation that i am interpalating with "slerp". any ways I wish to parse the bone and mesh structure using the open Assimp library but i am confused about how the bone structure works. I understand the joints and the transformation of that but the bones i am not understanding. when loading a mesh that has bones are the bones just a representation of all of the verts of the mesh that are between joints and are affected by the joints translation or are the bones something that is actually an object. my scene graph has two types of nodes i have set up. transformationNodes and ShapeNodes. the transformation nodes are for the joints and the shape nodes are for geometry between joints. would I just treat the bones structure as if it is my shapeNodes or is it to be thought of as something completely different? I hope this made sense. I guess in general i am asking how does one use think about and used the bone structure of the open Assimp library? i have read extensivly on the subject on the documents they provide but i am still left scratching my head.

Share this post


Link to post
Share on other sites
[quote name='greenzone' timestamp='1339726041' post='4949394']
So I am using the Assimp library to load my geometry that i create with 3dsmax.[/quote]
I am using Assimp to load Collada files, but I think my comments should still be valid. Actually I got it all working first time yesterday.
[quote]...any ways I wish to parse the bone and mesh structure using the open Assimp library but i am confused about how the bone structure works.[/quote]
Welcome to the club. This picture can help a little:
[img]https://lh6.googleusercontent.com/-5KWxBn1P_vI/T9sXCn7AixI/AAAAAAAAETM/wG2Efqf4wNA/s512/Assimp.png[/img]
[quote]I understand the joints and the transformation of that but the bones i am not understanding. when loading a mesh that has bones are the bones just a representation of all of the verts of the mesh that are between joints and are affected by the joints translation or are the bones something that is actually an object.[/quote]
The aiBone are the bones that are used for animating a specific mesh.
[quote]my scene graph has two types of nodes i have set up. transformationNodes and ShapeNodes. the transformation nodes are for the joints and the shape nodes are for geometry between joints. would I just treat the bones structure as if it is my shapeNodes or is it to be thought of as something completely different?[/quote]
That sounds reasonable. The shape nodes would then be based on the aiNode tree, and the transformationsNodes are the result from aiNodeAnim.
[quote]I guess in general i am asking how does one use think about and used the bone structure of the open Assimp library? i have read extensivly on the subject on the documents they provide but i am still left scratching my head.
[/quote]
To do an animation, you use the data in aiNodeAnim. That will animate all bones, even if they are not used by any mesh. When you animate a mesh, you will use a subset of the bones.

Share this post


Link to post
Share on other sites
Ok i actaully have another question about the diagram you show here. How do i store names of all these things if i dont want to use the assimp types outside of just loading the scene. I want to load the scene and all the valuse but in to my own classes and then discard assimp or use assimp in a seperate program and then take the raw info gathered and port that to my program. how do i store a name of a bone or a mesh or a channel?

Share this post


Link to post
Share on other sites

This topic is 2006 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this