Skip to content

Match methods

Three ways to find the face on the other side. They differ in what they need from the mesh, and in what they survive.

Mode Matches through Needs Survives
Spatial (default) Mirrored face-centre positions A mesh that is geometrically symmetric A different face order; two separate meshes
Topology (Maya Symmetry) Maya's own symmetric modelling Symmetry switched on in Maya Whatever Maya's symmetry survives — including a posed mesh, if seeded topologically
Topology (Seam Seed) A walk of the mesh's own topology from its seam A symmetric topology and a seam edge on the plane Deformation, posing, a mesh that is nowhere near symmetric in space

Spatial

Mirrors every face centroid across the plane and looks up what lands there.

This is the default because it needs no setup at all, it is linear in face count (a uniform grid keyed at the tolerance, not a scan of every face against every other), and it is the only mode that can mirror between two separate meshes.

Use it when:

  • the mesh is in its modelling pose, or at least symmetric in space;
  • you are mirroring L_arm_geo onto R_arm_geo;
  • you do not know anything about the mesh's history.

It fails when the two sides are no longer in mirrored positions — a posed character, a mesh with an asymmetric blend shape applied, a sculpt that drifted. Check Symmetry tells you that before you commit.

Topology (Maya Symmetry)

Hands the question to Maya's own symmetric modelling, through cmds.select(..., symmetry=True).

Whatever seam Maya has been seeded with is respected, including topological symmetry, which is what makes this the answer for a mesh that is symmetric in topology but posed asymmetrically.

The page grows two extra controls in this mode:

Control Does
Enable Maya Symmetry Switches symmetric modelling on with the axis and space set above.
topological Seeds Maya's symmetry from the mesh topology rather than from world space.

If symmetry is off, the mirror does nothing and says so — it does not fall back to matching by position behind your back.

Why topoSymmetry is only sent when it is on

Sending topoSymmetry=0 alongside symmetry=1 re-seeds Maya's symmetry and leaves it switched off again. The command reports success either way, and the next query says symmetry is disabled — exactly the sort of silent no-op that makes a mirror button look broken. The flag is only ever sent when it is true.

Topology (Seam Seed)

Finds a seam edge on the mirror plane and walks the mesh's own topology outward from it, matching face loops pair by pair with a breadth-first traversal.

Geometry is consulted once, to find the seed. After that the pairing is pure topology, so it keeps working on a mesh that has been deformed far away from its symmetry plane.

How the seed is found: an edge whose two vertices both sit on the mirror plane (within the tolerance) and whose two adjacent faces are on opposite sides of it. Of the candidates, the one whose faces sit furthest from the plane wins — a near-degenerate pair straddling the seam is the easiest place for the walk to mis-align.

From there, each matched pair of faces is aligned by its shared edge and the walk steps outward across every edge of the pair at once. Mirroring reverses winding, so the second loop is traversed backwards — but that direction is derived from a second known vertex correspondence rather than assumed, so a mesh with flipped normals on one side still maps correctly.

If a region disagrees with itself — an asymmetric piece of topology — those pairs are counted as conflicts and reported rather than being forced.

If there is no seam edge to seed from (an odd-numbered face loop across the plane, or a mesh with a gap there), the mode says so in the result line and falls back to spatial matching.

Which topology mode?

Maya Symmetry if you already have symmetry set up and working in Maya — it is the same seam you are modelling with. Seam Seed if you do not, or if you want the mirror to work in a batch script with no viewport and no tool state.

Cross-mesh mirroring

Independent of the three modes: with Mirror onto the counterpart mesh on, a mesh with an opposite-side twin by name mirrors onto that twin instead of onto itself, matching by position in world space.

This is how a character built as separate L_ / R_ pieces gets a landmark pass mirrored — the source mesh has no "other side" of its own, so every face on it is a source.

Choosing, in one paragraph

Start on Spatial. If Check Symmetry reports a clean match, you are done thinking about it. If it does not, and the mesh is posed rather than genuinely asymmetric, switch to a topology mode. If the two sides are separate meshes named L_ and R_, leave the counterpart option on and stay on Spatial.