Houdini 20.5 Nodes Geometry nodes

Rig Mirror Pose geometry node

Mirror a SOP skeleton’s pose.

On this page
Since 18.5

This node is used to mirror an input SOP skeleton’s pose.

Parameters

Group

The points to modify using the corresponding transform of the matched point stored in the Point Mirror Attribute.

Operation

Mirror Pose

Mirror the input pose.

Compute Mirroring

Simply compute the mirroring on the input skeleton without modifying any transforms. The created attribute can be consumed by downstream mirroring operations.

Compute Mirroring

Compute the mirroring of the input skeleton. You may wish to disable this if you have already computed or configured mirroring for this skeleton.

Point Mirror Attribute

The name of the attribute which will be created to contain the mirroring information. This will be a dictionary attribute containing the following keys:

{
    'reference': "ptnum" or the name of the attribute to reference (e.g. "name"),
    'value':     The value of the attribute specified in the 'reference' key or the point number of the mirrored point if 'reference' is "ptnum",
    'flipaxes':  An integer value that stores how the points were mirrored (__By Scale__ or __By Rotation__)
}

Compute Mirroring Options

Reference Attribute

The attribute whose value will be used to match the mirrored points by any downstream operations that support mirroring. The value entered here will be stored under the Point Mirror Attrib ['reference'] key. If left blank the point number will be used.

Rest Pose Source

Frame

Use the input pose at the given Rest Frame as the pose which shall be used for computing the mirroring.

Rest Pose Attribute

Use the given Rest Pose Attribute as the pose which shall be used for computing the mirroring.

Rest Frame

The frame containing the pose to be used for computing the mirroring.

Rest Attribute

The matrix attribute containing the pose to be used for computing the mirroring.

Symmetry Axis

When computing the mirroring use the specified axis as the mirror plane - e.g. if your character is facing down the Z axis in the given rest pose then you will very likely want to leave this at the default 'X' value, however if the character is facing along X, then changing this to Z will likely be the best choice.

Method

Position and Name Similarity

Search for the mirrored point using a combination of proximity and name similarity using the Levenshtein Distance. The results of this method are controlled using the Name Similarity Threshold and Position Threshold parameters.

From Names

Search for the mirrored point using a simple matching of names using the given Match and Mirrored tokens.

Name Similarity Threshold

Position Threshold

Token Position

Where in the point name to look for the tokens specified by the Match and Mirrored parameters. This will depend upon the naming scheme on the input, for example if the input names follow this kind of pattern:

left_upperarm, left_lowerarm, left_hand

Then we would set this to 'Start'. On the other hand, the following scheme would require this parameter to be set to 'End':

upperarm_left, lowerarm_left, hand_left

Match

The token on one half of the skeleton that corresponds to the Mirrored token on the other half.

Mirrored

The token on one half of the skeleton that corresponds to the Match token on the other half.

Compute Flip Axes From

User Defined

The axes to flip when performing a mirroring operation are explicitly set using the Flip Axes for Unmirrored Points and Flip Axes for Mirrored Points parameters.

Rest Pose

The axes to flip when performing a mirroring operation are inferred from the given rest pose. This is useful when the input skeleton has an inconsistent arrangement of joints as each mirrored pair will be inspected individually rather than coarsely grouped into 'mirroed' and 'unmirroed' points.

Flip Axes for Unmirrored Points

Which axes to flip on any unmirrored points when performing a mirroring operation.

Flip Axes for Mirrored Points

Which axes to flip on any points that have a correspond mirrored point when performing a mirroring operation.

Mirror Plane

Reflect Using

Mirror Plane

Mirror the input transforms through the plane defined by the Direction and Origin parameters.

Direction

The direction in which to perform the mirroring operation. This is visualized as the normal of the plane presented in the viewport.

Note

This parameter is disabled when Reflect Using is set to Mirror Point.

Origin

The origin of the plane used for mirroring.

Note

This parameter is disabled when Reflect Using is set to Mirror Point.

Reference Point

When Reflect Using is set to Mirror Point, this is the point on the input that will be used to define the plane used for mirroring.

Note

This parameter is disabled when Reflect Using is set to Mirror Plane.

Reference Point Axis

When Reflect Using is set to Mirror Point, this is the axis of the point specified in Reference Point that will be used as the normal of the mirroring plane.

Note

This parameter is disabled when Reflect Using is set to Mirror Plane.

Inputs

Skeleton

Outputs

Skeleton

See also

Geometry nodes