On this page | |
Since | 14.0 |
This output operator is used to write files that define an agent. The created
files can then be loaded in by the Agent SOP 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 are automatically promoted to point normals as a result.
Parameters ¶
Save to Disk
Begins the render with the last render control settings.
Controls
Opens the Render Control window, which allows you to adjust the render parameters before rendering.
Valid Frame Range
The frames to render.
Render Current Frame
Allow baking any and all frames.
Render Frame Range
Only bake the frames in the Start/End/Inc frame range, but allow baking other frames if they are referenced by in-range frames.
Render Frame Range Only (Strict)
Only bake the frames in the Start/End/Inc frame range, 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 the 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
The source of the agent definition that is written to disk. See agent definition sources for details on the parameters of the sources:
Character Rig
Generates an agent definition from a character rig in the scene.
Agent Primitive
Uses the agent definition from an existing agent primitive.
FBX
Generates an agent definition from an FBX file containing a character.
Agent Name
The name of the agent. This parameter is provided for convenience
so that it can be referenced via the $AGENT
local variable in other
parameter values.
Cache Directory
The parent directory of the 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
The filename for the agent rig. The rig file is a JSON file describing the transform hierarchy of the agent.
Agent Layers
The filename pattern for agent layer files.
The ${LAYER}
local variable can be used to include the name of the layer in the filename.
Shape Library
The filename for the agent shape library.
Clips
The filename pattern for agent clip files.
The ${CLIP}
local variable can be used to include the name of the clip in the filename.
Transform Groups
The 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
The filename pattern for the agent definition’s metadata, which is a JSON file containing additional custom data.
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.
Pre-Render Script
Executes this script before any baking.
Post-Render Script
Executes this script after all baking.
Agent definition sources ¶
Character Rig ¶
Character Rig
The path to the object subnetwork containing the character rig.
Traverse Outputs
When turned on, the Character Rig path is used to specify the nodes to import by traversing its outputs instead of its children.
Pattern
The pattern used to limit the nodes that should be imported. Patterns using usual
opglob syntax along with
@‹bundle›
references are accepted.
Note
Relative paths specified here are relative to this node, not to the Character Rig.
Type
Optional mask to further restrict the object node types that are imported.
Turn off the toggles to prevent baking particular types.
Minimal Nodes
When turned on, only imports objects whose display flags are on. When turned off, all the nodes in the character rig are imported into the animation clip.
Keep Transforms for Deforming Shapes
When Minimal Nodes is turned on, this specifies whether nodes containing deforming geometry are included in the agent’s rig and clips.
Convert to Polygon Soups
When turned on, combines polygon primitives into polygon soup primitives when creating the shape library.
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
The 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
When turned on, generates 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 turned on, this is the name of the collision layer.
Clip Name
The name of the baked out clip (agent animation). The animation is taken from the current scene.
Additional Channels
Adds channels from the specified CHOP node to the agent’s clip.
Shift Clip to Frame 1
When turned on, shifts the output clips from the specified frame range to start at frame 1.
Create Locomotion Joint
When turned on, creates an extra joint named __locomotion__
, which
serves as a placeholder for factored out locomotion animation when
Convert to In-Place Animation is turned on.
Convert to In-Place Animation
When turned on, converts 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 Character Rig that controls the
locomotion of the character (the node in the character rig that has
translation channels that move it forward in space).
If this parameter is empty, the Character Rig node is used.
When Convert to In-Place Animation is turned on, Houdini uses Locomotion Node 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 is attached to a moving particle.)
The locomotion animation is placed in a separate transform in the rig named __locomotion__
.
Locomotion Orient
If this parameter and Locomotion Node are specified, the generated
__locomotion__
transform also contains rotational information using
the vector from the Locomotion Node to the Locomotion Orient node.
If this transform is the same as the Locomotion Node, its orientation is directly extracted.
This parameter has no effect if Locomotion Node is empty.
Project Positions on Dominant Axis
When creating the animation of the Locomotion Node, turning this on projects the positions along the dominant axis of motion in the XZ plane.
If the clip is used as an in-place clip with the crowd solver, turning on this option can help to maintain hip swaying in the motion.
Use Pivot from First Frame
When creating the animation of the Locomotion Node, turning this on calculates the positions to be relative to the origin. If this option is turned off (the default), the positions are relative to where it was on the first frame.
Agent Primitive ¶
SOP Path
Specifies a SOP network that contains an agent primitive.
FBX ¶
FBX File
The filename of the FBX file to generate agents from.
Import Principled Shader Values
When turned on, creates the material_override
attribute inside the shape
geometry, which imports the material values from the FBX that are suitable
for use with Houdini’s Principled Shader material.
Note
In order to get accurate texture paths, this causes the FBX file to be
imported with “Extract Embedded Data” enabled, which causes .fbm
directories on disk to be created with the textures extracted within
them.
Convert Units
When turned on, converts to Houdini units when importing the FBX file.
Remove Namespaces from Joint Names
When turned on, joint names imported from the FBX File are stripped of any namespace prefixes.
Minimal Nodes
When turned on, only imports objects whose display flags are on. When turned off, all the nodes in the character rig are imported into the animation clip.
Keep Transforms for Deforming Shapes
When Minimal Nodes is turned on, this specifies whether nodes containing deforming geometry are included in the agent’s rig and clips.
Load as Polygon Soups
When turned on, creates polygon soup primitives instead of polygon primitives when loading geometry from the FBX file.
This can reduce memory usage, particularly when rendering with Mantra.
Include Unused Capture Regions
When importing a skinned mesh with this option turned on, additional capture regions with identity transforms are added to the boneCapture
attribute for the ancestor joints of any captured joints.
It is recommended to only turn on this option for compatibility with older scene files, as it can introduce issues with unpacking or merging the rest geometry of multiple skinned shapes.
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
The 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
When turned on, generates 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 turned on, this is the name of the collision layer.
Clip Name
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.
Sample Rate
When turned on, uses the specified sample rate for the clip 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.
Create Locomotion Joint
When turned on, creates an extra joint named __locomotion__
, which
serves as a placeholder for factored out locomotion animation when
Convert to In-Place Animation is turned on.
Convert to In-Place Animation
When turned on, converts a moving character animation to an in-place clip by subtracting the positions of the Locomotion Node relative to the origin.
Locomotion Node
The node inside the FBX scene that controls the
locomotion of the character (the node in the character rig that has
translation channels that move it forward in space).
If this parameter is empty, the FBX scene’s root node is used.
When Convert to In-Place Animation is turned on, Houdini uses this parameter 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 is attached to a moving particle.)
The locomotion animation is placed in a separate transform in the rig named __locomotion__
.
Locomotion Orient
If this parameter and Locomotion Node are specified, the generated
__locomotion__
transform also contains rotational information using
the vector from the Locomotion Node to the Locomotion Orient node.
If this transform is the same as the Locomotion Node, its orientation is directly extracted.
This parameter has no effect if Locomotion Node is empty.
Project Positions on Dominant Axis
When creating the animation of the Locomotion Node, turning this on projects the positions along the dominant axis of motion in the XZ plane.
If the clip is used as an in-place clip with the crowd solver, turning on this option can help to maintain hip swaying in the motion.
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
turned on, 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 set to FBX.
FBX_TAKE_INDEX
Contains the index of the current take in the FBX file when evaluating the Clip Name parameter, and Source is set to FBX.
See also |