Houdini 20.0 Nodes Geometry nodes

Rig Pose geometry node

Pose and animate a SOP rig or skeleton.

On this page
Since 18.5

This node is used to modify the pose of the input SOP skeleton or rig. It accepts either a static or animated input.

Depending on the value specified in Mode, modifications to the pose are either applied in parent space (Post-Multiply), in the modified point’s own local space (Pre-Multiply, From Rest Pose), or they completely override any input animation (Override).

Modes and their applications

Pre-Multiply

This is the default mode. It is used to “pick up where you left off”, and layer transforms on top of the input. This is the most common mode to use for modifying the FK rotations of the input.

Post-Multiply

This mode is useful for reproportioning an input skeleton via translating the selected point, thereby changing the offset from the parent for the duration of the animation.

Override

This mode is useful when working with “baked” workflows where you want to perform edits directly on the animation curves using the animation editor. The values in the transform parameters replace any input animation for the given point.

From Rest Pose

This mode is useful when you wish to restore the pose of a given point to that found in the Rest Pose Attribute.

Motion path how-to

To...Do this

Add or remove a keyframe from a motion path

In the Rig Pose viewport state, do one of the following:

  1. ⌃ Ctrl + LMB click a location on the motion path to place a new keyframe.

  2. ⌃ Ctrl + ⇧ Shift + LMB click on the motion path keyframe you want to remove.

Adding and removing a keyframe from the motion path

Move a keyframe in time

  1. Move the mouse over a keyframe.

  2. MMB drag the keyframe forwards or backwards in time.

Note

If the input skeleton is animated, this will move the keyframe along the motion path as well as shift the keyframe in time.

Moving a keyframe along the motion path with the middle mouse button

Move a skeleton to a keyframe on the motion path

  1. In the Rig Pose state toolbar, turn on Jump to Keyframe.

  2. LMB click the motion path keyframe you want your skeleton to jump to.

Jump skeleton to keyframe location on a motion path

Transform a keyframe to manipulate the motion path’s trajectory or orientation

  1. Select the motion path keyframe you want to transform.

  2. LMB drag the keyframe to move its position. The rest of the motion path will warp with the moved keyframe.

  3. To change the orientation of the selected joint, use the motion path handle’s rotation manipulators to rotate the keyframe.

Moving a keyframe along the motion path

State

Rig Pose state toolbar

Translate

If you have a point selected and change this setting, the new option is applied to the point.

If you do not have a point selected, applies the current option to the next joint you click.

Enable

Lets you translate the point.

Lock

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

Lock and Hide

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

Rotate

If you have a point selected and change this setting, the new option is applied to the joint.

If you do not have a point selected, applies the current option to the next point you click.

Enable

Lets you rotate the joint.

Lock

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

Lock and Hide

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

Scale

If you have a point selected and change this setting, the new option is applied to the joint.

If you do not have a point selected, applies the current option to the next point you click.

Enable

Lets you scale the joint.

Lock

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

Lock and Hide

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

Mode

If you have a joint selected, let’s switch between the Mode parameter options on the node.

If you do not have a joint selected, sets the Mode for the next joint you select.

Motion Path

Displays an interactive motion path in the viewport state for the currently selected joint. For more information, see the motion path handle parameters window.

Note

Only motion path keyframes (not motion capture or motion clip keys) are editable from the motion path.

Jump to Keyframe

When turned on, interacting with a keyframe will move the skeleton to the keyframe position on the motion path.

Jump skeleton to keyframe location on a motion path

Open Bake Dialog

Opens the Rig Pose Baking controls dialog window.

Rig Pose viewport state hotkeys

Hotkey

Action

Q

Select the parent joint of the currently selected joint.

A

Select the first child joint of the currently selected joint.

Z

Select the next sibling joint of the currently selected joint.

⇧ Shift + Z

Select the previous sibling joint of the currently selected joint.

F

Turn on/off enforce transform.

⇧ Shift + F

Flip transform.

Rig Pose viewport state context menu

RMB click in the Rig Pose viewport state to bring up the context menu.

Post Multiply

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

