Houdini 20.5 Nodes Geometry nodes

Crowd MotionPath Trigger geometry node

Defines a trigger that can be used to activate transitions between animation clips.

On this page
Since 20.0

This SOP defines a trigger or event that can be used to cause agents to change their animation (for example, with Crowd MotionPath Transition or Crowd MotionPath Layer).

Triggers are represented as a point group on the motion path geometry, where a point is in the group if the trigger evaluated to “true” for that point.

See SOP motion paths for more information on the SOP Crowds MotionPath toolset.

Parameters

Group

The motion paths to evaluate the trigger for.

Trigger Name

The name of the point group created for the trigger. This name is used by subsequent nodes such as Crowd MotionPath Transition to reference the trigger. It is set to the Crowd MotionPath Trigger node name by default.

Type

Specifies how the trigger is computed.

Time

Compares the point’s time against a given value.

Bounding Region

Determines if the point is within a bounding region.

Object Distance

Determines if the point is close to an object.

Object Raycast

Determines if a raycast from the point hits an object.

Neighbor Distance

Determines if there are nearby agents at the point’s sample time.

Animation Clip

Compares the agent’s clip name, time, or number of loops against a given value.

Time Dependent

When turned on, the Collision Object input is cooked for each frame in the motion path’s time range. This allows the trigger to be evaluated against time-dependent collision geometry.

This parameter is available when Type is set to Bounding Region, Object Distance, or Object Raycast.

Combine Triggers

Combines the trigger with other existing triggers using boolean operations.

Boolean Operation (left drop-down box)

The boolean operation to perform (Union (Or), Intersect (And), Exclusive Or, or Subtraction).

Comparison (middle drop-down box)

Specifies whether to the perform the boolean operation on the trigger groups in the right drop-down box (With), or on all the trigger groups except those in the right drop-down box (With All But).

Trigger Group (right drop-down box)

A trigger or list of trigger group names.

Random Delay

Adds a random delay to the start of the trigger. This is useful to avoid having the trigger activate at the same time for many agents.

Tip

A random delay can also be added with Crowd MotionPath Transition or Crowd MotionPath Layer when the trigger is used to activate an animation clip. Applying the random delay here will bake it into the trigger, which can be useful when reusing the trigger for multiple transitions or combining it with other triggers.

Max Random Delay

When Random Delay is turned on, this is the maximum delay (in seconds) added to the start of the trigger.

Random Seed

When Random Delay is turned on, this is the seed that is used when selecting a random delay time.

Frame

When Type is set to Time, this is the frame to compare each point’s sample time against.

Comparison

Specifies how to compare the sample point’s time against the specified value.

This parameter is available when:

  • Type is set to Time.

  • Type is set to Animation Clip, and Clip Time is turned on.

Bounding Type

When Type is set to Bounding Region, this is the shape of the bounding geometry to test point positions against.

Bounding Box

The bounding box described by the Size and Center.

Bounding Sphere

The bounding sphere described by the Size and Center.

Bounding Object

The geometry from the Collision Object input.

Bounding Volume

The volume primitives from the Collision Object input.

Bounding Convex Hull

The convex hull of the Collision Object input geometry.

Size

When Bounding Type is set to Bounding Box or Bounding Sphere, this is the size of the bounding box or sphere.

Center

When Bounding Type is set to Bounding Box or Bounding Sphere, this is the center position of the bounding box or sphere.

Initialize to Input Bounds

When Bounding Type is set to Bounding Box or Bounding Sphere, this sets the Size and Center parameters to the bounds of the input geometry.

Comparison

Specifies how to compute the trigger value based on whether the point is inside or outside the bounding object.

This parameter is available when Type is set to Bounding Region, Object Distance, or Neighbor Distance.

Treat As

When Type is set to Object Distance, this method is used to compute the distance to the Collision Object input geometry.

Surface

Computes the minimum distance to the geometry’s surface.

Point Cloud

Computes the distance to the closest point in the geometry.

Distance

When Type is set to Object Distance or Neighbor Distance, this is the distance threshold to compare against.

Direction from

The method used for computing the ray direction.

Orientation

The Reference Direction transformed by the motion path’s transform at the sample point.

Velocity

The velocity at the sample point. This can be different from the Orientation if the agent is facing in a different direction than the motion of its point.

Attribute

Uses the direction from a vector point attribute on the motion path geometry.

This parameter is available when:

  • Type is set to Object Raycast.

  • Type is set to Neighbor Distance, and Field of View is turned on.

Reference Direction

The original facing direction of the agent.

This parameter is available when:

  • Type is set to Object Raycast, and Direction from is set to Orientation.

  • Type is set to Neighbor Distance, Field of View is turned on, and Direction from is set to Orientation.

Ray Distance

When Type is set to Object Raycast, this is the maximum distance at which the ray can intersect the Collision Object input geometry.

Comparison

When Type is set to Object Raycast, this specifies how the trigger value is computed based on whether the ray hits the Collision Object input geometry.

Direction Attribute

The name of a vector point attribute on the motion path geometry.

This parameter is available when:

  • Type is set to Object Raycast, and Direction from is set to Attribute.

  • Type is set to Neighbor Distance, Field of View is turned on, and Direction from is set to Attribute.

Field of View

When Bounding Type is set to Neighbor Distance, only agents that are within this angle (in degrees) from the agent’s facing direction are considered neighbors.

Time Threshold

When Bounding Type is set to Neighbor Distance, an agent is considered a neighbor if it is within the Distance threshold and this many seconds of the sample point’s time.

Clip Name

When Type is set to Animation Clip, the agent’s clip name is compared to this pattern.

Clip Time

When Type is set to Animation Clip, the agent’s clip time is compared to this value (in the Clip Time Units).

Clip Time Units

This drop-down menu specifies the units of the Initial Clip Time and Random Clip Offset.

Seconds

The clip time is specified in seconds, relative to the clip’s start time.

Phase

The clip time is specified as a normalized phase, where 0 is the beginning of the clip, and 1 is the end of the clip. This can be simpler to use when working with clips of different lengths.

Time Comparison

When Clip Time is turned on, this specifies how to compare the agent’s clip time to Clip Time.

Number of Loops

When Type is set to Animation Clip, the number of loops for the agent’s current clip is compared to this value.

Loop Comparison

When Type is set to Animation Clip, and Number of Loops is turned on, this specifies how to compare the number of loops for the agent’s current clip to Number of Loops.

Inputs

Motion Paths

Polyline curves representing the paths of the agents over a time range.

Agents

A crowd of agents whose motion is represented by the Motion Paths.

Collision Object

Geometry used for testing the agent’s proximity to an object when the trigger Type is Bounding Region, Object Distance, or Object Raycast.

Outputs

Motion Paths

Polyline curves representing the paths of the agents over a time range.

Agents

A crowd of agents whose motion is represented by the Motion Paths.

Examples

MotionPathLayerClip

This example demonstrates how to use the Crowd MotionPath Layer SOP to layer a clip onto the upper body of an agent. The clip is activated when the agent is inside a bounding object.

MotionPathTransitionClips

This example demonstrates how to use the Crowd MotionPath Transition SOP to blend between animation clips, including intermediate transition clips defined by a clip transition graph

See also

Geometry nodes