Houdini 17.0 Nodes Dynamics nodes

Crowd Trigger 2.0 dynamics node

Defines a Crowd Trigger

On this page

Crowd Trigger defines a trigger or event that will cause the agents to change their state. If the trigger evaluates to true, this will cause the Crowd Transition node to activate.

Parameters

Group

Only process the trigger for a group of agents.

Guide

Controls if the guide geometry for this node should be shown.

Note

Even if it is enabled here, it can also be disabled by using the Hidden flag on the DOP Node.

Type

Specifies what the trigger is based on (object attribute, particle speed, time, etc.)

Object Bounds

Check if agents are bounded by an object.

Bounding Object

Name of the DOP object to be used as a bounding object for the agents.

Check

Incoming

Trigger if agent is going inside the bounding shape.

Outgoing

Trigger if agent is going outside the bounding shape.

Continuous

Trigger as long as agent is inside.

Object Attribute

Read an attribute from the specified DOP object and perform a comparison.

Attribute Object

Name of the object to read attribute from.

Attribute Name

Name of the attribute to read.

Search Radius

Distance the agent will search to find the closest point on the object.

Comparison

Type of comparison to be made.

Comparison Value

Value to compare attribute against.

Object Distance (position)

Check distance between the agents and the specified DOP object.

Position Object

Name of the DOP object.

Comparison

Type of comparison to be made.

Comparison Distance

Distance to compare against.

Object Distance (pointcloud)

Check distance between agent and a point cloud specified by DOP object.

Pointcloud Object

Name of DOP object that contains the point cloud.

Search Radius

Distance the agent will search.

Comparison

Type of comparison to be made.

Comparison Distance

Distance to compare against.

Object Raycast

Check if agent raycast hits the object.

Raycast Object

Name of the DOP object.

Raycast Length

Maximum distance to look for hit.

Raycast Hit

Trigger will activate when object is hit.

Raycast Nohit

Trigger will activate when object is not hit.

Particle Speed

Compares particle/agent speed against given value.

Angular Speed

Use angular speed in degrees per second, computed from the previousorient and orient attributes. The Crowd Solver creates the previousorient attribute when the Agent Angular Speed parameter is enabled.

Comparison

Type of comparison to be made.

Speed

Value to compare against the agent speed.

Particle Proximity

Checks if another particle/agent is within given proximity. Allows for checking if particle belong to same groups.

Search Radius

Distance for particle/agent to look for another.

Ignore Same Group

Ignore particle/agent that belongs to the same group.

Group Attribute

Attribute name that used to hold group name.

Particle Attribute Lookup

Reads specified particle/agent attribute and perform a comparison.

Attribute Name

Name of the attribute.

Comparison

Type of comparison to be made.

Comparison Value

Value to compare against.

Particle Attribute Comparison

Compares attribute values on particles/agents within a search radius.

Attribute Name

Name of the attribute.

Search Radius

Distance for particle/agent to look for another.

Comparison

Type of comparison to be made.

Ignore Same Group

Ignore particles/agents that belong to the same group.

Group Attribute

Attribute name that used to hold group name.

Time (current)

Compares current scene time against a given value.

Units

Specifies whether the Playback Time and Random Offset are specified in frames or seconds.

Comparison

Type of comparison to be made.

Playback Time

Value to compare against in seconds.

Random Offset

Random amount added to compared value.

Current State Duration

Check how long the particle/agent has been in the current state.

Comparison

Type of comparison to be made.

Duration

Value to compare against.

Animated Parameter

Lets user animate a parameter to create a trigger.

Value

Value to be animated (int).

Custom VEXpression

Lets you write custom wrangle code to manipulate when trigger is fired.

Input 1, 2, 3, 4

These control the four virtual inputs accessible inside of VOPs.

They can be accessed with the OpInput1-4 wires from the VOP, or with the @OpInput1-4 string parameters when using VEXpressions.

They can also be accessed numerically as 0-3 with VEX functions that take an input number.

None

No geometry is wired to this input.

SOP

The SOP geometry will be cooked prior to running the VEX and the result wired to this input.

DOP Data

Data in the current simulation to reference. Specified as an object/data, for example, pyro1/vel to refer to the velocity field of the pyro1 object (which will show up as three volume primitives).

Myself

Referring to the geometry currently being processed is special as you have to ensure a copy is made so the VEX functions can refer to its original form. This handles that for you.

Nth Context Geometry

These refer to the SOPs wired into the parent DOP Network itself.

Myself (No Reads from Outputs)

Refers the currently processed geometry. Does not make a copy so it is up to the user to ensure no reads are made from any attributes that are bound.

Evaluation Node Path

VEX functions like ch() usually evaluate with respect to this node. Providing a path here can override where the path search starts from. This is useful for embedding in a digital asset where you would like the top level digital asset to be the search root.

RBD Impact Data

RBD impact data greater than the threshold will activate the trigger:

DOP Impact Objects

Which objects should be considered for impacts.

Impact Threshold

Magnitude of the impact that is required to activate the trigger.

Transform Group

The name of a transform group, which specifies a subset of the joints in the agent’s rig that impacts should be detected for.

Trigger Name

The name of the trigger. This must be unique as each Crowd Trigger node creates its own crowdtrigger_triggername attribute.

Inputs

None

Outputs

Crowd Transition, Crowd Trigger Logic

Examples

CrowdTriggers Example for Crowd Trigger dynamics node

This example file demonstrates how the built-in trigger types for the Crowd Trigger DOP can be used.

See also

Dynamics nodes