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.
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.
This mirrors and correctly orients the right weapon bone to the left and renames the new one alt_weapon_bone01.
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
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.
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
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:
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%
Select two objects. When you press this button it will snap the pivot of the second object to that of the first.
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.
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.
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.
This takes you to the motion menu tab for the current biped loaded in the tools.
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)
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.
This allows you to change the Taper, Width, and Height of any selected bones; great for bone chains, ropes, and tentacles!
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.
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.
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.
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.
This will select vertices in the selected node that use the input number of bones.
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.
This shows the initial pose stored by Physique at the time the physique modifier is applied. Very useful when troubleshooting exporter issues.
Selects vertices where the sum of their weights is 0.0
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
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.
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.
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
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.
This is a spreadsheet that allows you to see the metadata of all objects in the current selection.