Houdini 21.0 Nodes Geometry nodes

Rig Match Pose geometry node

Conforms the rest poses of two skeletons in preparation for retargeting.

On this page
Since 18.5

This node allows you to create a pose on both of the input skeletons. The poses are stored in the matrix point attribute specified in the Attribute Name parameter. Typically, this is part of the animation retargeting process where offsets are computed between two skeletons.

The First Output and Second Output parameters allow you to specify whether the pose is written directly to the geometry or attached as an attribute without modifying the input transforms.

State

Rig Match Pose state toolbar

Translate

If a joint is selected and you change this setting, the new option is applied to the joint. If a joint is not selected, the current option is applied to the next joint you click.

Enable

Lets you translate the joint.

Lock

Locks the Translate parameter for the joint and hides its transform handle in the viewport.

Lock and Hide

Locks and hides the Translate parameter for the joint in the parameter editor, and hides its transform handle in the viewport.

Rotate

If a joint is selected and you change this setting, the new option is applied to the joint. If a joint is not selected, the current option is applied to the next joint you click.

Enable

Lets you rotate the joint.

Lock

Locks the Rotate parameter for the joint and hides its transform handle in the viewport.

Lock and Hide

Locks and hides the Rotate parameter for the joint in the parameter editor, and hides its transform handle in the viewport.

Scale

If a joint is selected and you change this setting, the new option is applied to the joint. If a joint is not selected, the current option is applied to the next joint you click.

Enable

Lets you scale the joint.

Lock

Locks the Scale parameter for the joint and hides its transform handle in the viewport.

Lock and Hide

Locks and hides the Scale parameter for the joint in the parameter editor, and hides its transform handle in the viewport.

Mode

If a joint is selected, this lets you switch between the different transformation modes. If a joint is not selected, this sets the mode for the next joint you select.

Pre-Multiply

The transformation is applied on top of the input pose. This is analogous to treating any input local transformations as an object node’s pre-transform.

Post-Multiply

The transformation is applied in between the input point’s parent transform and its local transform. This is analogous to modifying the pre-transform of an object node. This mode is especially useful if you want to reproportion an animated input using simple translations without compromising any input motion, effectively moving the pivot for the point’s animation.

Override

The transformation completely overwrites any input local transforms on the points. This is useful if you want to 'zero out' any input animation, or if you are working with the Bake options on the Rig Pose SOP.

From Rest Pose

The transformation behaves like Pre-Multiply, but any input animation is replaced by the pose specified in the Rest Pose Attribute parameter. This is useful if you want to revert a point’s transform to a 'rest pose' rather than zero out the local transform as in the Override option.

Rig Match Pose state context menu

Bring up the context menu by clicking in the Rig Match Pose viewer state.

Post Multiply

When turned on, sets the current point’s Mode to Post-Multiply. When turned off, sets the current point’s Mode to Pre-Multiply.

Hide Rig Whilst Posing

When turned on, the skeleton and any controls are hidden when you actively manipulate a point.

Focus Selected in Parameter Editor

When turned on, centers the Transformations multiparm entry for the currently selected point in the parameter editor.

Filter Selected in Parameter Editor

When turned on, the list of Transformations multiparms in the parameter editor is automatically filtered so that only the multiparm for the selected joints appear.

Display Joints

When turned on, all the joints are shown in the viewport.

Display Joint Axes

When turned on, all the x, y, and z axes for each point are shown.

Show Geometry

When turned on, shows the poly lines that connect the joints in the skeleton hierarchy.

Show Joint Data

When turned on, displays the world and local transformation data for the selected joint in the viewport.

Parameters

Pose Destination

Attribute Name

The name of the point attribute to store the pose. This pose is stored on both outputs.

First Output

Specifies whether to write the pose directly to the first output geometry or attach the pose as an attribute without modifying the input transforms.

Matched Pose

Stores the pose set by the Transformations multiparm on the point attribute in Attribute Name. This also sets the pose as the current pose on the first output.

Pass Through

Stores the pose set by the Transformations multiparm on the point attribute in Attribute Name, but maintains the first input’s current pose or animation.

Second Output

Specifies whether to write the pose directly to the second output geometry or attach the pose as an attribute without modifying the input transforms.

Matched Pose

Stores the pose set by the Transformations multiparm on the point attribute in Attribute Name. This also sets the pose as the current pose on the second output.

Pass Through

Stores the pose set by the Transformations multiparm on the point attribute in Attribute Name, but maintains the second input’s current pose or animation.

Match Size

Apply Transform To

The input to apply the global scaling to. Depending on the topology of your network, you may want to match the Source Skeleton to the Target Skeleton or vice versa.

Transform Delta Attribute

The detail attribute that stores the global transform applied to the first input. Typically, this is reversed after the retarget is performed in order to return the character to its original “space”. The Transform By Attribute SOP can be used to do this.

Enable Match Bounds

When turned on, performs an initial bounding box match for the two inputs, modifying the first input to match the second.

Set Pivot from Bounds

When turned on, sets the pivot (used to transform the skeleton globally) from the bounding box. You can further adjust the pivot translation using the Scene Pivot parameter. Set Pivot from Bounds is available when Enable Match Bounds is turned on.

Target Group

When Enable Match Bounds is turned on, this is the point group on the first input that is used to perform the match. This can be useful if you want to exclude root points or points for props that protrude from the main skin of the character.

Reference Group

When Enable Match Bounds is turned on, this is the point group on the second input that is used to perform the match. This can be useful if you want to exclude root points or points for props that protrude from the main skin of the character.

