This section covers how to create characters and export from 3ds Max.
Before you read further, be sure that you 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.
Note: 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 which you define the parameters for IK, the .chrparams file.
Following is a brief explanation of the nodes in this Max file. There are render meshes, a live deforming skeleton, and a live phys skeleton.
Render Meshes:
Live Deforming Skeleton:
Live Phys Skeleton:
Following is a brief explanation of the nodes in this Max file. There are render meshes, a ragdoll deforming skeleton, and a ragdoll phys skeleton.
Render Meshes:
Ragdoll Deforming Skeleton:
Ragdoll Phys Skeleton:
Following is a brief explanation of the nodes in this Max file. There are render meshes, morph targets, and a deforming skeleton.
Render Meshes:
Morph Targets:
Deforming Skeleton:
Load the character.max file; this is what it should look like when loaded:
These are the render meshes; you are currently viewing all three (LOD0/2/3).
Things to keep in mind when creating the render mesh of a character:
To preview the skinning you see in CryENGINE in Max:
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 Crysis animation set. If you do want to use a custom character/skeleton, please look into how difficult it is to create all the animations needed to get a custom skeleton moving around with decent motion fidelity in a next-gen game; it can include hundreds or thousands of animation assets.
Model your character to fit this skeleton, then use Skin (or Physique) to weight your render meshes to the deforming skeleton.
Character assets are broken up into a main character file (character.max) and an LOD1 file (character_LOD1.max). 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/2/3) 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.
Main Character File (character.max)
Character Render Mesh weighted to Live Deforming Skeleton, whose physical properties are stored in the Live Phys Skeleton.
LOD1 Character File (character_LOD1.max)
Character Render Mesh weighted to Ragdoll Deforming Skeleton, whose physical properties are stored in the Ragdoll Phys Skeleton.
Open the Layer Manager and you will see that there is a layer called "bip" that is hidden; hide default and un-hide bip, you will then see this:
These are the live deforming and live phys skeleton of the LOD0/2/3 file (character.max).
The deforming skeleton is responsible for the following items:
The deforming skeleton 3ds Max material setup for a Crysis humanoid character.
Material Setup
As you can see, the deforming skeleton has different sub-materials assigned to it. These are used for hit detection in the engine. In Crysis, the first 10 sub-materials were devoted to hit locations, and any after that were used for textures. This number will vary from project to project.
The sub-materials in the engine correspond to surface types defined by code.
If you open sdk_character.mtl in the Sandbox Material Editor, you will see that the sub-materials used for hit detection are assigned to corresponding surface types; they are also assigned the nodraw shader.
There are some things to keep in mind when altering or replacing the deforming skeleton with something of your own:
Ragdoll Deforming Skeleton (LOD1)
Above, you see the ragdoll deforming skeleton and ragdoll phys skeleton from the LOD1 file. The deforming skeleton in the LOD1 asset file is used for collision/hit detection in the ragdoll. This is called the ragdoll deforming mesh. It can be made from arbitrary geometry, like the live deforming skeleton, but it is better to make it from capsules, boxes, and spheres.
Bipeds can be finicky. The best way to create your own custom ragdoll deforming skeleton is to align capsules and boxes to your existing skeleton, and then via editPoly, attach them to your node and delete the old geometry.