Motion Prerequisites

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
pelvis drives all the bones
Particle based
Locomotion Only if legs are mapped and
pelvis drives all the bones
 
Physics  
IK / LookAt  

FBX/USD animation direct replay

Character Prerequisites

  • all character meshes should be skinned on the character skeleton
  • the skeleton should be a hierarchy of maya Joints (also called bones in this documentation) or maya transforms. 

Animation Prerequisites

  • Using the exact same skeleton than the character (same number, same hierachy, same names)

Animation replay with mapping

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.

Character prerequisites

  • all character meshes should be skinned on the character skeleton
  • the skeleton should be a hierarchy of maya Joints (also called bones in this documentation) or maya transforms. 
  • all the bones of the hierarchy must be connected together (directly or via transform nodes)
  • the root bone of the skeleton (see Skeleton Tab) must control the skinning overall position, orientation and scale
  • as the root bone controls the overall orientation of your character, make sure to place it at a correct location (for a biped it can be the same bone than the hips, for a car it is better if it is a separate bone positioned on the floor (Floor Ref bone)).
  • all the bones should have the "Segment Scale Compensate" unchecked.
  • all the nodes above the root bone (transforms, controllers) should have a identity scale (1., 1., 1.)
  • all the rig controllers should be removed from the hierarchy

Recommendations on Biped Skeletons

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 skeleton should be given in a standing posture, with symmetrical angle on left and right parts
  • The upper member joints should be the hierarchical children of the bust (and not of the neck!)
  • The lower member joints should be the hierarchical children of the pelvis (and not of the spine!)
  • Head should look towards the horizon
  • Arms and legs should be on Coronal plane (see the figure below), with hands face down
  • Arms, legs and fingers don't need to be outstretched but should not be unextended neither. In fact, a tiny flexion in the correct direction is the best possible configuration
  • Feet should be in rest pose, with both the heel and the phalanges on the ground
  • If planning to retarget motions from other skeletons, the pelvis joint should be at the same height relatively to the characters than the skeleton used to create these motions (usually hips height, see picture below). 
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

Animation prerequisites

  • apart from the root bone of the skeleton, for retargeting, only joint orientation animations and squash'n stretch (see below) are supported. Joint translation animations can be replayed by using Blind Data.  Notice that translation animations can also be emulated for the retargeting by using an IK rig (see tutorial)
  • any animation rig can be used as soon as it always affects skeleton joint orientations (and position for the root bone)
  • when creating locomotion animations (walk, run, turn cycles...) intended to be used in a Locomotion Behavior, more prerequisites can be found here.
  • for looping animations, the first and last frames of the animation to convert must be similar.

General Recommendations

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 using complex rigs to control the joint animation, make sure to bake the animation before converting it. Sometimes, when querying the orientation of the joints in the skeleton, Maya can return different value than what's displayed in the viewport.
  • pay attention to the Conversion Quality indicators in the Character Maker: if the curves turn red, it means that the animation will not be replayed correctly in the simulation.

Squash'n Stretch Specifics

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
and arm bones are growing in
the same way at the same time

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).

Baked geometry animation

See the Geometry behavior.