An Agent agent is an instance of an agent type.
Each Agent agent has a dependency graph of nodes that computes the agent pose at each frame.
When an agent is created, its DG is empty, and it gets populated by the Behaviour Modules of its parent Agent Group.
At the beginning of the simulation, each Behaviour Module will either add new nodes or initialize some metadatasmetadata. The Behaviour modules Modules will keep editing the graph or the metadatas metadata during the simulation.
The available Behaviour Modules will only modify the Agent metadata listed in the Metadata page.
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 output pose will be different.
Operators are special nodes computing a pose and passing it forward through an output pose port. They can optionally have an a 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. They all have an output input 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 built automatically by a Behaviour Modules Module called "clipReader".
.
Atoms Crowd has some default operators, but users can create new ones in C++ to achieve custom results. The technical documentation explains how you can create new operators in c++.
In this section, you can find a list of all the available operator nodes.
Child pages (Children Display) | ||
---|---|---|
|