Rest Frame for Target

Reads the reference frame from the clipinfo detail attribute on the first input geometry, or sets a custom range.

Target Reference Frame

When Rest Frame for Target is set to Custom Frame, this is the frame of the target skeleton at which to perform the bounding box match. This is useful if the Target Skeleton input is animated.

Rest Frame for Source

Reads the reference frame from the clipinfo detail attribute on the second input geometry, or sets a custom range.

Source Reference Frame

When Rest Frame for Source is set to Custom Frame, this is the frame of the source skeleton at which to perform the bounding box match. This is useful if the Source Skeleton input is animated.

In addition to, or instead of, the initial bounding box matching, you can globally transform the skeleton using the below Scene* parameters or the transform handle in the viewport.

Scene Translate

Translation along the x, y, and z axes.

Scene Rotate

Degrees rotation about x, y, and z axes.

Scene Pivot

Pivot translation along x, y, and z axes.

Scene Uniform Scale

The scale factor.

Interaction

Enable Target

When turned on, allows you to edit the target skeleton in the viewer state.

Enable Source

When turned on, allows you to edit the source skeleton in the viewer state.

Tweak Pose

The two sets of multiparms (Transformations and Ref Transformations) store the changes to the poses of the two input skeletons. These multiparms provide the same options as found on the Rig Pose SOP.

Destination Geometry

Transformations

This multiparm stores the pose for the skeleton on the left-hand input (see the Rig Pose SOP for details). In a typical retargeting workflow, this is the skeleton whose motion we want to match to the right-hand input.

Group

The point group that this multiparm instance is applied to.

Mode

Specifies how the transformation described by this multiparm instance is applied to the input.

Pre-Multiply

The transformation is applied on top of the input pose. This is analogous to treating any input local transformations as an object node’s pre-transform.

Post-Multiply

The transformation is applied in between the input point’s parent transform and its local transform. This is analogous to modifying the pre-transform of an object node. This mode is especially useful if you want to reproportion an animated input using simple translations without compromising any input motion, effectively moving the pivot for the point’s animation.

Override

The transformation completely overwrites any input local transforms on the points. This is useful if you want to 'zero out' any input animation, or if you are working with the Bake options on the Rig Pose SOP.

From Rest Pose

The transformation behaves like Pre-Multiply, but any input animation is replaced by the pose specified in the Rest Pose Attribute parameter. This is useful if you want to revert a point’s transform to a 'rest pose' rather than zero out the local transform as in the Override option.

Transform Order

The left menu specifies the order in which the transforms are applied (for example, scale, then rotate, then translate). This can change the position and orientation of the object in the same way that going a block and turning east takes you to a different place than turning east and then going a block.

The right menu specifies the order to rotate around the X, Y, and Z axes. Depending on the character, certain rotation orders can make character joint transforms easier to use.

Translate

Translation along the X, Y, and Z axes.

Rotate

Degrees rotation about the X, Y, and Z axes.

Scale

Non-uniform scaling about the X, Y, and Z axes.

Pivot

Pivot Translate

The pivot translation along the X, Y, and Z axes.

Pivot Rotate

The pivot rotation about the X, Y, and Z axes.

Source Geometry

Ref Transformations

This multiparm stores the pose for the skeleton on the right-hand input (see the Rig Pose SOP for details). In a typical retargeting workflow, this is the animated skeleton whose motion we want to apply to the left-hand input’s skeleton.

Group

The point group that this multiparm instance is applied to.

Mode

Specifies how the transformation described by this multiparm instance is applied to the input.

Pre-Multiply

The transformation is applied on top of the input pose. This is analogous to treating any input local transformations as an object node’s pre-transform.

Post-Multiply

The transformation is applied in between the input point’s parent transform and its local transform. This is analogous to modifying the pre-transform of an object node. This mode is especially useful if you want to reproportion an animated input using simple translations without compromising any input motion, effectively moving the pivot for the point’s animation.

Override

The transformation completely overwrites any input local transforms on the points. This is useful if you want to 'zero out' any input animation, or if you are working with the Bake options on the Rig Pose SOP.

From Rest Pose

The transformation behaves like Pre-Multiply, but any input animation is replaced by the pose specified in the Rest Pose Attribute parameter. This is useful if you want to revert a point’s transform to a 'rest pose' rather than zero out the local transform as in the Override option.

Transform Order

The left menu specifies the order in which the transforms are applied (for example, scale, then rotate, then translate). This can change the position and orientation of the object in the same way that going a block and turning east takes you to a different place than turning east and then going a block.

The right menu specifies the order to rotate around the X, Y, and Z axes. Depending on the character, certain rotation orders can make character joint transforms easier to use.

Translate

Translation along the X, Y, and Z axes.

Rotate

Degrees rotation about the X, Y, and Z axes.

Scale

Non-uniform scaling about the X, Y, and Z axes.

Pivot

Pivot Translate

The pivot translation along the X, Y, and Z axes.

Pivot Rotate

The pivot rotation about the X, Y, and Z axes.

Inputs

Target Skeleton

In a typical retargeting workflow, the skeleton that the animation is transferred onto.

Source Skeleton

In a typical retargeting workflow, the animated skeleton whose motion to transfer to the skeleton on the first input.

Outputs

Target Skeleton

The skeleton on the first input with the pose stored. The output pose depends on the setting in the first input.

Source Skeleton

The skeleton on the second input with the pose stored. The output pose depends on the setting in the second input.

See also

Geometry nodes