Rig instanced geometry to a single armature

Hi folks!

I’m wondering if someone could give me guidance about how to face this situation. Let me give some context before:

I’m modeling a spider bot that will be exported to a game engine (to be precise, UE). It’s more than likely that all its six legs will share the very same geometry.

So, Ideally I want to keep all geo of these legs being the same meanwhile they’re all weighted to different bones of the armature. It will be mostly a hard surface style rig, but it will also include some soft parts that should be weighted using gradients between bones.

I know that instanced geometry shares vertex group weights. I’ve also tried vertex weight edit modifier on each instance without luck. I’ve read some results elsewhere but they include the use of multiple armatures (I need a single armature for this to work BUT I can export different objects binded to the same armature).

Maybe If I try my hand using geometry nodes?


This isn’t something you should be instancing, at least, not at the point that you’re rigging it. Make the leg, possible instance that leg, finalize the mesh, make the instances real, rig it.

It is possible to do this, but it’s overly complicated and not what you should be doing. You don’t want a vertex weight edit; you want a vertex weight mix. For one leg, you add non-deforming LegGeneric to deforming VG Leg1. Deforming group should be first group listed in the modifier. Assign all parts of leg at weight 0 to all deforming groups so that they’re already assigned to the group.

During these hours I’ve found a solution using two modifiers for each vgroup x leg - I’ve tried to implement yours as involving a single modifier instead of two is absolutelly an advantage. But I couldn’t wrap my mind around your post very well.

Anyway, thank you so much for answering!


Here’s a quick file, demonstrating with linked duplicates:
mixWeights.blend (902.7 KB)

1 Like

Now I understand, I’m getting the same result as my solution, but you need to add an aditional armature and its modifier. Overall your’s feel better, and avoiding data transfer is definitively an advantage.

Thank you so much for your time!

The generic armature, and the object parented to it, are just to generate the autoweights. They don’t need to exist.