Hide Rig Whilst Posing

When turned on, the skeleton and any controls are hidden when you are actively manipulating 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 joint(s) appears.

Enforce Transform Limits

When turned on, if your skeleton has any joints with defined rotation joint limits (as set up by the Configure Joints SOP node), then you will not be able to rotate those joints past their set limits when posing your skeleton with the Rig Pose handle in the Rig Pose viewport state. See Rotation limit handle viewport state visualizations for a demonstration of this behavior. You can also turn this option on/off per joint with the F hotkey.

Flip Transform Limit Guide

When turned on, for the current selected joint, flips the transform limits guide’s twist axis (first axis in the rotation order) visualization around and keeps the handle’s values the same. This makes it easier to see the rotation limits for hinge joints like elbows and knees. You can also turn this option on/off per joint with the ⇧ Shift + F hotkey.

Flipping the transform limits guide in the Rig Pose viewport state

Display Joints

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

Display Joint Axes

When turned on, all the X/Y/Z axes for each point are shown.

Show Geometry

When turned on, shows the poly lines that connect the joints into a hierarchy.

Show Joint Data

When turned on, displays all the world and local transformation data for the selected joint in the top left-hand corner of the viewport.

Rotation limit handle viewport state visualization

Turning on the rotation limit handle displays the transform limits guide in the Rig Pose viewport state.

If you used the Configure Joints SOP to set up rotation limits for any of the joints in your skeleton, then the transform limits guide visualizes those rotation limits per joint.

When using the Rig Pose handle to pose your skeleton, you can enforce these rotation limits per joint by turning on the Enforce Transform Limits option in the Rig Pose viewport state’s context RMB click menu or by pressing F.

Transform limits guide in the Rig Pose viewport state
Posing a shoulder joint that has rotation limits with the transform limits guide visible, Enforce Transform Limits = on, and locked Translate & Scale transform channels.

Motion path viewport state hotkeys

Hotkey

Action or Interaction

LMB drag

Select and move a keyframe, and have the rest of the keys along the motion path bend or warp their positions to stay with the moved keyframe.

⌃ Ctrl + ⇧ Shift + LMB click

Delete the keyframe.

⌃ Ctrl + LMB click

Add a keyframe to the motion path.

MMB drag

Move a selected key backwards or forwards through time along the motion path.

Motion path viewport state context menu

Select a joint to display the motion path for that joint. RMB click the motion path to bring up the context menu.

Timeline

When turned on, the motion path appears as a line with keyframe ticks (from motion capture and manual keyframes) that follows the trajectory or animation path of the currently selected joint.

Note

Only motion path keyframes (not motion capture or motion clip keys) are editable from the motion path.

Pre/Post

When turned on, the motion path appears as a line with keyframe ticks (from motion capture and manual keyframes) that follows the trajectory or animation path of the currently selected joint. The section of the path in front of the joint is dimmed, and the section behind the joint has the default brightness.

Velocity

When turned on, the motion path appears as a line with keyframe ticks (from motion capture and manual keyframes) that follows the trajectory or animation path of the currently selected joint. The colors along the motion path indicate the rate of change in position for the selected joint over time. Cool colors indicate a decrease in velocity, and warm colors indicate an increase in velocity.

Acceleration

When turned on, the motion path appears as a line with keyframe ticks (from motion capture and manual keyframes) that follows the trajectory or animation path of the currently selected joint. The colors along the motion path indicate the rate of change of velocity for the selected joint over time. Cool colors indicate a decrease in acceleration, and warm colors indicate an increase in acceleration.

Show Tangents

When turned on, the tangents of the keys of the active Translate parameter’s channels are displayed on each key. These can be manipulated to change the curve of the motion path between key poses.

Note

Since these are displayed as the tangents of the channels, they are most useful when creating a new animation.

Ribbon Mode

When turned on, the motion path appears as a wide solid shaded path or ribbon with keyframe ticks (from motion capture and manual keyframes) that follows the trajectory or animation path of the currently selected joint.

Ribbon motion path

Note

Only motion path keyframes (not motion capture or motion clip keys) are editable from the motion path.

