Houdini 16.5 Nodes Render nodes

Agent render node

This output operator is used to write agent definition files.

On this page

This output operator is used to write files that define an agent. The created files can then be loaded in by the Agent geometry node to create agent primitives for crowds.

Note

Agent primitives currently only support deforming point normals and not vertex normals. When the deforming geometry is written out, vertex normals will be automatically promoted to point normals as a result.

Parameters

Render

Begins the render with the last render control settings.

Render Control

Opens the render control dialog to allow adjustments of the render parameters before rendering.

Valid Frame Range

What frames to render.

Render Current Frame

Allow the baking any and all frames.

Render Frame Range

Only bake the frames in the range set below, but allow the baking other frames if they are referenced by in-range frames.

Render Frame Range Only (Strict)

Only bake the frames in the range set below, and don’t allow baking of other frames, even if they are referenced by in-range frames.

Start/End/Inc

The range of frames for the clip (start frame, end frame, and increment), inclusive.

All values may be decimal (for example, start on frame 1.5)..

Render with Take

Uses the settings in a particular take while rendering. Choose Current to use the current take when rendering.

Source

Specifies the source of the agent definition that will be written to disk.

Object Subnet

Generate an agent definition from a character rig.

Agent Primitive

Use the agent definition from an existing agent primitive.

FBX

Generate an agent definition from an FBX file containing a character.

Object Subnet

Path to the object subnetwork containing the character rig.

SOP Path

Specifies a SOP network that contains an agent primitive.

FBX File

Filename of the FBX file to generate agents from.

Convert Units

Specifies whether to convert to Houdini units when importing the FBX file.

Minimal Nodes

Only bake objects whose display flags are on. If you turn this off, all nodes in the object subnet are baked into the animation clip.

Convert to Polygon Soups

Combine polygon primitives into polygon soup primitives when creating the shape library. This can reduce memory usage, particularly when rendering with Mantra.

Load as Polygon Soups

Create polygon soup primitives instead of polygon primitives when loading geometry from the FBX file. This can reduce memory usage, particularly when rendering with Mantra.

Layer Name

The default layer for the agent, created using the display flags of the objects. Every agent must have at least one layer.

Bounds Scale

Specifies a scale for the bounding box of each shape in the default layer. See the Agent Primitive help page for more information on how an agent’s bounding box is computed.

Generate Collision Layer

Generate a collision layer from geometry containing capture/deform weights. This generates capture region primitives and assigns them to the corresponding bones in the rig.

Collision Layer Name

When Generate Collision Layer is on, the name of the collision layer.

Clip Name

Name of the baked out clip (agent animation). The animation is taken from the current scene.

Clip Name

Specifies the names of the animation clip(s). A clip is created for each take in the FBX file. The ${FBX_TAKE_NAME} and ${FBX_TAKE_INDEX} local variables can be used to generate clip names based on the take name and index from the FBX file.

Override Sample Rate

Specifies whether to use the value of the Sample Rate parameter instead of the sample rate stored in the FBX file. This is useful if the application that exported the original FBX file did not set the sample rate correctly.

Sample Rate

Sample rate to use for the clip when Override Sample Rate is enabled.

Additional Channels

Adds channels from the specified CHOP node to the agent’s clip.

Shift Clip to Frame 1

Shift output clips from the specified frame range to start at frame 1.

Convert to In-Place Animation

Convert a moving character animation to an in-place clip, by subtracting the positions of the Locomotion Node (relative to the origin or where it was on the first frame depending on Use Pivot from First Frame parameter).

Locomotion Node

The object inside the Object Subnet that controls the locomotion of the character (the node in the character rig that has translation channels that move it forward in space). When Convert to In-Place Animation, Houdini uses this to remove the translation from the character animation to keep the character in place. (The crowd solver node assumes that the agent animation is in-place since it will be attached to a moving particle.)

The locomotion animation is placed in a separate transform in the rig named __locomotion__. If this parameter is empty, then __locomotion__ will use the Object Subnet.

Locomotion Orient

