Houdini 20.0 Nodes Geometry nodes

Agent Clip Properties geometry node

Defines how agents' animation clips should be played back.

On this page
Since 15.5

This SOP creates geometry (which can be attached to a crowd object) describing advanced options for how animation clips should be played back by the crowd solver.

Usage

The clip properties geometry can be explicitly provided to the Crowd Object DOP via the Clip Properties parameter, allowing it to be used by the crowd solver.

Alternatively, the clip properties can be stored in the agent definition as a shape named __clipproperties__. This can be configured by using the second output of Agent Clip Properties, which adds the clip properties to the input agent’s shape library.

Storing the clip properties in the agent definition avoids carrying a separate stream of geometry through the network, and the clip properties can also be easily cached to disk along with the agent definition’s shape library. This workflow is required by nodes such as the Crowd MotionPath Transition SOP, and is also supported by the Crowd Object DOP when the clip properties geometry isn’t explicitly provided.

Tip

The clip properties geometry can be retrieved from the agent definition with Agent Unpack:

  1. Set Output to Rest Geometry.

  2. Set Unpack Shapes From to Shape Library.

  3. Set Shapes to __clipproperties__ and Iterations to 2 to unpack the shape.

  4. Optionally, disable Apply Agent Transform to avoid applying the input agent’s transform to the geometry. Limit to Unique Agent Definitions can also be enabled to avoid duplicate geometry if the input contains multiple agent primitives.

Attributes

Each point in the geometry represents an animation clip, and point attributes describe properties such as a sub-range of frames that should be looped.

Name Class Type Description
clipname Point String

Specifies a unique name that will be used to refer to the adjusted clip.

clipname_source Point String

Specifies the name of the underlying animation clip.

agentname Point String

This string is matched with the agent’s agentname point attribute to avoid potential name conflicts if a crowd contains multiple agent definitions. For example, two different types of agents may both have a clip named 'walk'.

blend_duration_after Point Float

Specifies how long (in seconds) to blend out of the final pose of the loop range.

blend_duration_before Point Float

Specifies how long (in seconds) to blend toward the initial pose of the loop range.

enable_looping Point Integer

Specifies whether clip playback should stop after reaching the end of the loop range.

gait_speed Point Float

Specifies the gait speed used when retiming an in-place animation clip based on the agent’s speed.

loop_range Point Vector2

Specifies the range of time (in seconds) that the clip should loop between.

sample_rate Point Float

Stores the clip’s sample rate.

start_time Point Float

Specifies the time (in seconds) that the clip should start at. This value can be less than the start of the loop range to allow a pre-roll before the looped section.

Parameters

Units

The units for which time parameters are specified. This can be frames (at the Houdini FPS) or samples (in the clip’s sample rate).

Range Type

Specifies whether the loop range is interpreted as an inclusive or exclusive range. The default behavior is to use an inclusive range to match the Agent Clip SOP.

Clip Preview

Displays guide geometry with a preview of the specified clip. This can be used to visualize the loop range and blending parameters for a clip. If no clip name is specified, the first entry of the Clips parameter will be chosen.

Clips

The number of clips to edit properties for.

Clip Name

The name of one of the agent’s animation clips.

Clip Name Alias

Specifies a new name that will be used to refer to the modified clip. This can be useful for creating several virtual clips from different sections of a single source animation clip.

Custom Gait Speed

Specifies that the in-place gait speed should be overridden for this clip.

Gait Speed

Specifies how fast the agent is moving in the (in-place) animation clip. This is used by the crowd solver when retiming in-place animation clips based on the agent’s speed.

Custom Loop Range

Specifies that the animation clip should loop between a particular sub-range of time.

Loop Range

When Custom Loop Range is enabled, specifies the samples that the clip should loop between. If Custom Start Frame is not enabled, the start frame will be set to the beginning of the loop range.

Custom Start Frame

Specifies that the animation clip should begin playback from the Start Frame instead of the beginning of the loop range.

Start Frame

Specifies the initial time that playback should start from. This value can be less than the start of the loop range to allow a pre-roll before the looped section.

Enable Looping

When looping is disabled, the clip time will not advance after reaching the end of the loop range.

Blend While Looping

Enables blending between the initial and final poses as the clip loops around.

Frames Before

Specifies how long to blend toward the pose at the start of the loop range before the clip loops around.

Frames After

Specifies how long to blend out of the pose at the end of the loop range after the clip loops around.

Outputs

Clip Properties

The clip properties geometry.

Agent

The input agent primitive, with the clip properties added to its agent definition.

See also

Geometry nodes