In Atoms, agents are simulated using the concept of gravity that drive the agent up vector. Thanks to this idea you can also simulate your agents walking on 3D meshes and not just on 2D planes.
The way you apply gravity your agents is by setting the gravityField on some of the Behaviour Modules, such as the State machine, Cache reader and Clip reader.
Gravity fields are actually height fields (you create them with the Height Field Manager). During the simulation Atoms uses the normal of the gravity field to change the gravity metadata of the agent and rotate his up vector.
For example, if you have a very an uneven height field (like in the picture), you can create a smoother mesh as your gravity field.
The gravity field is not the only way to drive the agent up vector. Any custom behaviour module can change the gravity metadata of the agent to achieve the same effects.Atomsでは、重力の概念を紹介しました。重力は、エージェントをベクトル化させます。こちらのアイデアによって、2D平面上だけでなく3Dメッシュ上を歩行するエージェントをシミュレートすることもできます。
エージェントに重力を適用する方法は、State Machine、Cache reader、Clip readerなどのBehaviour モジュールのいくつかにGravityフィールドを設定します。
Gravity フィールドは、実際にはHeight フィールドです(Height Field Managerを使用して作成します)。シミュレーション実行中に、AtomsはGravity フィールドの法線を使用してエージェントのGravityメタデータを変更し、上向きベクトルを回転させます。
例えば、(写真のように)非常に不均一なHeight フィールドがある場合は、Gravity フィールドとして滑らかなメッシュを作成することができます。
Gravity フィールドは、エージェントを動かすための唯一の方法ではありません。カスタムされた Behaviour モジュールでも、同じ効果を取得するためにエージェントのGravityメタデータを変更できます。