Skeleton Description/Mapping

As explained before, Golaem Crowd plugin uses a dedicated motion 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 representation of a skeleton. This skeleton is stored in a .gsk file.

To allow you to map motion clips and motion capture between characters and to use Golaem Crowd animation features, it is required to map each model with a new skeleton type so that the animation engine can recognize its structure. This skeleton mapping is stored in a .gskm file.
 
Both files will then be used when defining an Entity Type
 
Converting a character with the Skeleton Motion Converter can be performed through the following options:
  • Crowd Shelf: 
  • Crowd Menu: Skeleton Motion Converter
  • MEL command: glmSkeletonConverterCmd;

Configuration

This part explains how to configure the Skeleton Motion Converter tool, which is divided into three main tabs:
  • Skeleton Description: it allows to export the character skeleton description/morphology in the Golaem Crowd format (.gsk)
  • Skeleton Mapping: it allows to export the mapping of the skeleton with the Golaem Skeleton dedicated representation (.gskm)
  • Motion: it allows to convert any kind of character animation in the Golaem Crowd format (.s4d)

The skeleton/motion converter tabs

These 3 tabs correspond to the 3 steps needed to export the motion. For each validated step, the next tab will be unlocked.
 

6.1.4 Skeleton Description

As a motion conversion uses the skeleton description, it is important to ensure that the used skeleton description is correct. The skeleton description describes the hierarchy of the skeleton and the position/orientation of each bone relative to its father bone (i.e. the morphology of the skeleton).
The skeleton converter window with a valid skeleton description
 
To setup a Golaem skeleton description, the following steps are needed:
  • open a character in Maya. This character must meet the character prerequisites
  • select the root node of the character in Maya Outliner, and click the Load Currently Selected Skeleton button. The name of the selected node should appear in green in the right part of the panel
  • select the skeleton detection mode
  • export the skeleton description. It will then be used to configure Entity Types
Once the skeleton is correctly loaded, the Skeleton Mapping tab will be unlocked.
 

Parameters

Skeleton detection

For a given character, there are several possible detection modes for the position and orientation of each node:
Skeleton detection modes
 
Detection Mode
  • Pose: it corresponds to a user-defined pose in Maya (User Guide / Animation / Animation / Nonlinear Animation ? Poses). If this mode is selected, the available poses should appear in the Pose Name combo box of the interface. If no pose is available in the combo box, then this mode is unavailable and will produce an error message
  • Current Values: it corresponds to the local values of the nodes at the current time, as a combination of the "Transform Attributes" and the "Joint Orient"
  • T Pose at the Given Frame: the skeleton will be exported with the posture at the frame given in the T Pose frame index parameter
  • Joint Orient: in this mode, the skeleton description process will only consider the joint orient values of each node, but the transform values won't be used. A character can be considered correct/well detected as soon as its skeleton appears in T-Pose in the 2D preview panels (see here)
T-Pose frame index Frame to be used for T-Pose detection (see T Pose at the Given Frame detection mode above)
Pose Name Pose to be used as a T-Pose (see Pose detection mode above)

Namespace

By default, namespaces in the Maya bones names are ignored when exporting the skeleton. It is possible to change this behavior by unchecking the "Ignore namespaces" checkbox.
 

Export

Once the configuration is done, the skeleton can be saved as a .gsk file by using the "Export Skeleton" button at the bottom of the Skeleton Motion Converter tool and is ready to be referenced in the Entity Type
 
 

6.1.5 Skeleton Mapping

The Skeleton Mapping tab is only available once a skeleton has been loaded
To easily make the correspondence between Golaem skeleton bones and your 3d character skeleton bones, the Skeleton Motion Converter implements an automatic mapping process. To use it:
  • open a character in Maya. This character must fulfill the character prerequisites
  • load the skeleton
  • when the skeleton is loaded, it will try to automatically load all the children bones (in the right panel) and try to map them with the Golaem skeleton bones (in the left panel)
  • check if the automatically found correspondences are correct . If they are not, they can be manually unmapped. If some are missing, they can be manually mapped

A mapping is valid as soon as all the red bones (mandatory bones in the Golaem hierarchical skeleton) in the left panel and in the picture have turned green. Notice that an all green picture does not imply that the mapping is correct (e.g. it is possible to map legs bones with fingers): mandatory bones would be mapped, but the resulting motion would be unpredictable…

A skeleton motion converter with a valid mapped skeleton
 

Mapping Two Bones

To map two bones together:
  • Select one bone in the "Mapping to Golaem skeleton" list or by clicking on it in the central picture
  • Select the bone to map to this bone in the "Unmapped" list
  • Then, either:
    • Click on the "map" button under the lists
    • Right-click in any of the lists and choose "map"
    • Double-click on the selected "unmapped bone" in the "Unmapped" list.

Unmapping Two Bones

To unmap two bones:
  • Select this bone in the "Mapping to Golaem skeleton" list
  • Then, either:
    • Click on the "Unmap" button
    • Right-click in the "Mapping to Golaem skeleton" list and choose "unmap"

Parameters

Load, Auto-Map & Clear

Once the skeleton is loaded, it is possible to:
  • load an already created mapping file (by using the "load mapping file" button)
  • edit the mapping manually
  • if the automatically generated mapping does not suit your needs, it is possible to clear it using the "clear" button under the "unmapped" list. To reset the mapping to the automatically generated one, click on the "Auto map" button.

Advanced Parameters

It is possible to customize the mapping a little bit further by changing the advanced parameters:
 
Skeleton Type this combo box contains all the presets for the "On front side" checkboxes:
  • Biped: typical preset for a biped skeleton
  • Quadruped: typical preset for a quadruped skeleton
  • Manual: no preset, manual edition of the "On front side" checkboxes
On Front Side this checkboxes are used to specify if the corresponding bone chain folding point is located on the front side of the skeleton or not. If a checkbox is checked, it means that the corresponding folding point is located on the front side (e.g. for a "regular" human character, knees are on the front side, and elbows on the rear side)
Footprint Height Offset
  • if the lowest part of the mesh does not correspond to the lowest part of the skeleton, it is possible to specify a height offset in order to take it into account during the motion computation. This offset is specified from the ankle bone: if the new point is not lower than the lowest part of the skeleton, it will not be taken into account. A 0 value corresponds to the ankle height.
Offset between the skeleton and the mesh

6.1.5.4 Export

Once the configuration is done, the mapping file can be saved as a .gskm file by using the "Export Mapping" button at the bottom of the Skeleton Motion Converter tool. It will then be ready to be referenced by the Entity Types