0
$\begingroup$

I've modeled a character that I want to rig. Various parts of the character are mirrored (e.g. left and right arms), so I want to at least partially link them to make iterating on the model easier (that is, to make sure that modifying one modifies the other: vertex data, modifiers, materials, etc).

If I try using instancing to do the linking (that is, grouping one arm together, and making the other arm an instance of that group), any pose change applies to both arms.

If I try sharing the mesh datablock only, the problem remains the same, as the vertex groups (which define which bones have influence on the mesh) are shared.

Is there no way to avoid duplicating the two similar objects?

$\endgroup$
1
$\begingroup$

You should be able to use the mirror modifier here.

It has an option for mirroring vertex weights.

It uses the standard mirroring name convention (like bones, so it works fine with rigging). Basically if a vertex has weight 0.6 in group.L, its mirrored copy will instead have a weight of 0.6 in group.R. By creating empty groups for the mirrored side it is quite easy to rig one side and have it cleanly mirrored.

$\endgroup$
  • 1
    $\begingroup$ This works perfectly, thanks! Of note, it looks like you need to create an empty group for the mirrored vertex weights to properly be generated; for my mesh which only had an "Arm.L" group for instance, I needed to create an empty "Arm.R" group for things to work. $\endgroup$ – Cykelero Sep 7 '17 at 7:30

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.