Limit Number of Frames

When turned on, determines the number of frames that are visible on the motion path before and after the skeleton’s current frame.

Shows 5 frames before and 15 frames after the skeleton

Lock To Current Point

When turned on, the motion path stays locked on its current joint, and does not switch joints when you select other joints in the same skeleton.

Make Current Handle Settings Default for Session

Sets the current motion path handle’s parameters as the default for this Houdini session.

Revert Handle Settings To

Session Defaults

Reverts the motion path handle’s parameters to the default values for this Houdini session.

Tip

To copy one motion path handle’s parameters to another motion path, select Make Current Handle Settings Default for Session on the first motion path, and then select Revert Handle Settings To ▸ Session Defaults on the second motion path.

Restore Preference Defaults

Restores the motion path handle’s parameters to the values defined in the Houdini preferences (Edit ▸ Preferences ▸ Handles, Defaults tab).

Show Efficiency Warnings

When turned on, a warning is displayed when you manually alter the network above the motion path’s current node. The warning provides recommendations for ways to improve the efficiency of the motion path.

Handle Parameters

Motion path handle parameters window

From the motion path context menu, select Handle Parameters.

The motion path handle settings are also found in the Houdini preferences, Edit ▸ Preferences ▸ Handles, Defaults tab.

Note

Changing the Houdini preferences will not update the motion path handle for any existing Rig Pose SOPs in a hip file, but new Rig Pose SOPs will take the updated settings. Motion path settings can be reset to those in the Houdini preferences by RMB clicking on the motion path handle, and selecting Revert Handle Settings To ▸ Restore Preference Defaults.

Appearance

Color

Sets the default RGB color for the motion path. The default color is only visible when Visualization ▸ Timeline is selected.

Visualization

Timeline

When turned on, the motion path appears as a line with keyframe ticks (from motion capture and manual keyframes) that follows the trajectory or animation path of the currently selected joint.

Note

Only motion path keyframes (not motion capture or motion clip keys) are editable from the motion path.

Pre/Post

When turned on, the motion path appears as a line with keyframe ticks (from motion capture and manual keyframes) that follows the trajectory or animation path of the currently selected joint. The section of the path in front of the joint is dimmed, and the section behind the joint has the default brightness.

Velocity

When turned on, the motion path appears as a line with keyframe ticks (from motion capture and manual keyframes) that follows the trajectory or animation path of the currently selected joint. The colors along the motion path indicate the rate of change in position for the selected joint over time. Cool colors indicate a decrease in velocity, and warm colors indicate an increase in velocity.

Acceleration

When turned on, the motion path appears as a line with keyframe ticks (from motion capture and manual keyframes) that follows the trajectory or animation path of the currently selected joint. The colors along the motion path indicate the rate of change of velocity for the selected joint over time. Cool colors indicate a decrease in acceleration, and warm colors indicate an increase in acceleration.

Velocity Ramp

Sets the Velocity visualization color scheme for the motion path.

This option is only available when Visualization is set to Velocity.

Ribbon motion path with Velocity Ramp visualization set to Infra-Red

Acceleration Ramp

Sets the Acceleration visualization color scheme for the motion path.

This option is only available when Visualization is set to Acceleration.

Ribbon motion path with Acceleration Ramp visualization set to Two-Tone

Show Keyframe Numbers

When turned on, the frame numbers for the motion clip keyframes appear next to their corresponding keys on the motion path.

Keyframe numbers visible on the motion path

Highlight Current Frame

When turned on, an arrowhead is displayed at the position of the current frame.

Current frame marked by an arrowhead
Ribbon

Show Wide Path

When turned on, the motion path appears as a wide solid shaded path or ribbon with keyframe ticks (from motion capture and manual keyframes) that follows the trajectory or animation path of the currently selected joint.

Ribbon motion path

Note

Only motion path keyframes (not motion capture or motion clip keys) are editable from the motion path.

Show as Wireframe

When turned on, displays the ribbon motion path as a wireframe.

Wireframe ribbon motion path

Path Width

