Mirror vertex groups


(yoff) #1

Just to be clear: I am talking about blender 2.53 beta here.

Ever tried the following?

  • you have an armature rig that you want to apply to a model
  • you build the model with the mirror modifier on
  • so you go beneath the mirror modifier and create vertex groups fitting the armature
  • you check “mirror vertex groups”
  • you add an armature modifier after the mirror modifier, pointing to the rig
  • you go into pose mode and move the bones around
  • the models go bonkers
    This behaviour has led people to conclude that “mirror vertex groups”
    simply does not work, and on this forum people have been advised to
    apply the mirror modifier, a bug report was even filed ([#21127] Vertex group mirrors not working).

It just so happens, though, that “mirror vertex groups” does in fact
work, it just assumes the existence of all the mirrored vertex
groups. So all one has to do is create empty vertex groups with
mirrored names (if you have a vertex group called thigh.L, you should
create one called thigh.R for the mirror modifier to populate).

The bug was clasified as a user error and closed.

It is perhaps a little unfair to call this a user error. After all, the
vertices for the mirror groups do not exist before the modifier, so
why should the vertex groups?

It seems that the modifier should generate those vertex groups, and
that it is a data structure limitation if this cannot be done easily
(in a way that the mirrored vertex groups only exist “after” the
modifier).

Also, it could be tedious to create vertex groups with mirrored names
if one has a complicated moel with many vertex groups in it. Clearly
this is a job for a script.

I have created a small patch, that adds a button that will generate
empty mirrored vertex groups. It is perhaps not the nicest ui, but
could eliminate some unnecessary confusion. It is found in the patch
tracker (Patch id: 23096).

I did it as a patch because that made most sense to me. If people
would rather want a script, it should be easy enough to produce. In
fact, I think someone already did…


(ptbbastos) #2

Good discovery you did. I had considered to use the mirror vertex groups option in the mirror modifier but I actually never did. Now I know that if use it I will have to create empty vertex groups for the mirrored ones. Or use the patch. Thanks a lot.


(yoff) #3

Hi ptbbastos, glad it could help someone :slight_smile: I am not sure if this is common knowledge by now, as it seems it has been working this way for some time. But it also seem to have confused people for some time, myself included. I actually set out to squash the bug, but then when I found it in the bug tracker, it was closed…