Houdini 20.5 Nodes Geometry nodes

Agent Definition Cache geometry node

Writes agent definition files to disk.

Since 17.0

This SOP combines an Agent ROP and Agent SOP to provide a simple way to write out an agent primitive’s definition to disk. This can be useful at the end of a SOP chain that initializes an agent (for example, using the Agent Clip SOP and Agent Layer SOP).

The Caches help page provides more information on when it may be advantageous to store the agent definition as separate files on disk.

Parameters

Load from Disk

Switches between passing through the input agent and the agent loaded from the agent definition files on disk.

Keep External References

Specifies whether the agent primitives should reference the agent definition files on disk. If enabled, saving agents to a geometry file will only store references to the agent definition files, instead of embedding the agent definition in the .bgeo or .geo file (which produces a self-contained, but larger, geometry file).

Reload

Reloads the agent definition.

Agent Properties

Rest Frame

Specifies the frame to evaluate the input agent at when saving to disk. If the input agent is time-dependent, this controls which frame’s agent definition and attribute values are cached.

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.

Save to Disk

Writes the agent definition files to disk.

Create Intermediate Directories

When turned on, creates intermediate parent directories for output files as needed. Currently only applies to generated scripts, images, and shadow maps.

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.

Metadata

Filename pattern for the agent definition’s metadata, which is a JSON file containing additional custom data.

Attributes

Saves a geometry file containing the agent primitive’s attributes and properties such as the agent’s current layers. While this is not part of the agent definition, it can be useful to preserve the input agent’s attributes when loading from the cache.

Agent Properties

Specifies initial values for agent properties, such as the layers to display, when the agent definition is loaded from disk.

Current Layers

The layer (or list of layers) to assign to the agent. When Allow Attributes to Override is enabled, this can be replaced by the currentlayers string array attribute (or currentlayer string attribute) on the input points.

By default, this parameter is empty, which means to use the value of the Layer Name parameter. When loading from disk, the layer named default will be used if it exists, and otherwise the first available layer in the agent definition will be used.

Collision Layers

The collision layer (or list of collision layers) to assign to the agent. When Allow Attributes to Override is enabled, this can be replaced by the collisionlayers string array attribute (or collisionlayer string attribute) on the input points.

By default, this parameter is empty, which means to use the value of the Collision Layer Name parameter. When loading from disk, the layer named collision will be used if it exists, and otherwise the first available layer in the agent definition will be used.

Current Clip

Name of the animation clip the agents will be running. When Allow Attributes to Override is enabled, this is replaced by any currentclip string attributes on the input points. By default, this parameter is empty, which means to use the first available clip in the agent definition.

Clip Offset

Time into the current clip to begin playing at (in seconds). When Allow Attributes to Override is enabled, and the input points contain the clipoffset float attribute, then those values are added to this parameter value for each agent.

Apply Clip Locomotion

If enabled, apply the __locomotion__ transform from the agent rig so that you can easily previsualize locomotive clips.

See also

Geometry nodes