An Agent type is a specialized Simulation event describing an agent definition. It contains a skeleton, proxy and skinned geos. It has a scale multiplier and can be linked to a State machine.
Atoms Crowd provide tools for exporting the necessary files to define your agent types.
Skeleton
Users can create the agent type skeleton in their favorite 3D package (i.e. Maya, Houdini, etc.) with a hierarchy of joints/bones.
The body skeleton should live under one main root, but you can also have detached joints or hierarchies. These should be added as extra (prop) joints when exporting the skeleton.
In order for a skeleton to work in Atoms, users have to tag the following joints: any pelvis joint, any foot root (the first joint of a leg), any foot ik (the IK handle) and any foot tip.
For a biped, you'll have one pelvis, two foot root, two foot iks and two foot tips.
Atoms needs these information to place correctly your agents on the ground and apply the foot lock during the simulation.
Skinned geo
The skinned GEO can be single or multiple meshes skinned to the skeleton. At export time all the meshes, skin weights, UV and textures are saved inside the skinned GEO definition file.
State machine
For every agent type you can link a state machine. During the agent creation stage, the state machine module uses this name to build the linked state machine.
Agent scale
This value is a multiplier on the global scale of the skeleton. The pelvisHeight, footHeight, velocity metadatas are affected by this value.
Retargeting
The retargeting section can have a single or multiple retargeting agent types. This agent type is mapped to the given agent types with a retargeting method and an optional config map file containing a map of joint names.
The retargeting method is used for evaluating a scale factor used while animation clips are being read:
- Pelvis To Feet: the factor is calculated as the ratio of the Y values of the average distances between the main pelvis and foot tips.
- Bounding Box: the factor is calculated as the ratio of the Y values of the skeleton bounding boxes.
- User Factor: provided by the user.