An Agent is an instance of an agent type.
Each Agent has a dependency graph of nodes that computes the agent pose at each frame.
When an agent is created its DG is empty, then it gets populated by the Behaviour Modules of its parent Agent Group.
Each Behaviour Modules will either add new nodes or initialize some metadatas at the beginning of the simulation. The Behaviour modules will keep editing the graph or edit the metadatas during the simulation.
Nodes and Operators
The DG is built around nodes. Each node has a set of ports and ports of the same type can be connected.
Of course depending on the value of each port during the simulation the resulting ouput pose will be different.
Operators are special nodes computing a pose and passing it forward through a output pose port. They can optionally have an pose port as input, in this way you can have a cascade of operators.
Let's have a look at the following example network. There are three operators: the clipReader, pelvisOperator and footOperator nodes. As said, they all have an output pose port except of the clipReader.
The clipReader reads an Animation Clip object and passes the pose at the current time to the PelvisOperator which then does a bunch of other operations on the pose like placing the agent at the right height on the ground. The foot operator takes care of locking the feet on the ground.
This network was build automatically by a Behaviour Modules called "clipReader".
.