|On this page|
This node creates custom agent layers which can be used to add variations to the look of the agent. A layer specifies an assignment of shapes from the agent’s shape library to transforms in its rig. New geometry shapes can be added to the shape library and then attached to specific transforms.
The agents to add the new layer to.
The name of the new layer.
Keep External References
If new shapes are being added to the shape library, a copy will first be made so that the modifications do not affect other agents that reference the original shape library (such as those in the input SOP’s geometry). If this option is enabled and the original shape library referenced a file on disk, the new shape library will be marked as including the original shape library. In this situation, when the agent is saved to a geometry file, the path to the original shape library is saved out along with any new shapes that were not included from the original library. Otherwise, the entire shape library will be saved to the geometry file and the original shape library file is not referenced.
Set as Current Layer
Sets the current layer of each agent to the new layer.
Set as Collision Layer
Sets the collision layer of each agent to the new layer.
Copy Source Layer
Specifies whether to use an existing layer as the starting point for the new layer. All of the shape bindings from the Source Layer will be copied.
If Copy Source Layer is enabled, specifies the name of an existing layer to copy shape bindings from.
Source Layer Bindings
Specifies a pattern of transform names for which shape bindings should be copied from the Source Layer. The pattern follows the same syntax as the match VEX function.
Add Shapes by Name
For every unique value of the Name Attribute, a shape will be added to the shape library using the primitives from the Shape Geometry Path that have that attribute value. Shape bindings will be automatically added to the layer for any shapes whose name matches the name of a transform in the agent’s rig.
Shape Geometry Path
Specifies the geometry to use when Add Shapes by Name is enabled.
Specifies the primitive string attribute used to identify primitives belonging to each shape in the Shape Geometry Path.
Specifies the number of shape bindings that should be added.
Specifies which transform in the rig the shape should be attached to.
The name of an existing shape from the agent’s shape library that should be attached to the Transform Name.
If enabled, adds a new shape to the agent’s shape library and attaches it to the Transform Name.
The SOP geometry for the new shape.
A unique identifier for the new shape.
Specifies a multiplier for the size of the shape’s bounding box when computing the layer’s bounds. See the Agent Primitive help page for more information on how an agent’s bounding box is computed.
Keep Position When Attaching
Specifies that the new shape should be transformed before being added to the shape library so that its current world position will be maintained after being attached to the Transform Name.
Specifies the translation component of a transform to be applied to the shape before adding it to the shape library.
Specifies the rotation component (in degrees) of a transform to be applied to the shape before adding it to the shape library.
Specifies the scale component of a transform to be applied to the shape before adding it to the shape library.
Agent primitives to be used in crowd simulation.
Agent primitives to be used in crowd simulation with additional layer and shape information.
This example demonstrates how to create several layers with different geometry variations and randomly assign those layers to agents.
The following examples include this node.