On this page

SOP Crowds

The new SOP Crowds MotionPath toolset allows users to quickly make changes to the motion path or animation of a small number of agents without the need to resimulate the entire crowd.

SOP motion path tools

Behavior

Sticky collisions
  • Configure agents in a particular state to be “sticky” with the new sticky collisions settings in the Crowd State and Crowd Trigger DOPs. With sticky collisions, objects that collide with agents can get stuck to the agent depending on the strength of the impact and the number of objects that have already stuck to the agent. Sticky collisions is also a feature on the bullet solver.

  • On the Crowd Source SOP, there are additional options for controlling the clip time behavior, including the new Relative to Clip Start Time parameter, as well as the Phase option to specify where along the clip time to start playing the clip.

  • On the Crowd Source SOP, the new Set Heading from Velocity parameter allows you to override the heading direction to match the initial velocity direction, and an orient attribute is now created to define the agent’s orientation, allowing it to be different from the velocity direction. Also new are the Reference Direction and Reference Up parameters, added to support agents that are not initially facing down the Z-axis.

  • The POP Steer Avoid DOP now supports the standard collisionignore and collisiongroup point attributes for fine-grained filtering of avoidance between agents.

Agents

  • With the new Unpack Shapes From parameter, the Agent Unpack SOP can now unpack rest geometry from the agent’s collision layers or any specified layers from the agent definition, in addition to the previous behavior of unpacking the agent’s current layers. Rest geometry can also be unpacked directly from the agent’s shape library, which provides a simpler way to retrieve specific shapes without having to specify the layers that reference those shapes.

  • On the Agent Unpack SOP, the new Group Type parameter indicates whether the group is a point or primitive (previously, the group was always a primitive), and the Limit to Unique Agent Definitions parameter filters the input group to only include one instance of each agent definition when unpacking to Rest Geometry.

  • The Agent Layer SOP now allows assigning the new layers to the agent’s list of collision layers in the new Set Collision Layers parameter.

  • When editing the current or collision layers of an agent, the Agent Edit SOP now supports pattern matching against the layers in the agent definition (Set Current Layers and Set Collision Layer parameters).

  • The clip transition graph geometry can now be stored in the agent definition, which avoids the need to separately manage this geometry from the rest of the agent setup. The Agent Clip Transition Graph SOP has a new secondary output that provides the agent primitive with the clip transition graph geometry added to its shape library.

  • Added support for UsdSkel Dual Quaternion skinning for crowd agents in the Agent SOP and SOP Import LOP. UsdSkel Dual Quaternion skinning was added in USD 23.02. Note that a blended linear and dual quaternion skinning method (as in the Joint Deform SOP Skinning Method of Blended Dual Quaternion and Linear) is not currently supported in USD.

  • On the Agent SOP, you can now specify the Purpose when importing UsdSkel characters, which filters the USD primitives that are imported as part of the character’s skin geometry.

  • The Agent from Rig SOP can now be used in a compiled block if Rest Frame is turned off, and Delay Incompatible Node Errors Until Cooked on the Block End Compile SOP is turned on.

  • The Agent Pose from Rig SOP is now compilable.

  • Improved the performance of saving a .bgeo file containing a large number of packed agents.

States and triggers

  • On the Crowd State DOP, the new Enable Looping parameter controls whether to loop the clips being played in this state.

  • On the Crowd Trigger DOP, the new Look At Target type can be used to trigger transitions based on the agent’s current lookat target.

  • On the Crowd Transition DOP, the Input State parameter can now be overridden with VEX when Use VEXpressions is turned on.

Example

Download the Zombie Crowds file in the Content Library to see how to set up an entire zombie crowd simulation. This includes creating skeletons and retargeting them with available motion capture, setting up agent simulations, adding cloth and hair layers, and preparing cloth and hair simulations for the crowd post-sim. The new tool used is sticky collisions.

What’s new in Houdini 20