Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Atoms has a behaviour module called "sync". THis module is usefull with horse/rider setup or any other setup where you need to syncronize or constraint agents of different agents group.

Let's see an example of a horse/rider setup


Asset preparation

Since atoms syncronize the agents the animation clips used by the 2 agents must by sincronyzed during the creatin of the fbx from the animation scene.

Usually the horse skeleton has an extra joint and the rig of the rider is constrained to this joint or you can bake the animation of the rider pelvis and the copy this animation to the horse extra joint. Export the animation clip as usual and load them inside atoms with also the agent type.

Set the agent group order

Create two agent groups with a layout module (grid or paint layout module) and a clip reader or state machine module. On the first agent group set the horse as agent type, and on the second one set the rider.

During the simulation Atoms cumpute sequentially the agent groups in the scene, so the agent gorup with the horses must be computed first since is the driver agent. To do that you can select the horse agent group and the rider agent group and then press the sync command from the Atoms shelf.

Or you can connect the messagge attribute of the horse agent group to the  parentAgentGroup message attribute of the rider agent group



Adding the sync module

The last ste to do is add the sync module to the rider agent group. This module copied for each agent some metadata from parent agents. It also override the current layout module, so you need to set the rider in the agent type attribute of the sync module. The you mast set the parent joint name (the driver joint) and the rider joint name (the driven joint). You can add also an offset and active the keepOffset to mantain the child joint animation. If the keepOffset is off then the module applies a normal constriant without offset. If you need to copie more metada, expand the metadata attribute list of the modules and add the metadata names you want copy from the parent agent.

Rewind the scene and you will see the riders constrained to the horses.

  • No labels