This section covers how to create characters and export from Maya.
Before you read further, be sure that you have downloaded the compressed file at the top of DCC Setup (animated) for reference.
For the most part, CHR is the CRYENGINE character file format. There is also CGA, which will be mentioned later. For a complete overview of the file formats used in CRYENGINE, see Art Asset File Types.
In addition to dealing with the SDK example files, this tutorial also has notes for those creating their own characters from scratch.
Naming of bipedal hierarchies does not need to match 3ds Max. This is only necessary if you want to make use of the automated IK for legs and even this can be changed in the file in which you define the parameters for IK, the file.
Given that Maya does not allow spaces in names you can use a double underscore (__) as a space, this way the RC will convert it automatically when the character is exported.
Changes were made to the weight painting tool so now you have to make sure you have no weights with values over 1, if you do you will likely receive a error upon export. This can be fixed by changing the weight normalization methods.
The joint orientations should be aligned as described:
The following is a brief explanation of the nodes in this Maya file. There are render meshes and a live deforming skeleton.
Things to keep in mind when creating the render mesh of a character:
When creating your own character, you do not need to match your render mesh to the SDK skeleton. However, keep in mind that this means your character cannot use the existing animation set.
Model your character to fit this skeleton, then use Skin (or Physique) to weight your render meshes to the deforming skeleton.
The following is a brief explanation of the nodes in this Maya file. There are characters, basic meshes and a deforming skeleton.
Character assets are broken up into the main character file and the ragdoll/LOD1 file. Each file has a deforming and phys skeleton. It is critical to understand the role of each skeleton in each file.
The live deforming and live phys skeleton in the main file (LOD0 and 1) store the hit detection and physics properties for the live skeleton, while the ones in the LOD1 max file store the hit detection and phys properties for the ragdoll.
Exporting Characters is fairly simple given that everything is named correctly.
These can be used to modify the way your Ragdoll skeleton reacts in-game.
The root bone of a character in both Maya and 3dsMax must have the following position/orientation: position is (0, 0, 0) in the scene, the node's Z axis points up (direction from character's toes to character's head), and the node's Y axis points forward (direction in which character is facing).
Note that the requirement to have the root bone at position (0, 0, 0) acts only when you export a character (.chr/.skin). Exporting animations doesn't have such a requirement.
If you work with Y-up (instead of Z-up) in Maya then you should create an empty group node called SceneRoot so that your characters are exported correctly. SceneRoot node is a node on the top of the scene hierarchy, it should have no parent and no children. The node should have position (0, 0, 0), it should have its Z axis pointing up in the scene, and the Y axis pointing in the direction in which the character is facing.
SDK 3.8 and higher contain Maya scripts for creating SceneRoot and the scripts are accessible through Maya's Crytek toolbar: TOOLS / CryTools / [Create SceneRoot xxxx].
Please check the table below to make sure that your scene/character are set up correctly.
Scene configuration | Required orientations of SceneRoot and root bone |
---|---|
Maya setup is Y-up SceneRoot does not exist (not recommended) | Root bone's Z axis: same as scene's Y axis (points up) Root bone's Y axis: same as scene's negative Z axis |
Maya setup is Y-up SceneRoot exists | SceneRoot's Z axis: same as scene's Y axis (points up) Root bone's Z axis: same as SceneRoot's Z axis and scene's Y axis (point up) Root bone's Y axis: same as SceneRoot's Y axis |
Maya setup is Z-up SceneRoot does not exist (not recommended) | Root bone's Z axis: same as scene's Z axis (points up) Root bone's Y axis: same as scene's Y axis |
Maya setup is Z-up SceneRoot exists | SceneRoot's Z axis: same as scene's Z axis (points up) Root bone's Z axis: same as SceneRoot's Z axis and scene's Z axis (point up) Root bone's Y axis: same as SceneRoot's Y axis |