Behaviour modules

A Behaviour module has a set of methods which are called during the simulation at different stages. They are called in the following order:

  1. Init simulation (at the beginning of the simulation, before the first frame)

  2. Pre frame (for every frame before the agents are created)

  3. Agents Created (when some agents are created)
  4. Agents Killed (when some agents are deleted)
  5. Init frame (at the beginning of each frame after the agents are created)

  6. End frame (at the end of each frame)

  7. Pre Physics (Before the physics is run)

  8. Post Physics (After the physics is run)
  9. End simulation (at the end of the simulation - after the last frame)

Their responsibility is to interact with each agent node network and edit their metadata during the simulation. Each behaviour module usually interacts only with the agents created by the agent group owning the module.

In Atoms VFX software, new custom behaviour modules can be created directly in your scene with python using the Atoms UI or in C++ as new Atoms plugins. Please look at the technical documentation for more information.

Module parameters can be edited either by modifying directly their parameters or in case they are overridable (meaning they can be modified per agent) users can drive them with metadatas on the agents themselves.

The agent metadata names have to follow the following naming convention: MODULE_NAME@ATTRIBUTE_NAME
For instance, if you want to drive dynamically with a metadata the "weight" parameter of a CurveField module named "MyCurveField" the metadata name should be "MyCurveField@weight". 
If the metadata type is not the same as the attribute type the metadata is going to be ignored.

In this section, you can find a list of all the available behaviour modules.

Copyright © 2017, Toolchefs LTD.