Rigging Tools

CryTools: Rigging

Internal Tools

This tools rollout only shows up if the DOMAIN is set as INTERN.CRYTEK.DE (in the Control Panel you can see your DOMAIN). The Internal Tools were quick fixes to make it easier for artists, animators and TDs to fix issues more easily, and deal with certain project-specific rigs. If this is included in public version cryTools, it is for reference, in order to see how Crytek has patched different problems.

Helper Joints

This primarily deals with the Crysis NanoSuit helper joints, but also covers knees, breasts, and others. Hide/Show Helper Joints will hide and unhide the joints. Select Helper Joints will select them and Unselect Helper Joints will deselect them.

File Fixes/Cleanup

Mirror Weapon Bone

This mirrors and correctly orients the right weapon bone to the left and renames the new one alt_weapon_bone01.

Select New Attachment Points

When pressed with nothing checked, this simply selects the new weapon attachment points. With delete\add checked, it either adds the new attachment points, or if they are present, deletes them. With hide\show checked it will hide them, or show them if they are hidden. After a year and a half of Crysis development, Crytek decided to add many weapon attachment points to every human character in the game, that's why this tool was written, the attachment points added are:

weaponPos_hurricane

weaponPos_law

weaponPos_rifle01

weaponPos_rifle02

weaponPos_pistol_L_leg

weaponPos_pistol_R_leg

weaponPos_pistol_L_hip

weaponPos_pistol_R_hip

weaponPos_grenade_L_hip

weaponPos_grenade_R_hip

TechNote:
The weapon positions are loaded from the following max file: Tools\maxscript\ref\weapon_positions.max

Wire FP Hands Twist Bones

This wires up and procedurally drives twist bones on first person arms. Twist bones are needed for correct pronation/supination of the first person arms. The wiring allows the current animation assets to drive the twist bones.

Comment Out Nub Bones

There are many 'nub' bones in the rigs, these are old holdovers from the Physique era. A nub bone was used to create a physique link, the same way some rigs have 'end' bones. When you press this button, the tool will search your scene for the following named nodes and replace them like this:

Bip01 HeadNub - _Bip01 HeadNub

Bip01 R Finger0Nub - _Bip01 R Finger0Nub

Bip01 R Finger1Nub - _Bip01 R Finger1Nub

Bip01 R Finger2Nub - _Bip01 R Finger2Nub

Bip01 R Finger3Nub - _Bip01 R Finger3Nub

Bip01 R Finger4Nub - _Bip01 R Finger4Nub

Bip01 L Finger0Nub - _Bip01 L Finger0Nub

Bip01 L Finger1Nub - _Bip01 L Finger1Nub

Bip01 L Finger2Nub - _Bip01 L Finger2Nub

Bip01 L Finger3Nub - _Bip01 L Finger3Nub

Bip01 L Finger4Nub - _Bip01 L Finger4Nub

Bip01 L Heel - _Bip01 L Heel

Bip01 R Heel - _Bip01 R Heel

Bip01LToeHelper - _Bip01LToeHelper

Bip01RToeHelper - _Bip01RToeHelper

Locomotion Manager

Extract Data to LocoMan Node

