Converting Skeleton

Golaem Crowd uses a dedicated animation engine, which can automatically retarget, blend and mix motions on any kind of morphology. To perform these features, the animation engine uses its own representation of characters and motions. It consists of two steps:

This skeleton conversion is done using the Skeleton Tab of the Character Mode in the Character Maker.

Defining the Golaem Skeleton

We demonstrated this step in a Golaem Live! video. It comes as a complement of other information below.

 

Loading The Maya Skeleton

Golaem Crowd uses a dedicated animation engine, which can automatically retarget, blend and mix motions on any kind of morphology. These features can only be performed because it uses its own skeleton for internal computation. However it does not mean that you have to use the Golaem Crowd skeleton only. You just need to create a mapping between your characters' skeleton and the Golaem Crowd one. This mapping is created thanks to the Character Mode of the Character Maker and stored as a part of the Character File (.gcha).Once generated, this file will be referenced by the Entity Type.

Note that if several bones could be considered as the root of your skeleton, you should always choose the bone which will place/scale your character in the scene. This root bone can possibly be the child of other bones, but these parent bones should not rotate/translate/scale the character. Otherwise when simulating or rendering you could face unexpected results.

Golaem Crowd creates a Locator which enables to check if the skeleton has been correctly detected. It can be moved using the Maya tools in order to see it better.

If you cannot see the Character Maker Locator, make sure your display parameters are correct (Show/Locators should be checked). Also note that you can control the bones size of the Character Maker Locator with the usual Display / Animation / Joint Size dialog.

Left: Character Maker Locator showing an incorrecly detected skeleton - Right: The same skeleton correctly detected.



Example of a correct value for Ground Height

Creating the Skeleton Mapping

Check the Skeleton Mapping

Global Structure

After the skeleton mapping nodes have been generated, you should check in the workspace that:



Example of a correct Skeleton Mapping

You can check the Character Main Concepts for a definition of each node and what they represents in most common characters. See Character Maker Main Workspace for a precise definition of each node, and Character Maker Controls to know how to add/remove or link nodes.

Check Bone Mapping

After having checked if the global structure of the character is correct, you need to check that each Skeleton Mapping Node is mapped to the correct bone. Bone mapping relies on the concept of Extension and Auxiliary Bone Chains

If you look at the fingers, you will notice that the automap mapped part of their bones to auxiliary and another part to extension. The recommended way to map fingers is to map all bones to extension.

Check IK Normal Planes

IK Normal Planes define in which direction the bones chains bend. They're displayed as white plane in the Locator.

It is important to check they are correctly defined before saving the Character File. As the IK Normal Planes definition strongly depends on how the skeleton has been defined, there is no absolute rule. However, the following example meet the most common skeleton setup for a human:

IK Normal Planes can be easily set by clicking on the related toggle boxes.

In the example above (left), we only have extension bones mapped, so we must select the good IK Normal Plane. We often prefer let our brain at rest and try these combination / (+/-1, 0, 0), / (0, +/-1, 0) or / (0, 0, +/-1) which works in 99% of the cases.

For more specific IK Normal Planes values, use the IK Normal Planes dialog by right-clicking on the related limb and selecting Edit IK Normal Planes. 

Knees bend correctly on our corrected IK planes

Conversion Preview on the defaut Automap IK planes, knees do not bend parallely Conversion Preview with knees IK planes defined backward. Correct for an animal, but definitely not for a human...

Check Roll Bones or Bones To Be Excluded From IK

If some bones should not be taken into account by Golaem Crowd (because they are just helpers, roll bones, or here for legacy reasons...), they should be excluded from the Inverse Kinematic (IK) computation. Otherwise, when playing a motion on the skeleton, Golaem Crowd may attribute a part of the motion to these bones and give an unwanted result (see an example below).



Left: Animation with IK Exclusions on arms and legs - Right: Animation with no IK Exclusions on arms and legs.

See Bone excluded from IK and Roll Bone for more details.

See the Character Maker Main Workspace to know how to exclude a bone from IK, or to declare a bone as roll bone.

Saving The Character File

The Character File (*.gcha) is now ready to be saved (Character Maker Toolbar / Save ) and can be load in an Entity Type for a Crowd Simulation or to import motions in the Character. However if you plan to use it in Physics Simulation, you should proceed to the next step.

Defining the Character Physics Properties

This is a quick setup, see here for a full test and setup tutorial.

You may have noticed a couple of blue shapes around each bone of the Character. Those shapes are the Character Physics Shape taken into account in the physics simulation.

The physics shapes should now be present as Maya Polygons:

Left: Default Physics Shape Display - Middle: Physics Shape as Maya Primitives - Right: Edited Primitives

You can now directly use the Maya objects to change the properties of the Character Physics Shape, and ensure it fits at best the character's geometry:



Result of a simulation using the Character File defined above (Display mode in the Entity Type is set to Physics Shape)

If the Mirror button in the Character Maker Tool Bar is selected, and the limb has a mirror mapping configuration, the modification on the rigid body will also affect the mirrored bone.