Sets the width of the ribbon motion path in Houdini units.

Left image with path width = 10; right image with path width = 20
Frames

Limit Number of Frames

When turned on, determines the number of frames that are visible on the motion path before and after the skeleton’s current frame.

Shows 5 frames before and 15 frames after the skeleton

Cycle Frames

When turned on, the displayed frames of the motion path loops the playbar’s range instead of being truncated.

Frames Before

The number of frames on the motion path that appear before the skeleton (past frames) during its animation.

Frames After

The number of frames on the motion path that appear after the skeleton (future frames) during its animation.

Show Frame Ticks

When turned on, all keyframe ticks appear on the the motion path line. This is useful when you only want to see your motion path keyframes and not the ticks from input motion capture or motion clips.

This option is only available when Show Wide Path is turned off.

Left image with Show Frame Ticks on; right image with Show Frame Ticks off

Tick Size

The length (height) of the keyframe ticks.

Frames Between Ticks

The density of the keyframe ticks.

Variable Tick Size

When turned on, the length of the keyframe ticks depends on their proximity to the skeleton during its animation.

Variable Tick Size is on

Falloff Distance

The distance (in Houdini units) from the skeleton at which the keyframe tick size on the motion path are at their smallest.

This option is only available when Variable Tick Size is turned on.

Increasing and decreasing the Falloff Distance

Sample Between Frames

When turned on, the motion is sampled at times in-between frames to generate a smoother curve for the motion path.

Number of Samples

The number of times the motion is sampled per frame.

This option is only available when Sample Between Frames is turned on.

Left image with Number of Samples = 1; right image with Number of Samples = 5
Tangents

Show Tangent Handles

When turned on, the tangents of the keys of the active Translate parameter’s channels are displayed on each key. These can be manipulated to change the curve of the motion path between key poses.

Note

Since these are displayed as the tangents of the channels, they are most useful when creating a new animation.

Parameters

Pose

Bake

Opens the Rig Pose Baking controls dialog window.

Bake To

The path to the Rig Pose SOP to bake the animation to.

Bake From

When turned on, specifies the path to the source of the animation to bake. This can either be an animated skeleton whose topology matches that of the target Rig Pose SOP or a MotionClip created from such an animation.

When the source of the animation is a MotionClip, the behavior of the Bake All command changes so that baked keyframes will only be created for the poses present on that MotionClip.

Note

This can be useful when used in combination with MotionClip processing SOPs such as MotionClip Extract Key Poses.

When turned off, the Rig Pose SOP’s input is used as the source of the animation to bake.

Transform Options

Transform Order

Specify the transform order and rotation order for the baked parameters.

Use Joint Config

When turned on, the bake operation uses the specified dictionary attribute to set the transform order and rotation order for the baked parameters. See Configure Joints.

Bake From Rest Pose

When turned on, the input animation is baked into new Transformations multiparms for all frames in the range currently set in the timeline. All created channels will be animated relative to the rest pose specified by the target Rig Pose SOP’s Rest Pose Attribute.

This parameter also sets the Mode for each multiparm to From Rest Pose.

Bake All

Bakes all the animation into the current Transformations multiparms for all frames in the range currently set in the timeline.

This parameter sets the Mode for each multiparm to Override.

You can also select which interpolation function is used by the bake operation.

constant()

Input animation curves are interpolated by a constant function.

linear()

Input animation curves are interpolated by a linear function.

bezier()

Input animation curves are interpolated by a bezier function.

cubic()

Input animation curves are interpolated by a cubic function.

Bake Current Pose

Saves a snapshot of the character’s current pose to a keyframe and bakes it into the current Transformations multiparms for the current frame. This is helpful when you want to keep your pose animation separate from the existing animation on your multiparms.

You can also select which interpolation function is used by the bake operation.

constant()

Input animation curves are interpolated by a constant function.

linear()

Input animation curves are interpolated by a linear function.

bezier()

Input animation curves are interpolated by a bezier function.

cubic()

Input animation curves are interpolated by a cubic function.

Set All Transformations to Default

