Houdini 20.0 Nodes Geometry nodes

Agent Character Unpack geometry node

Extracts the rest geometry, skeleton, and animation from an agent primitive.

On this page
Since 18.5

This SOP unpacks an agent primitive into a SOP rig. It is a higher-level wrapper based on the more generic Agent Unpack SOP.

The first output contains the character’s rest geometry, which is unpacked using the agent’s current layer. For any deforming shape bindings in the layer, the shape’s rest geometry is unpacked. For any static shape bindings in the layer, the shape is output as a packed primitive, and the boneCapture attribute for the primitive’s point is assigned a weight of 1 for the joint that the shape was attached to. This will rigidly deform the shape when the Joint Deform SOP is applied.

The second output provides the agent’s capture pose. The skeleton is represented with a point for each joint, and a two-point polygon between each child joint and its parent.

The third output provides the agent’s current pose in the same geometry representation as the capture pose, and is time-dependent. This output is equivalent to the geometry produced by Agent Animation Unpack.

Parameters

Unpack

Group

Specifies the input agent(s) to unpack.

Group Type

The type of group that Group specifies.

Guess from Group

Infers the type of group that is specified based on the contents of Group.

Points

Unpacks the agents from the specified point group.

Primitives

Unpacks the agents from the specified primitive group.

Geometry

Shapes

Specifies a list or pattern of shape names to include from the agent layer when unpacking the agent.

Shape Name Attribute

Creates a primitive string attribute that records the name of the source agent shape.

Transfer Attributes

Specifies a list or pattern of attributes to transfer from the agent primitive to the unpacked skin geometry.

Transfer Groups

Specifies a list or pattern of groups to transfer from the agent primitive to the unpacked skin geometry.

Skeleton

Output

Specifies whether to output the agent’s current pose (Current Pose), or the pose sampled from a specific agent clip (Agent Clip Pose).

Agent Clip Name

When Output is Agent Clip Pose, specifies which of the agent’s clips to sample.

New Clip Name

Specifies a name for the animation clip. This is saved to the clipinfo detail attribute.

Rig Color

When Output is set to Skeleton or MotionClips, this is the point color to use for the skeleton joints.

Transfer Attributes

Specifies a list or pattern of attributes to transfer from the agent primitive to the skeleton geometry.

Transfer Groups

Specifies a list or pattern of groups to transfer from the agent primitive to the skeleton geometry.

Timing

Method

The time units for specifying animation parameters.

By Time

The timing parameters below will be specified in seconds.

By Frame

The timing parameters below will be specified in frames.

Time

The time (in seconds) to import the animated pose from.

Animation Start

The time at which the source animation starts, when Method is set to By Time. Earlier poses will be clamped to this value. When turned off, this value is taken from the source animation where available. If it has no range information, Houdini’s scene start ($TSTART) value will be used.

Note that no clamping is done when this is turned off.

Animation End

The time at which the source animation ends, when Method is set to By Time. Later poses will be clamped to this value. When turned off, this value is taken from the source animation where available. If it has no range information, Houdini’s scene end ($TEND) value will be used.

Note that no clamping is done when this is turned off.

Playback Start

The destination time at which the specified animation will begin to playback, when Method is set to By Time. When turned off, Houdini’s scene start ($TSTART) value is used.

Frame

The frame number to import the animated pose from.

Animation Start

The frame at which the source animation starts, when Method is set to By Frame. Earlier poses will be clamped to this value. When turned off, this value is taken from the source animation where available. If it has no range information, Houdini’s scene start ($FSTART) value will be used.

Note that no clamping is done when this is turned off.

Animation End

The frame at which the source animation ends, when Method is set to By Frame. Later poses will be clamped to this value. When turned off, this value is taken from the source animation where available. If it has no range information, Houdini’s scene end ($FEND) value will be used.

Note that no clamping is done when this is turned off.

Playback Start

The destination frame at which the specified animation will begin to playback, when Method is set to By Frame. When turned off, Houdini’s scene start ($FSTART) value is used.

Speed

Sets the speed factor for the playback of the animation. This is applied after any clamping is performed by the Animation Start and Animation End parameters.

Attributes

clipinfo

This detail attribute records the current animation range and sample rate, as well as the original animation range and sample rate of the imported animation.

Inputs

Agents

Agent primitive(s) to unpack.

Outputs

Rest Geometry

The character’s rest geometry.

Typically, this will contain polygons with the boneCapture point capture attribute, which can be deformed using the Joint Deform SOP.

Capture Pose

The character’s capture pose.

Each joint in the skeleton is represented by a point, where the P and transform (matrix3) attributes contain the joint’s transform. The point’s name attribute contains the joint’s name, and is matched up with the capture paths in the rest geometry’s boneCapture attribute when deforming the skin. The skeleton’s hierarchy is represented by two-point polygons between the points for each child joint and its parent.

Animated Pose

The character’s animated pose, which is represented in the same manner as the Capture Pose.

See also

Geometry nodes