When pressed, this steps through all the frames of the current biped animation and adds a spedcial 'locoMan' node that the engine uses to get data about the characters movement and look direction. The node itself looks like a circle around the hips of the character (or on the ground) with an arrow breaking through it. The following check boxes effect how the node is created:

  • Lock to X/Y: This will lock the node to the X or Y axis.
  • Ignore Root Rotation: This will disable Use Head for Direction and Use Root for Direction, and the locoman node will not rotate at all.
  • Restrict to Ground Plane: This will restrict the locoMan node to a Z height of 0, or stick it to the flat ground plane during the animation.
  • Use Head for Direction: This will use the head of the character to point the locoMan node (you assume that the character is looking the direction you want him to be facing (useful for most instances the root would mess up (like prone))
  • Use Root for Direction: This will use the pelvis orientation to generate a locoMan node direction.
  • Freeze and Lock: When checked this will freeze and lock the locator, if you want to refine it's motion by hand, do not leave this checked.

Remove Unwanted Bones

When you press this button it will either remove bones from the Skin modifier of the currently selected node, or delete them, depending on which checkbox is selected. The bones removed or deleted are any bones commented out of export ('_' prefix) and *nub bones.
%ENDINTERNAL%

Rigging Tools

General Tools

matchPivot

Select two objects. When you press this button it will snap the pivot of the second object to that of the first.

zeroOut Rots

This is a bread and butter tool for TDs. When you press this, it inserts a point helper in the hierarchy between the currently selected node and it's parent effectively zeroing out the selected node's rotations. The new node created has the current node's name + 'ZERO', example: Bip01 R Hand Phys would have a helper inserted called Bip01 R Hand PhysZERO. This works for any number of selected objects.

Clamp Timeline at Current/Last

This clamps the timeline at the current key, if you click 'At Last Key' it will clamp the timeline at the last keyframe of the currently selected object.

Biped Tools

Figure Mode/Hide Biped [Toggles]

These two check buttons are toggles, meaning that when you press 'Figure Mode' it stays highlighted for the duration that the character is in figure mode. 'Hide Biped is one of the most used buttons in the entire Animation toolset; it just hides the entire skeleton.

Bip Motion Menu

This takes you to the motion menu tab for the current biped loaded in the tools.

Select Biped Bones

Selects the original biped skeleton, and ignores any extra helper bones that have been added. Useful when you want to load up a pose or do some motion panel operation to all the original biped bones. (motion panel biped options will not load if a single non-original biped bone is in the current selection)

Toggle In Place Mode [Toggle]

Clicking the 'In place Mode' toggle will turn on In Place Mode, which constrains the motion on X and Y, however, pressing 'X or Y will constrain the motion to only the selected axis.

Bone Tools

This allows you to change the Taper, Width, and Height of any selected bones; great for bone chains, ropes, and tentacles!

Vertex Tools

This is a work in progress. The exporter cannot currently export arbitrary channels of vertex colors, but will eventually be able to create multiple vertex color channels per object. ChannelInfo brings up the channel info spreadsheet so that you can see all the vertex channels. vertexColors is a toggle that enables/disables vertex color shaded mode. Add cryChannel to Selected will add a channel named 'cry' to the selected object, you can store various data here for export.

Diagnostic Tools

General Diagnostics

selectRoot/selectChildren

With an object selected selectRoot will traverse the hierarchy and select the root of the object's hierarchy, whereas selectChildren will select all children of the current object.

numChildren [print]

When pressed, this will echo out the number of children of a currently selected node. When 'print' is checked, it will export the names of all children nodes in an excel-friendly format. This is very useful for comparing and troubleshooting two character hierarchies.

Compare Two Hierarchies

Select a root object, then press 'Hierarchy1, then select another root who's hierarchy you would like to compare and press 'Hierarchy2', any differences in the hierarchies will be printed to the Listener. The hierarchies are stored as global vars, so you can click one hierarchy and even load another max file or character to compare. 'Check Consistency' will check the hierarchy structure and report any inconsistencies.

Physique Diagnostics

Select Verts That Use X Bones

This will select vertices in the selected node that use the input number of bones.

Get Bone Count

This returns the number of bones that are effecting the selected object's mesh. Not to be confused with the number of bones a character has. With Character Studio, you need to have a lot of terminator bones that are often not exported, and have no weights. This returns all bones weighted to the mesh.

Initial Pose

This shows the initial pose stored by Physique at the time the physique modifier is applied. Very useful when troubleshooting exporter issues.

Select Verts with 0.0 Weight

Selects vertices where the sum of their weights is 0.0

Animation Diganostics

Sometimes you will need to output character position data or translation data. For instance, AI may want to know how far a character moves out from behind cover in an animation, or how high the root is when he is in prone or behind cover. When you press Get Weapon\Root Info the POS and TRANS boxes will refresh with data. The POS values are the world Z position (how high) in cm of the main weapon bone weapon_bone and the root. The TRANS data is the world translation of the weapon_bone and root during the animation. You can log this data to a file or to the listener, the logged info is a bit more detailed. (alt weapon bones or arbitrary objects) Here is an example of the logged data:

combat_peekIdle_rifle_rightReverse_01

POSITION

Frame: 0f (hiding)

root 88.846977

weapon_bone 101.276

alt_weapon_bone01 101.601

Frame: 13f (firing)

root 88.846977

weapon_bone 105.406

alt_weapon_bone01 110.632

Attachment\Game Diagnostics

allows us to align Bone Attachments in Max and export them to Character Editor (which can be extremely useful for eyes, and constantly changing aliens). Select an object to be added to the CDF, enter a name for it (this will be the name of the bone attachment in Character Editor). Press Generate CDF Attachment Data and it will open a dialogue asking "Is this the bone the CDF is attached to?". If it is the bone the you want associated in the CDF, click 'Yes', if not, click 'No, Pick Bone', then click the correct bone in the Max viewport. Example:


This will bring you to this next dialogue:


If this is the name of the exported CDF file, then click 'Yes', if it is not, click No, let me choose. And a file dialogue will open. Find the CDF and click ok. The script will now pop open a window with a generated line of XML that you can paste into your CDF file. Here is an example:

<Attachment AName="Gun" Binding="J:\Game02\Game\Objects\Characters\Alien\Hunter\face_gun_geo.cdf" BoneName="face_connector" Position="-0.000635176,-2386.97,643.324" Rotation="-1,0,0,1.87841" Type="CA_BONE" />

TechNote:
The bone associated with the CDF is taken from the parent bone (as it should be). The name and directory are taken from the geometry name and the max save path used by the exporter. Also, the quaternion values CharEdit needs are WXYZ. Also keep in mind that the CDF XML format may change, check to see what this exports vs the current CDF standards before checking assets with XML generated from this tool into a build.

Smart Object Tools

Template Generator\Exporter

Select the geometry that you will export as the Smart Object CGF, then click Get Smart Obj Geometry. The button text will now change to reflect the object's name, and Add Start\Stop Locations will not be enabled. When you click Add Start\Stop Locations, two circles will appear, one red and one green, these denote the start and stop locations. They are named sequentially following the format 'so_start#' and 'so_end#'. If 'Project on Ground' is checked, in the Editor the two start/stop locations will be projected onto the ground.

Exporting Smart Object Data

When you click 'Export Smart Object Data' is pressed, a window will pop up asking you where you would like to save the XML file. The file will be named with the name of the Smart Object (printed in the save dialog). If Flip Around Z Axis is checked, the XML data exported will be rotated 180 degrees on export. This is done because all out animations are in -Y yet the engine requires things in +Y

CGF Metadata Manager

This rollout makes it easier to manage the metadata of exported CGFs, bones, and other objects into CryENGINE. When an object is selected, the fields and check boxen are updated on the fly. Any Changes you make will only take effect when you press 'Apple Settings to Selected'. 'Select Objects Matching Details' will loop through the scene and select any object's whose metadata matches the settings you have entered.

MetaData Lister

This is a spreadsheet that allows you to see the metadata of all objects in the current selection.

Reactor Tools

  • Add Objs to Rigid Body: Adds all selected objects to a picked rigid body node
  • Add Objs to Fracture: Adds all selected objects to a picked fracture node