Returns all the Translate, Rotate, and Scale parameters for all the defined Transformation multiparms to their default values. This works regardless of whether or not the parameters are animated, and it does not delete any of the existing Transformation multiparms.

If your current frame indicator in positioned at an existing keyframe on the timeline when you click Set All Transformations to Default, then the current animated values on that keyframe are replaced by the transform default values.

World Space

Pose the joints completely ignoring the fk hierarchy and working directly on the world space transforms of each posed joint. The effect of this is analogous to the Child Compensation behaviour when posing at the Object level.

Warning

Changing this when you have existing edits to your pose will very likely produce erratic results. If you wish to perform a mixture of local and world space edits, you must use separate Rig Pose nodes for each operation.

Rest Pose Attribute

The name of the matrix point attribute to refer to when the Mode is set to From Rest Pose.

Transformations

Group

The point group to which this multiparm instance will be applied.

Mode

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

Pre-Multiply

The transformation will be 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 will be 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 will completely overwrite 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 node.

From Rest Pose

The transformation will behave like Pre-Multiply, but any input animation will be replaced by the pose specified in the Rest Pose parameter. This is useful if you want to revert a points transform to a 'rest pose' rather than simply zero out the local transform as is done in Override.

Transform Order

The left menu specifies the order in which 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 in which 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.

Settings

Enable Multithreading

When turned off, all point transforms are sent to a single core for processing. For most rigs, single threading is faster than multithreading. Enable Multithreading is turned off by default.

When turned on, all point transforms are sent to all available cores for processing. This is useful when you have a complicated character rig (for example, a centipede) that has a large number (thousands or more) of point transforms to compute.

Preserve Input Shears

When active, any shears present on the input local transforms of any points modified by this node will be preserved when combining applying the parameter transform. When disabled, the node will present a warning that these shears have been discarded when updating the point’s transform.

Parameter Attributes

Output Parameters as Attributes

When turned on, the node will output the selected Translate, Rotate, Scale and Pivots parameters as vector attributes on the points.

Internal Attributes

Output Internal Data as Attributes

When turned on, the node will output the transforms computed internally. This allows more advanced users to consume this data down stream without the overhead of recomputing.

Rig Visualizer

Configurations

This multiparm allows you to create and manage multiple visualization set-ups for the same input skeleton.

Group

Specifies the joint or list of space-separated joints that will use the visualization settings from a given Configurations multiparm.

This field accepts the @name joint name syntax. For example, a single joint like @name=rFoot or a list of joints like @name=rFoot @name=lFoot @name=rKnee @name=lKnee.

If you leave this field empty, all the joints and control objects on the input skeleton will use this multiparm’s visualization settings.

Joint Display

Determines which input skeleton components are visible in the viewport.

Show Joint

When on, the joints and their links for the specified Group joints are visible in the viewport.

Show Polygon Lines

When on, the poly lines for the specified Group joints are visible in the viewport.

Show Packed Geometry

When on, the control objects linked to the specified Group joints are visible in the viewport.

Link Scaling

Determines the width of the input skeleton’s joint links in the viewport based upon their length.

This is a mapping of the link length (distance from parent to child) onto the range given in the Width Low and Width High parameters.

For any link whose length falls in between the Length Low and Length High values, its width will be scaled by the corresponding value in between the Width Low and Width High values. Any link with their length outside this range will have their width clamped to the values given in the Width Low or Width High parameters.

These parameters are only available when Show Joint is turned on.

Example: Adjusting link scaling width

Length Low

The lower bound for the link length used for width scaling. Any links whose length is equal to or less than this value will have their width clamped to the Width Low parameter’s value.

Length High

The upper bound for the link length used for width scaling. Any links whose length is equal to or greater than this value will have their width clamped to the Width High parameter’s value.

Width Low

Sets the width of any links whose length is equal to or less than the Length Low parameter’s value.

Width High

Sets the width of any links whose length is equal to or greater than the Length High parameter’s value.

Inputs

Skeleton

The SOP skeleton to pose.

Outputs

Skeleton

The input SOP skeleton with the pose applied.

See also

Geometry nodes