|On this page|
This node adds new shapes and layers to the agent definition. A layer contains one or more shape bindings, which reference a shape from the agent’s shape library and specify the deformer that should be used (or the joint to attach a static shape to). After populating the crowd, multiple layers can be assigned to each agent to create geometry variations.
The agents to be modified.
Add Shapes by Name
Adds new shapes to the shape library from the second input’s geometry. For every unique value of the Shape Name Attribute, a shape will be added to the shape library using the primitives that have that attribute value.
If the shape is added to a layer and the
boneCapture point attribute is present, the shape binding will use the
linearskinning deformer by default.
However, if the shape geometry consists of a single packed primitive and its point is weighted to a single joint (i.e. describing a rigid deformation), this will be translated into a static shape binding.
Shape Name Attribute
When Add Shapes by Name is enabled, specifies the primitive string attribute used to identify primitives belonging to each shape in the second input’s geometry.
Keep External References
When 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.
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.
Bounds Scale Mode
Specifies how the bounds scale is determined for each shape binding.
Bounds Scale Attribute
Overrides or multiplies the Bounds Scale with the value of a primitive attribute on the shape geometry. This can be used to specify a per-shape bounds scale when importing multiple shapes.
Overrides the binding’s shape deformer using this deformer name.
Shape Deformer Mode
Specifies how the shape deformer is determined for each shape binding.
Shape Deformer Attribute
Overrides the binding’s shape deformer using the deformer name specified by this string primitive attribute on the shape geometry.
Specifies which transform in the rig to attach the shape to. This is typically only used for binding rigid shapes.
Transform Name Mode
Specifies how the transform name is determined for each shape binding.
Transform Name Attribute
Overrides the transform in the agent’s rig that the shape will be attached to, using the value of a primitive attribute on the shape geometry.
Set Current Layers
If enabled, specifies which new layers should be displayed. This is done by modifying the agents' current layers.
Layer Name Attribute
When Add Shapes by Name is enabled, this primitive string attribute (on the second input’s geometry) is used to specify which layer the shape should be added to. This can be useful for procedurally partitioning the new shapes into layers. For example, if the Layer Name Attribute is the same as the Shape Name Attribute, a separate layer will be created for each individual shape.
Number of Layers
Specifies the number of layers to create. When Use Layer Name Attribute is enabled, these layers are merged with the layers specified by the Layer Name Attribute.
Toggles whether the layer is created.
Specifies the name of the new layer.
When Add Shapes by Name is enabled, specifies which new shapes should be added to this layer. The pattern follows the same syntax as the match VEX function.
When enabled, only this layer will be displayed (overriding the Set Current Layers parameter). This can be useful to quickly visualize the shapes in a specific layer.
If Copy Source Layer is enabled, specifies the name of an existing layer to copy shape bindings from.
Filter by Transform
Specifies a pattern of transform names. Shape bindings that are attached to these transforms will be copied from the Source Layer. The pattern follows the same syntax as the match VEX function.
Filter by Shape
Specifies a pattern of shape names. Shape bindings that use these shapes (and also match the Source Layer Bindings pattern) will be copied from the Source Layer. The pattern follows the same syntax as the match VEX function.
Specifies the number of shape bindings to create from existing shapes.
Toggles whether the shape binding is created.
The name of a shape in the agent’s shape library.
Agent primitives to be modified.
Optional input providing shapes to be imported when Add Shapes by Name is enabled.
Optional input providing the character’s capture pose for skin deformation.
This overrides the capture data stored in the shape geometry’s
Each joint in the skeleton is represented by a point, where the
matrix3) attributes contain the joint’s transform.
name attribute contains the joint’s name, and is matched up with the capture paths in the shape geometry’s
The skeleton’s hierarchy is represented by two-point polygons between the points for each child joint and its parent.
The modified agent primitives.