There are multiple ways to animate a character in Golaem Crowd. Either trough the animation engine (Motion Behavior or Locomotion Behavior) or thanks to baked geometry animation, in fbx or gcg file, through the Geometry Behavior. Even when using the animation engine, there are several options: either by replaying the exact same animation on the exact same skeleton, or by using the animation mapping features.
Each case has its own prerequisite, which can be summurized as follow:
Direct FBX/USD Replay | Animation Mapping with FBX/USD/BVH files | Animation Mapping with GMO files | Baked Geometry | |
Translation and Scale Animations | ![]() |
![]() |
||
Modular Skeleton | ![]() |
![]() |
||
No Animation Conversion | ![]() |
![]() |
||
Ground Adaptation | Only if legs are mapped and |
![]() |
![]() |
Particle based |
Locomotion | Only if legs are mapped and pelvis drives all the bones |
![]() |
![]() |
|
Physics | ![]() |
![]() |
![]() |
|
IK / LookAt | ![]() |
![]() |
![]() |
Replay mapping can be done either by converting the animation into a gmo file, or directly with the fbx/usd/bvh fiel and an Motion Skeleton Mapping, as detailled in this page.
Even if the previous list of prerequisites is enough to ensure a working animation, a few other things may help obtaining a better animation quality when dealing with bipeds:
The following figure describes the different planes of the body used to describe the location of body parts in relation to each other:
The following figure shows the recommended skeleton posture:
Recommended biped skeleton
Even if the previous list of prerequisites is enough to ensure a working animation, a few other things may help obtaining a better animation quality:
At each frame, only one Squash’n Stretch ratio per auxiliary/extension bone chain is computed, based only on the positions of the joints which are parts of the bone chain. So for all the joints consisting of the same bone chain, scales or position translations must be uniform in time, e.g. must vary in the same way. For instance, if considering stretch on the arm of a human morphology (made of an arm bone and a forearm bone):
![]() |
![]() |
Right arm OK, as
both forearm |
Right arm not properly
handled, as arm bone is first growing/reducing before forearm bone is doing so |
The amount of squash/stretch associated with a bone is computed considering the distance between this bone and its child. If a bone has several children, then all the distances from this bone to its children are taken into account to obtain a Squash’n Stretch average ratio. So the distances between a bone and its children must vary in the same way. For instance, if considering the hand of a human morphology (a hand bone with five finger bones):
Right hand not properly handled, as index finger is stretching whereas
other fingers are squashing
The issues described above generally occurs when:
setting animation keys to scale several bones of a same bone chain, but not at the same frames;
using non-uniform scale on a bone that have several children bones;
using complex rigs to control the joint animation (that may cause minor but chaotic variations in the distances between a bone and its children bones).
See the Geometry behavior.