I'm trying to add skeletal animation to my engine and I'm importing meshes with assimp, but I think I misunderstood the skinned mesh concepts (or don't understand assimp).

When I import a model, everything works fine, regardless of mesh hierarchy. I'm using collada files.

Here's how the model should look if it was imported correctly:

Correct model

However, if I try to import skinned meshes, I get something really weird like this:

enter image description here

It happens because each mesh is imported without any local transform and everything stays in the wrong place/rotation.

But shouldn't the model stay the same as the first picture, because it should work even if it don't have a skinned mesh? Shouldn't the bone transform just be the offset matrix to convert from mesh space to bone space when using animation data to interpolate between key frames? I'm really confused.

I'm learning from Tutorial 38 - Skeletal Animation with Assimp.


1 Answer 1


After some time i found out that the problem was actually the assimp collada importer. It worked fine if the object had only one mesh, but if it had multiple i'd have the problem you see in the print.

I solved it by switching to FBX


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .