Sign in to follow this  
pressgreen

Bones and Skin question

Recommended Posts

pressgreen    678
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
larspensjo    1561
[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
pressgreen    678
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

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