Golaem Crowd uses two modes of ground adaptation: by animation (on footprints), or on the particle.

Particle Ground Adaptation

The particle Ground Adaptation mode only adapts the height of the particle on the ground, whatever the character is and whatever animation is played. The height of the character's pelvis above the particle only depends on the skeleton's configuration (.gskm) and the entity type configuration.

More precisely, the height of the simulated pelvis is going to be the height of the skeleton's pelvis (see the Character maker's Skeleton Tab to change the Ground Height on a character) multiplied by the Skeleton Pelvis Height Ratio configured on the Entity Type:

Simulated pelvis height = Skeleton pelvis height (left) * Entity Type Pelvis Height Ratio (right)

Footprint Ground Adaptation

The footprint Ground Adaptation is a classical ground adaptation system that works by performing Inverse Kinematics on the limbs that have ground support sequences configured in the animations.

The ground adaptation mode is configured by the Ground Adaptation behavior, but it also depends on a number of other things that can be summed up by the following chart:

 

So to make sure the ground adaptation behave the way you need, please check that your scene is configured in a way that allows to use the desired ground adaptation mode.

Character Skeleton

Ground adaptation works with biped or multiped characters. This behavior adapts legs to be properly aligned and adapted on ground.

For biped characters, legs must be directly attached to the pelvis.


Legs must be attached to the pelvis or ground adaptation won't work. See Character Maker Skeleton Mapping Tab for more details

For multiped characters, there must be at least two legs connected to the pelvis. The other legs can be connected to any spine bone.


Multiped characters have at least connected to pelvis and others connected to spine bones.

Motions

When playing a Motion using the Motion or Locomotion behaviors, the animation engine uses the footprints defined on the Motion file to adapt Limbs of the character to the ground geometry. Footprints define for each Limb when the Limb is in contact with the ground during an animation.

To create or edit footprints on a Motion file, see the Character Maker Motion Tab and Character Maker Locator.

Terrain

A terrain node must have been created for ground adaptation to work.
Difference between navmesh and terrain : the terrain is the one used to place the feet.

Notice that only one Terrain can be used at simulation time. If there are several Terrains in your scene, you can decide which you one you will use in the Crowd Manager.

Motion / Locomotion  Behaviors 

The Motion and Locomotion behaviors automatically adapts characters to the ground provided all the above-mentionned prerequisites are fullfilled. Unless you want to change ground adaptation parameters, you DO NOT need an Adapt Ground behavior.

Navigation Behavior 

Provided the Terrain related prerequisite is fullfilled, the Navigation behavior automatically adapts the root height of the characters, even if not playing any motion with the Locomotion/Motion behaviors.

Cases where you should use the Adapt Ground Behavior include: 

  • particular characters or motions for which you do not have any footprint computed
  • characters not handled by the animation engine (e.g. animated by a Geometry Animation Behavior)
  • cancelling ground adaptation or modifying ground adaptation parameters when using a Motion or Locomotion behavior

The Adapt Ground behavior only sets a parameter which means it is usually enough to use it at the beginning of the Behavior Flow and stop it at once. However do not forget to set its stop trigger to "true" or it will never stop and block your behavior.

See the Adapt Ground Behavior reference page for more details.

The ground adapt behavior works by modifying root and spine bone height position according to ground. Thus having ground adaptation on falling or lying down characters will make the character flying above ground if their foots are set to be on ground.

The possible result of ground adaptation with falling of lying down character

There are two ways of correcting this issue

 

  • Add a ground adaptation and change the stop trigger to the frame when the character doesn't have his feet on ground anymore. see the Behavior Triggers.

Ground adaptation will be stop at frame 120

  • Edit the motion foot prints and remove the keys

Ground Adaptation FAQ