Doing Half the Work with the Blender Mirror Modifier

By Jason van Gumster

Fortunately, as a 3D computer artist, you don’t have to go through a lot of trial and error when trying to create two symmetrical halves. You can have the computer do the work for you. In Blender, you use the Mirror modifier (Modifiers Properties→Add Modifier→Mirror). The figure shows the buttons and options available for this modifier.

The Mirror modifier.
The Mirror modifier.

The Mirror modifier basically makes a copy of all the mesh data in your object and flips it along its local X-, Y-, or Z-axis, or any combination of those axes. The Mirror modifier also has the cool feature of merging vertices along the center seam of the object so that it looks like one unified piece. By changing the Merge Limit value, you can adjust how close vertices have to be to this seam in order to be merged.

The X, Y, and Z check boxes dictate which axis or axes your object is mirrored along. For most situations, the default setting of just the local X-axis is all you really need. Enable the Clipping check box. This option takes the vertices that have been merged — as dictated by the Merge Limit value — and locks them to the plane that your mesh is being mirrored across.

That is, if you’re mirroring along the X-axis, then any vertices on the YZ plane are constrained to remain on that plane. This feature is great when you’re working on vehicles or characters where you don’t want to accidentally tear a hole along the center of your model while you’re tweaking its shape with the proportional editing (O) enabled. Of course, if you do have to pull a vertex away from the center line, you can temporarily disable this check box.

The next check box is labeled Vertex Groups. You can assign vertices in a mesh to arbitrary groups, known as vertex groups, which you can designate in Mesh Properties, as shown here.

Vertex groups are created with the Mesh Properties.
Vertex groups are created with the Mesh Properties.

The most basic way to create vertex groups and assign individual vertices to a group is as follows:

  1. Left-click the plus (+) icon to the right of the list of vertex groups in Mesh Properties.

    A new vertex group named Group appears in the list box.

  2. From Edit mode, select some vertices in your mesh and press the Assign button below the vertex group list.

    You now have a vertex group with a set of vertices assigned to it.

Here’s how the Vertex Groups check box in the Mirror modifier works: Say that you’ve selected some vertices and assigned them to a group named Group.R, indicating that it’s the group for some vertices on the right-hand side. And say that you’ve also created another group called Group.L for the corresponding vertices on the left-hand side, but because you have not yet applied the Mirror modifier, you have no way to assign vertices to this group.

Well, if you have the Vertex Groups check box enabled, the generated vertices on the left side that correspond with the Group.R vertices are automatically assigned to Group.L. You don’t even have to apply the modifier to get this result! This effect propagates to other modifiers that are based on vertex group names, such as the Armature modifier.

The U and V check boxes under the label of Textures in the Mirror modifier do the same kind of thing that the Vertex Groups check box does, but they refer to texture coordinates, or UV coordinates.

The simplest explanation is that UV coordinates allow you to take a flat image and map it to a three-dimensional surface. Enable these buttons on the modifier to mirror the texture coordinates in the UV/Image Editor and to possibly cut your texture unwrapping time in half. To see the results of what these buttons do when you have a texture loaded and your model unwrapped, bring up the Properties region in the UV/Image Editor (View→Properties or N) and left-click the Modified check box. Hooray for nondestructive modifiers!

The last option in the Mirror modifier is the object datablock field at the bottom labeled Mirror Object. By default, the Mirror modifier uses the object’s origin as the basis for what to mirror. However, by clicking in this field and choosing the name of any other object in your scene, you can use that object’s origin as the point to mirror across.

With the Mirror Object feature, you can use an Empty (or any other object) as a kind of dynamic origin. With a dynamic origin, you’re able to do fun things like animate a cartoon character splitting in half to get around an obstacle (literally!) and joining back together on the other side.

Blender’s text fields have integrated search, which means that you can type the first few letters of an object’s name and if the name is unique, Blender displays a list of objects in your scene that match what you’ve typed.