Importing complex rig with blend shapes
I'm posting here to share the results of the day of trial & error i've done today.
The context is simple: importing high-definition avatar containing a skeleton and a lot of blend shapes. Blend shapes are there to correct the glitches and imperfections due to skeleton animations.
I've started with the usual "better collada exporter" (the model is created in blender). After extensive tests, i discovered that there is a serious limitations on the vertex numbers importable as blend shapes with dae: the format behaves perfectly for low-poly geometries ( < 1k vertices ), but as soon I was trying to import large models with > 5k vertices and 2 / 3 blend shapes, the parsing of the file crashes one of the core classes, resulting in no mesh at all in the project.
glTF format has saved the day! Using the blender addon to generate it, this format is able to load > 15k vertices and 6 or 7 blend shapes. The godot implementation is not perfect: name of the blend shapes and bones is not imported and blend shapes are cumulatives (i'll propose a fix soon if it is not already done in the trunk), but it behaves like a charm. It's the first time i use this format, and i'm already fan of it!
glTF has also another big advantage over the dae: it uses binary format, reducing by 10 the disk size of the file and making the parsing much more efficient. Just give it a try and you will see
All the best,
tags: blend shapes, blender, import, format, gltf