I get that there's multiMeshInstance, but let's say I wanted to animate 1000+ soldiers with skeletal animations. Trying to do this the standard way isn't very feasible even with LOD, culling, and imposter sprites, because the game will fall over if all the units are in close proximity. I'm going to try to see if I can take an existing opengl instancing demo and apply it to godot somehow.

AFAIK no skeletal animation is not handled on the GPU(yet). This statement comes with the caveat that this particular subject is not really my specialty. I'm a 3D artist with some familiarity with writing shaders, but I'm no animator or rigger for that matter.

If you look at https://github.com/godotengine/godot/blob/master/drivers/gles3/shaders/scene.glsl you'll see that Godot is actually writing out the bone transformations into a skeleton_texture which is being rendered by the gpu. Then each vertex is being updated by a transformation that is built by texelFetch of the skeleton texture. So theoretically one could expand on that texture to have lookups for each frame of animation in the texture as well (with certain memory limits on the size of the animation encoded into the texture). That would then make it capable of having essentialy animated mesh particles at that point.

Yeah, so this is an core/engine level issue. You should take it to github issue tracker and/or irc to discuss.

@pgruenbacher said: I get that there's multiMeshInstance, but let's say I wanted to animate 1000+ soldiers with skeletal animations. Trying to do this the standard way isn't very feasible even with LOD, culling, and imposter sprites, because the game will fall over if all the units are in close proximity. I'm going to try to see if I can take an existing opengl instancing demo and apply it to godot somehow.

For higher game requirements you seem to need,why would you switch to Godot and loose functionality ? Godot 3 is on the very beginnings. What is your game about ?

@MagicLord I'm hobbyist, so I haven't used any of the premium game engines, so it's not like I'm switching from unity. I just noticed the unity docs when researching. I'll actually share a video demo on reddit / here at some point. I thought I might crowd-source the development of the game at some point which can be made a lot easier if using open-source game engine.

also I got much better performance by merging my soldier actor into a single mesh and texture. It originally had 12 separate materials and 6 meshes for each unit, but I merged together with blender.

5 years later