This Mirror Geometry window can copy the positions of geometry points (vertices, CVs, etc.) from one side of an object to the other. The object will be 100% symmetrical after this operation. You can also flip the sides, so that the left looks like the right and vice versa.

Here are some examples for which situations this program can be useful:

  • When modeling Blend Shape targets or BCS dataPoints that should be symmetrical.

  • To convert, e.g., a left smile Blend Shape target into a right smile Blend Shape target (not needed for the BCS).

  • When modeling a target or dataPoint geometry on both sides and you like one side better than the other.

  • When you want to make the object symmetrical but you like both sides. Using the blend feature with a high value (e.g. 10), you can make the object symmetrical without preferring any side. They’re changed both!

The Blend Range

A special feature when copying from one side to the other is to have a certain region where the mirroring is not done strictly from one side to the other. Instead, the positions of the points on both sides are taken into the calculation. This avoids ugly corners that could result when the points in the center of the object are heavily asymmetrical.


Here are some example images demonstrating the different mirroring operations:

Asymmetrical Object(A) Flip

(B) Blend: 0.0(C) Blend: 0.2(D) Blend: 10


Image (B) shows the result of mirroring the object from left to right (i.e., the face’s left and right side) with no blending. Notice that there is a corner in the center row of the top lip vertices. Image (C) shows the same mirroring but with a blend value of 0.2. Here, the corner is less pronounced. In image (D), you see the result of a blend value of 10. The right and left sides have made a compromise and each has been changed a little. Image (A) shows the Flip operation.

Since (B), (C), and (D) have been created using a position copying operation (left to right or right to left), they all show 100% symmetrical objects. However, flipping the sides (image (A)) does not result in a symmetrical object.

The Symmetrical Object

For the plugin to know which left point belongs to a right point, it has to be given a symmetrical object it can use to find these point pairs. This object has to be structurally identical to the mirrored object, just not asymmetrical. This means that you should keep a copy of the object in its symmetrical state before starting to model the shape.

If you use a bcs to deform an object, the bcs node contains the shape of the neutral (input) geometry. When this geometry is symmetrical, the bcs can be used as the symmetrical object. You don’t even have to specify any symmetrical object when the mirrored object is dataPoint geometry, because the plugin can find out to which bcs node it belongs.

Mirroring Relative vs. Absolute

This is only relevant for (absolute) dataPoint geometry of a combination dataPoint or a dataPoint with a non-zero pureMix (e.g., an inbetween dataPoint on a layered wPos). In these cases, you can decide whether you want to do a mirroring of the object as you see it in the scene. This would be absolute mirroring. If, however, the pureMix of the dataPoint isn’t symmetrical, you might want to keep the inherited asymmetry. This can be achieved by mirroring the relative data of the dataPoint.

Note that an object that was mirrored relatively is not symmetrical when its dataPoint’s pureMix isn’t symmetrical.