Houdini 20.0 Nodes Geometry nodes

Agent Unpack geometry node

Extracts geometry from agent primitives.

On this page
Since 17.0

This SOP converts agent primitives into geometry with several possible formats. Using the Unpack SOP to unpack an agent is equivalent to setting the Output parameter to Deformed Geometry.

Parameters

Group

Subset of input geometry to unpack.

Group Type

Specifies whether the group is a point or primitive group. If it is a point group, any agent primitives that reference the group’s points are unpacked.

Output

Specifies how to generate the output geometry.

Deformed Geometry

Generates geometry from the shapes in the agent’s current layers. For a deforming shape binding, the shape’s geometry is deformed using the agent’s current pose. For a static shape binding, the shape is transformed by the referenced joint’s transform. This is equivalent to unpacking the agent with the Unpack SOP.

Rest Geometry

Outputs the shapes from the agent’s current layers. No deformation is performed for deforming shape bindings.

Joints

Creates a point for each of the agent’s joints, with point attributes containing the joint’s name and transform. Filters can be used to only create points for specific joints.

Skeleton

Creates a point for each of the agent’s joints, and a two-point polygon between each child joint and its parent.

MotionClips

For each of the specified agent clips, creates a packed geometry primitive containing a MotionClip.

Limit to Unique Agent Definitions

When Output is set to Rest Geometry, turning this on filters the Group to only include one instance of each agent definition. This can be used to avoid producing duplicate shapes when there are multiple agents of the same type in the input.

Apply Agent Transform

When turned on, applies the agent’s overall transform to the unpacked geometry.

Apply Joint Transforms

When turned on, applies the agent’s joint transforms when unpacking. Turning this off along with Apply Agent Transform produces an output that is not time-dependent. When turned off, and Output is set to Joints or Skeleton, the agent’s rest pose is used instead of the agent’s current pose.

This parameter is available when:

  • Output is set to Joints or Skeleton.

  • Output is set to Rest Geometry, and Unpack Shapes From is not set to Shape Library.

Unpack Shapes From

When Output is set to Rest Geometry, rest geometry shapes can be unpacked from the agent’s current layers, collision layers, or any layers in the agent definition. The list of layers is filtered by the Layers pattern, and any shape bindings that match the Shapes pattern are unpacked.

Alternatively, shapes can be directly unpacked from the agent’s shape library according to the Shapes pattern. This mode can be useful for accessing specific shapes without having to specify layers that reference those shapes.

Layers

A list or pattern of layer names to include when unpacking the agent. The default behavior is to match this pattern against the agent’s current layers. When Output is set to Rest Geometry, the list of layers to match against is specified by the Unpack Shapes From parameter.

This parameter is available when:

  • Output is set to Deformed Geometry.

  • Output is set to Rest Geometry, and Unpack Shapes From is not set to Shape Library.

Shapes

When Output is set to Deformed Geometry or Rest Geometry, this is a list or pattern of shape names to include from the specified Layers when unpacking the agent. When Output is set to Rest Geometry, and Unpack Shapes From is set to Shape Library, this specifies a list or pattern of shape names to unpack from the shape library.

Iterations

When Output is set to Deformed Geometry or Rest Geometry, turning this on specifies the number of levels of packed primitives to unpack.

Shape Deformer Attribute

When turned on, outputs an attribute containing the name of the shape binding’s deformer (or the empty string for a static shape binding).

This parameter is available when:

  • Output is set to Deformed Geometry.

  • Output is set to Rest Geometry, and Unpack Shapes From is not set to Shape Library.

Transform Name Attribute

When turned on, outputs an attribute containing the name of the agent’s transform that the shape geometry was attached to.

This parameter is available when:

  • Output is set to Deformed Geometry.

  • Output is set to Rest Geometry, and Unpack Shapes From is not set to Shape Library.

Layer Name Attribute

When turned on, outputs an attribute containing the name of the layer that the shape binding belonged to. This can be useful to identify the source layer of a shape when an agent has multiple layers assigned to it.

This parameter is available when:

  • Output is set to Deformed Geometry.

  • Output is set to Rest Geometry, and Unpack Shapes From is not set to Shape Library.

Clip Names

When Output is MotionClips, this specifies a list or pattern of clip names to convert to MotionClips. If a pattern is not specified, the agent’s current clip(s) are used.

Transfer Attributes

A list of attributes to transfer to the unpacked geometry. Computed point velocities are transferred if both v and w point attributes exist and are specified.

Transfer Groups

A list of groups to transfer to the unpacked geometry.

Filters

When Output is set to Joints, this specifies the joints for which points are created. If there are no filters, a point is created for each joint.

Joints

A list or pattern of joint names to create points for.

Percent of Agents

Only outputs points for a percentage of agents in the crowd. This can be useful for controlling the placement of props.

Seed

Random seed used when pruning agents for the Percent of Agents parameter.

Skeleton Color

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

Inputs

Agents

Agent primitives.

Outputs

Output

Unpacked geometry, in the format specified by the Output parameter.

See also

Geometry nodes