If this parameter and Locomotion Node are specified, the generated __locomotion__ transform will also contain rotational information using the vector from the Locomotion Node to the Locomotion Orient node. This parameter has no effect if Locomotion Node is empty.

Project Positions on Dominant Axis

When creating the animation of the Locomotion Node, project the positions along the dominant axis of motion in the XZ plane. If the clip will be used as an in-place clip with the crowd solver, enabling this option can help to maintain hip swaying in the motion.

Use Pivot from First Frame

When creating the animation of the Locomotion Node, calculate the positions to be relative to the origin. If this option is disabled (the default), then the positions will be relative to where it was on the first frame.

Agent Name

Name of the agent. The parameter is provided for convenience so that it can be referenced via the $AGENT local variable in other parameter values.

Cache Directory

Parent directory of agent definition files. This parameter is provided for convenience so that its value can be referenced via the $CACHEDIR local variable in the other filename parameters.

Rig

Filename for the agent rig. The rig file is a JSON file describing the transform hierarchy of the agent.

Agent Layers

Filename pattern for agent layer files. The ${LAYER} local variable can be used to the include the name of the layer in the filename.

Shape Library

Filename for the agent shape library.

Clips

Filename pattern for agent clip files. The ${CLIP} local variable can be used to the include the name of the clip in the filename.

Transform Groups

Filename pattern for agent transform group files. The ${TRANSFORM_GROUP} local variable can be used to include the name of the transform group in the filename.

Create Intermediate Directories

Create intermediate parent directories for output files as needed. This currently only applies to generated scripts, images, and shadow maps.

Pre-Render Script

Execute this script before any baking.

Post-Render Script

Execute this script after all baking

Locals

AGENT

The name of agent. The value either comes from the agentname string attribute on the input points when Allow Attributes to Override is enabled, or from the value of the Agent Name parameter.

CACHEDIR

A local variable provided for convenience so that the value of the Cache Directory parameter can be easily referenced.

LAYER

Contains the name of the current layer when evaluating the Agent Layers parameter.

CLIP

Contains the name of the current clip when evaluating the Clips parameter.

TRANSFORM_GROUP

Contains the name of the current transform group when evaluating the Transform Groups filename parameter.

FBX_TAKE_NAME

Contains the name of the current take in the FBX file when evaluating the Clip Name parameter and Source is FBX.

FBX_TAKE_INDEX

Contains the index of the current take in the FBX file when evaluating the Clip Name parameter and Source is FBX.

Examples

The following examples include this node.

ClipLayerTrigger Example for Agent Clip Layer dynamics node

This example demonstrates how to use the Agent Clip Layer DOP to apply a clip to the upper body of an agent. The clip is activated when the agent is inside a bounding box.

FootLocking Example for Crowd Solver dynamics node

This example demonstrates how to set up foot locking for an agent.

PinnedRagdolls Example for Crowd Solver dynamics node

This example demonstrates how to set up constraints to attach a ragdoll to an external object, and how to use motors to drive an active ragdoll with an animation clip.

Formation Crowd Example Example for Crowd Solver dynamics node

Crowd example showing a changing formation setup

The setup creates an army of agents. There are two paths created. Middle part of the army starts moving and then splits into two formations. One goes to the left, the other groups keeps marching forward and slowly changes formation to a wedge shape.

To keep the agents in formation a custom geo shape is used. It’s points are used as goals for indiviudal agents. Using blendshapes the shape can change allowing for different formation changes. Dive inside the crowdsource object to see the construction.

Note

The animation clips need to be baked out before playing the scene. This should happen automatically if example is created from Crowds shelf. Otherwise save scene file to a location of your choice and click Render on '/obj/bake_cycles' ropnet to write out the files. The default path for the files is ${HIP}/agents.

Stadium Crowd Example Example for Crowd Solver dynamics node

Crowd example showing a stadium setup

The setup creates a stadium crowd. The rotating cheer_bbox object is used as a bounding box for the agents. When they are inside it it will trigger a transition from a sitting to a cheering state. After a few seconds the cheering crowd sits back down by transitioning into a sitting state.

Note

