An Agent Group handles a group of Agents and their behaviours.
- Each Agent has a dependency graph responsible for building the pose of the agent at each frame and a variable set of custom data that we call Metadata. Metadata can be attached to almost every Atoms entity. Agents are just one of them. For a full list of metadatas, please check this section.
- Users can assing Behaviour modules to each Agent Group to customize their simulation. During the simulation Behaviour modules will edit the Agents dependency graph or their metadata, this will make them behave differently. The modules are evaluated in order. By placing a "follow curve" curve module before an "agent avoidance module", Atoms will evaluate the "follow curve" first. For a full list of Behaviour modules and their parameters, please check this section.
Add a behaviour module
Maya
From the Behaviour module list press the "Add button" and select a module.
Houdini
From the Behaviour module list choose a module.
It is possible to disable a module without removing it from the list using the checkbox next to the module name. You can remove or move a module up or down in the list using the 3 buttons on the bottom
The first module in the module stack must be a layout module. Atoms has several layout module ("gridLayout","pointsLayout","cacheReader",etc...). These modules creates agents inside the agent group during the simulation. After a layout module you can add an animation module ("clipReader", "stateMachine", etc...). These modules add animation to the agents creating the network of nodes to rean animation clips inside the agent dg network. After them you can add all the other modules to drive the agents or set metadata.
The Maya Atoms Group UI offers a search box and nested menus for fast module searches.
After you have a module to the stack you can rename it to your liking.
HOUDINI ONLY: please make sure to use only the right side buttons for moving, deleting or disabling a module. Never use the buttons on the left side.
Edit Behaviour module attributes
Maya
After selecting a module from the Behaviour module list, you can edit its metadatas from the "Behaviour Module Options" panel. The metadatas are converted to standard Maya attributes and the UI is just a user friendly representation. All attribute can be found inside the "Extra Attributes" section of the Attribute Editor.
You can animate the attributes from the UI or use standard Maya tools.
You can also connect Maya attributes with module metadatas by dragging attributes from the Outliner on the metadata fields of Behaviour Module Options panel.
Houdini
After selecting a module from the "Modules Attribute" tab, tab you can edit its metadatas. The metadatas are converted to standard Houdini parameters so they can be animated and connected.
Some attributes can be edited per agent with the "Agent Override dialog". You can open the dialog using the button on the right side of the attributes.
Please check the Agent override dialog form more information
Draw mode
An agent group has 6 different type of draw modes.
SkeletonIn skeleton mode only the agent skeleton is drawn. | MeshIn mesh mode the low geo stored inside the Agent type is used. | ||
SkinIn skin mode the skin geo stored inside the Agent type is used. | VariationIn variation mode the "variation" metadata value is used to draw the correct variation meshes using the variation json table. | ||
LodThe "lod" metadata is used to look up the variation json table, if no lod is found the "variation" is used as a fall back. | NoneNo mesh or skeleton is drawn, but the agents are still simulated. |
Maya
Houdini
Draw metadata
An agent group can also draw agent metadatas. This is useful for debugging your simulation.
Always remember to enable the Draw Metadata option before adding new metadatas.
Once you have added metadata you can decide its display mode:
- Text, just displays the metadata value as text
- Vector mode, if the metadata is a vector (i.e. direction) it will draw a vector using the agent as origin
- Circle mode, if a metadata type is vector it will use the length of the vector as the circle radius, if it's double then the value of the metadata itself is going to be used as the circle radius
If you find that the graphical representation of the metadatas is tool small, please tweak the draw scale and font size parameters.
In Houdini the metadata list is not available. Please refer to the docs to see a list of default metadatas ("Agent metadatas" section) that you can display in the viewport.
Maya
Houdini