Quest for the Perfect Mirror

I have a character who is fully rigged, skinned, and driven - well, half of a character anyway.
My question is simple; how on earth do I mirror him (and incidentally, his armature setup)? I’ve been banging my head on this issue for awhile, but I can’t resolve it to my satisfaction. For the animation I need, only a perfect mirror will suffice.

The things that need to be mirrored are:

  1. All armature constraints and limits.
  2. Some shape keys - a few need mirror counterparts, others do not.

I thought doing a perfect mirror of an armature would be easy, but it is not. Any advice on this matter would be very welcome.
Oh. I included a little picture of my guy. Look into his soulful eyes, eyes that seem to say, “I would be so much happier, if only I weren’t using a cheapo mirror modifier,” and be inspired.


  1. I haven’t found a shorter way than cutting corners -copy&paste bone names, and then changing the .R or .L. Sorry no help there…

  2. With regards to mirroring shapes I believe there are some python scripts out there also - search posts by tolobán . The way I’ve used and pleased by the ease of use is described in Tony [Bugman2000] Mullen’s book on character design. It basically uses vertex groups - Leftside and a Rightside, to split the weight down the centre. The centre has a weight of 0.5 for both groups.

When making copies of shape keys, vertices’s are moved with X-mirror button on. Meshes must be exactly symetrical for this to work. Copies are then made of the ‘double shape’ and then split into a Leftaction affecting VertexGroup: Leftside and visa versa.

EDIT: The vertices’s directly in the centre of the mesh need to have a weight of 1 Assigned.

He looks to friendly.

Right. I tried to use a script for that. . . didn’t have external modules that the script required, or at any rate, it was having trouble recognizing the .getbone() extension for some reason.
I might have to play a little with Python.

:slight_smile: I didn’t figure that to be a problem, Mr. ZackTaylor.

Do some searching on armatures. I’m pretty sure there’s a tutorial somewhere that has you use a feature of blender to mirror the bones.

this is a kind of kooky suggestion…

you could make an armature for just one side of the mesh (lets say his L side). assign the verts to the corresponding bones. Then duplicate it (but make sure the actions you want it to have are linked to it.

Then in object mode scale it’s x -100, place it where it need to go for the R side. Paint the verts. and Viola, if the actions are linked it should mime the other armature identically when it accesses the NLA.

It sounds good in theory. Give it a shot without paintin the verts first to save ya time.

Decius, your kooky suggestion is not too bad. Actually, I broke down a few days ago and did something similar. . . all bone rolls on the mirrored side must be rotated by 180 degrees, which I did manually, but the end result is a perfect mirror.
Anyway, I have a working armature now - I just need mirrored shape keys.