2
\$\begingroup\$

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.

\$\endgroup\$
0
\$\begingroup\$

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

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.