Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



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 metadata, please check this section.
  • Users can assign Behaviour modules to each Agent Group to customize their simulation. During the simulation Behaviour modules edits 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 evaluates 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 at the bottom.

The first module in the module stack must be one or more layout modules ("gridLayout","pointsLayout","cacheReader",etc...). These modules create agents inside the agent group during the simulation.
From Atoms 3.6.0, you can have more than one layout module applied to your agent group with few exceptions:

  • the points layout must always be the first in the stack
  • the cache reader and sync modules cannot be used in conjunction with other layout modules

Each layout module which does not fall in the previous exceptions has a "groupIdOffset" parameter that needs to be edited by the user in order to prevent clashing of agent group ids. It is good practice to provide a "groupIdOffset" before starting to layout your agents. If you realize that you need to increase this value at a later stage, you can use the Group Id Offset tool.

After a layout module, you would usually add an animation module ("clipReader", "stateMachine", etc...) which add animation to the agents by creating the network of nodes to run animation clips inside the agent dg network. At this point, you can add 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.
In Maya, you can also drag and drop objects such as meshes and curves onto the behaviour list, and a dialog will pop up prompting all the modules that accept at least one of those objects as input. If you drag multiple objects of the same type, and select a module that accepts only one of those objects as input, you will create a new module for each object (i.e. dropping 3 curves and selecting "followCurve" will create three followCurve modules with one of the curves as input).

After adding a module to the stack, you can rename it to your liking.


Warning

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.
  • For numerical attributes, you can CTRL+click and drag to edit the value.
  • Right clicking on the list will show a menu containing the following actions: Copy/Paste Modules (these can be copied between different agent groups), Enable, Disable, Delete

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 page for more information.




Draw mode

An agent group has 6 different display types.


Skeleton

In skeleton mode only the agent skeleton is drawn.

Mesh

In mesh mode the low geo stored inside the Agent type is used.

Skin

In skin mode the skin geo stored inside the Agent type is used.

Variation

In variation mode the "variation" metadata value is used to draw the correct variation meshes using the variation json table.

Lod

The "lod" metadata is used to look up the variation json table, if no lod is found the "variation" is used as a fall back.

None

No mesh or skeleton is drawn, but the agents are still simulated.



MAYA ONLY

Use Color Metadata: If on and the agent has a "color" metadata, the "color" value is used for the viewport display.

Use Compute Shader: activate LOD and Frustum culling on this agent group (viewport only).

Maya

Houdini



Debugger

Please check the Debugger Debugger page for more information.



Draw metadata

An agent group can also draw agent metadata. This is useful for debugging your simulation.

Always remember to enable the Draw Metadata option before adding new metadata.

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 metadata is tool small, please tweak the draw scale and font size parameters.

Note

In Houdini the metadata list is not available. Please refer to the docs to see a list of default metadata ("Agent metadata" section) that you can display in the viewport.


Maya

Houdini