Houdini 20.0 Nodes Geometry nodes

Muscle Preroll geometry node

Transitions input bone, muscle, tissue, or skin geometry from their static t-poses into the start frame of their animated sequence.

On this page
Since 19.0

This node allows you to create a bridge between your character’s rest position or t-pose (defined by the tpose attribute) and the first frame of its shot animation.

Since bones, muscles, tissue, and skin all need to start at coincident world space locations for their simulations to be successful, you can use this node to move your character to the location where its action shot begins and then position blend between its t-pose and the beginning of its shot animation.

Note

If you already have preroll baked into your animated geometry, you do not need to use the Muscle Preroll SOP in your Muscles & Tissue network.

State

Muscle Preroll viewport handle

You can use the local transform handle or viewport handle to move the rest position geometry so that it more accurately lines up with its animated geometry counterpart.

Example: Viewport handle and input geometry

Tip

For best results, select the Muscle Preroll SOP and turn on its Display flag, turn on the Template flag for the node immediately upstream from the Muscle Preroll SOP, and then try to line up the positions of the feet and the orientation of the pelvis of the two visible geometries.

For example, in the image above and the video below, the right foot of the rest position bones overlaps with that of the animated bones, and the orientation of the rest position bones' pelvis matches that of the animated bones.

Example: Muscle Pre-roll position blend between the rest position bones and the animated bones

Attributes

preroll_orient

detail

Stores a snapshot of the rotation motion (interpolation) between your geometry’s t-pose and the beginning of its shot animation.

preroll_pivot

detail

Stores a snapshot of the pivot point motion (interpolation) between your geometry’s t-pose and the beginning of its shot animation.

preroll_position

detail

Stores a snapshot of the translation motion (interpolation) between your geometry’s t-pose and the beginning of its shot animation.

Tip

These attributes are useful when you want to reference the transformations stored in one Muscle Preroll SOP node from a another Muscle Preroll SOP node located somewhere else in your network.

Parameters

Mode

Determines how the transformation (interpolation) from the t-pose to the first frame of the shot animation is handled.

Hold

Transforms the t-pose over to where the shot animation begins and then freezes it at the specified Initialization Frame. This parameter setting is useful when you do not want your character’s animation to bleed into or affect the preroll.

Blend Into Sequence

Initializes the t-pose’s transformation at the Initialization Frame, freezes it at the Initial Hold frame, and then morphs the t-pose into the first frame of the shot animation over the Pre-Roll Duration number of frames. For example, if Init Frame is 1, Initial Hold is 5 , and Pre-Roll Duration is 10, then frame 16 is the frame 1 (first frame) for the shot animation. With this parameter setting, you always want to offset by the number of frames you need to accommodate a hold and a preroll.

Pre-Roll

Initialization Frame

Sets the frame number at which to initialize the transformation (interpolation) calculation for the preroll.

Initial Hold

Sets the frame number at which to freeze the preroll.

Pre-Roll Duration

Specifies the number of frames over which to morph from the t-pose to the first frame of the shot animation.

Local Transform

Match Untransformed T-Pose

When on, local transform parameters are bypassed and the T-Pose position is used explicitly as the initial position.

Match Reference

When on, all local transform parameter settings are bypassed and the node instead uses the preroll attributes from the specified Muscle Preroll SOP node. This is useful when you want one Muscle Preroll SOP node to reuse the data from another Muscle Preroll SOP since it has already performed the necessary calculations upstream.

Invert

Takes the computed transformation of going from the t-pose to the start position of the animated geometry and then puts it into reverse.

For example, if you have geometry already at the start position that is not part of the t-pose (like teeth or eyeballs) and you want to transform that geometry to the same t-pose position as your muscles, then you could use Invert to automatically apply the same offset transformation but inverted to that geometry.

This parameter is only available when Mode is set to Hold.

Translate

Sets the local translation offsets for the t-pose. Use this parameter or the Viewport Handle to adjust the position offsets.

Rotate

Sets the local rotation offsets for the t-pose. Use this parameter or the Viewport Handle to adjust the orientation offsets.

Viewport Handle

Display

When on, displays the local transform handle or viewport handle for creating and adjusting the preroll offsets in the viewport.

Pivot Translate

Read-only. Displays the viewport handle’s translation offsets from t-pose to the first frame of the shot animation.

Pivot Rotate

Read-only. Displays the viewport handle’s rotation offsets from t-pose to the first frame of the shot animation.

T-Pose

T-Pose

Specifies from where to get the rest position or t-pose for the geometry.

From Attribute

Use the t-pose defined by the tpose attribute.

Use Init Frame

Use the pose at the specified Init Frame as the t-pose.

T-Pose Attribute

Specifies the name of the attribute to use for the t-pose. By default, the t-pose attribute is named tpose.

This parameter is only available when T-Pose is set to From Attribute.

Inputs

Input 1

Animated geometry with a defined tpose attribute.

Outputs

Output 1

preroll_position, preroll_orient, and preroll_pivot attributes that store the transformation information for the position blend between your geometry’s t-pose and the beginning of its shot animation.

See also

Geometry nodes