Mirror Geometry
Result of a Mirror Geometry layout node
The Mirror Geometry node allows to mirror the geometry of affected Entities.
The Mirror Geometry node is applied on the geometry only, and its results won't be visible on nodes such as Posture and Rig.
Add node
- Drag the Mirror Geometry icon from the Nodes Library panel and drop it in the Layout Graph Edition panel
- Hit the Tab key in the Layout Graph Edition panel and select the Mirror Geometry option in the dropdown menu that appears
Mirror Geometry node in the Layout Graph Edition panel
Node parameters
Parameters are accessible by double-clicking on the node in the Layout Graph Edition panel:
Mirror Geometry node parameters
Name | Name of the node |
Active | Whether the node is active or not |
Mirror On Entity Pos | If true, the center of the mirror operation for each entity will be it's own position (local mirror). Otherwise, all entities will use the same mirror center position (world mirror) |
Mirror On Entity Ori | If true, the center of the mirror operation for each entity will be it's own orientation (local mirror). Otherwise, all entities will use the same mirror center orientation (world mirror) |
Mirror Offset Pos | Position offset to add to the mirror's center. If not using the Mirror On Entity Pos option, this is the unique mirror center position. |
Mirror Offset Ori | Orientation offset to add to the mirror's center. If not using the Mirror On Entity Ori option, this is the unique mirror center orientation. |
Use Reference Frame Index |
If set to true, a reference frame will be used to get all entity's position/orientation. If not, the mirror's center will be done on the entity's position/orientation of each frame (which means that the mirror's center may vary over time when an entity moves) Performance might be affected depending on this value. Check the Layout Editor Performances page for more information. |
Reference Frame Index |
The reference frame index to use to get the entity's position/orientation to use as mirror center Performance might be affected depending on this value. Check the Layout Editor Performances page for more information. |
Configuring the correct mirror parameters
Configuring the mirror can be more complicated than it seems at first tought.
With mirror on entity pos/ori OFF
When the mirror on entity options are off, the mirror acts like a giant mirror that would reflect entities like as in the real world:
Mirror plane: original entities are on the left (on poptool slots), mirrored entities are on the right.
The mirror plane has a null offset pos and ori, and is configured with mirror on entity pos and ori to Off.
The mirror can be moved and rotated thanks to the Mirror Offset Pos and Ori parameters:
Changing the Mirror Offset Pos on X axis | Changing the Mirror Offset Ori on Y Axis |
Note that like real mirrors, changing the offset on some axis has no effect on the reflection.
The mirror with mirror on entity pos/ori set to OFF is the simpliest to understand, but the drawback is that when using it on a lot of entities, they will all be moved in a way that is not always practical. Setting the Mirror on entity pos/ori to ON allows to mirror each entity on its own spot rather than relatively to a global mirror plane.
With mirror on entity pos/ori ON
When the mirror on entity options are on, then the node acts like each entity had its own dedicated mirror, centered on its pelvis:
Mirror plane: original entities are facing the camera (on poptool slots), mirrored entities are looking the opposite way.
The mirror plane has a null offset pos and ori, and is configured with mirror on entity pos and ori to On.
The mirrors can also be moved and rotated thanks to the Mirror Offset Pos and Ori parameters, but this time it's moved/rotated in the entity's coordinate system:
Reference frame for the mirror offset on entity pos/ori: Z up and X front |
Changing the Mirror Offset Pos on X axis | Changing the Mirror Offset Ori on Z Axis |
Note that here also, changing the offset on same axis has no effect on the reflection.
Using the reference frame index
The problem when using the mirror on entity pos/ori, is that as the entity is moving, the mirror is also moving, and this produce animation that are usually not desired:
Using a mirror on entity pos/ori on a moving entity, without reference frame index
To counter this effect, one can simply use a frame reference, and the position/orientation of the mirror during the whole timeframe will stay at the position/orientation at which the entity was during the given frame:
Reference frame index at 2 | Reference frame index at 200 |