The animation clips need to be baked out before playing the scene. This should happen automatically if example is created from Crowds shelf. Otherwise save scene file to a location of your choice and click Render on '/obj/bake_cycles' ropnet to write out the files. The default path for the files is ${HIP}/agents.

Tip

To only see a section of the crowd for quicker preview there’s a switch node in /obj/crowdsource/switch_all_subsection. When 0 it will show all agents, when set to 1 will only show a small section.

Street Crowd Example Example for Crowd Solver dynamics node

Crowd example showing a street setup with two agent groups

The setup creates two groups of agents. The yellow agents are zombies which follow a path of the street. The blue agents are living pedestrians that wander around until they come into proximity of the zombies and then they swtich into a running state.

Triggers to change agent states are setup in the crowd_sim dopnet. The zombies group uses proximity to the stoplights and the color of the light to transition into a standing state when lights are red. The living group transition into a running state when they get close to the zombie agents.

Note

The animation clips need to be baked out before playing the scene. This should happen automatically if example is created from Crowds shelf. Otherwise save scene file to a location of your choice and click Render on '/obj/bake_cycles' ropnet to write out the files. The default path for the files is ${HIP}/agents.

ClipTransitionGraph Example for Crowd Transition dynamics node

This example demonstrates how to use a clip transition graph to provide transition clips for state transitions.

Fuzzy Logic Obstacle Avoidance Example Example for Fuzzy Defuzz VOP node

This example shows agent obstacle avoidance and path following implemented using a fuzzy logic controller.

See also

Render nodes

  • Agent

    This output operator is used to write agent definition files.

  • Alembic

  • Archive Generator

    Generates disk-based archives which can be used by either mantra or RIB renderers.

  • Bake Animation

    Bakes animation from object transforms and CHOP overrides.

  • Bake Texture

    Generates a texture map from one or more objects' rendered appearance.

  • Batch

    Renders the input ROP in a single batch job.

  • Brick Map Generator

    Allows you to convert Houdini volume primitives into Pixar brickmap files.

  • Channel

    The Channel output operator generates clip files from a particular CHOP.

  • Composite

    The Composite output operator renders the image(s) produced in the Compositing Editor.

  • DSM Merge

    Merges two or more deep shadow/camera map files.

  • Dynamics

    Saves the state of a DOP network simulation into files.

  • Fetch

    Makes a dependency link to a ROP in a different network.

  • Filmbox FBX

    Exports entire scenes to FBX files.

  • Frame Container

    Prevents frame dependency changes in the contained nodes from affecting its inputs.

  • Frame Depedency

    Allows an output frame to depend on one or more input frames.

  • Geometry

    Generates geometry files from a SOP or DOP network.

  • HQueue Render

    HQueue, or Houdini Queue, is a distributed job scheduling system.

  • HQueue Simulation

    HQueue, or Houdini Queue, is a distributed job scheduling system.

  • MDD Point Cache

    This output operator is used to write an MDD animation file.

  • Mantra

    Renders the scene using Houdini’s standard mantra renderer and generates IFD files.

  • Mantra Archive

    Generates disk-based archives which can be used by mantra.

  • Merge

    Merges several render dependencies into one.

  • Net Barrier

    Blocks the ROP network until synchronization occurs.

  • Null

    Does nothing.

  • OpenGL

    Render an image using the hardware-accelerated 3D viewport renderer.

  • Pre Post

    Renders ROPs before and after a main job.

  • RenderMan

    Renders the scene using Pixar’s RenderMan renderer.

  • RenderMan

    Renders the scene using Pixar’s RenderMan RIS renderer.

  • RenderMan Archive

    Generates disk-based archives which can be used by RenderMan .

  • Shell

    Runs an external command.

  • Subnetwork

    The SubNetwork output operator provides an easy way to manage large number of output operators.

  • Switch

    Renders one of several inputs.

  • Tractor

    Tractor is a program shipped out with Pixar’s distribution of RenderMan.

  • Wedge

    Re-renders the same ROP multiple times with different settings

  • Wren

    This output operator is used to drive the Wren rendering program.