As a part of enhancing my custom engine, I've been recently trying to integrate it with the assimp library which will allow me to load pretty much any asset. My main concern is about animated meshes and the storage of bone transforms.

I found out that assimp stores skinning data per mesh. For example, there is no way to access the bone offset matrices if you do not iterate on the meshes of the scene. I find that absolutely weird and counter-intuitive.

What if there are multiple animated meshes using the same armature. The skinning data (vertex weights and indices) should be different BUT the actual bone information (name and offset matrix) should be the same. I mean literally even the order of the bones on every mesh should be the same.

I built my engine so that bind/inverse bind matrices are saved per joint. But now I am confused. Is there something that I am missing completely which makes is necessary to allow for different bone transforms per mesh that use exactly the same joints?



You must log in to answer this question.

Browse other questions tagged .