cryTools: CryArtistTools

# CryArtistTools

## Artist Tools

### General Tools

centerPivot
This will cycle through all selected objects and center the pivot of each to the center of the objects respective bounding box.
preserveUVs
This was a request, which turns on and off 'preserve UVs' when clicked. It has also been exposed as a key binding in cryKeys.
resetXformCollapse
Upon clicking this, cryTools will loop through all currently selected objects and quickly resetXform and then collapse each, one by one.
Copy/Paste Modifier
When clicking Copy Modifier, the current modifier will be copied and stored in memory. It can then be pasted to any number of like objects. This is useful for changing a base mesh and applying the change to many other meshes with the same point index (useful for heads/morph targets)

### UV Tools

By pressing ' < ' or reloading Artist Tools, it will grab the UV info from the currently selected object. You can now use the following buttons to manipulate the UV coordinates. There is the ability to scale selected points to 0 on the X and Y, or X+Y, and to rotate 90 degrees clockwise and counterclockwise.

## Diagnostics

### polyStats

polyStats gives realtime face, edge and vert data for any selected object.

## CGF Metadata Manager

This tool is used to set-up breakable/destroyable objects. The data is set and stored in the objects' User Defined Properties (UDP).

### Object Properties

Mass (render geometry property)
Mass defines the weight of an object based on real world physics. A value of 0 sets the object to "unmovable". This is used on the basement of a house for example or the sign pole which should not be movable and always stay in the original position. When used in brushes and Geom Entities, this is the final part's mass. When used in regular Entities, all parts masses are scaled so that their total mass gives the mass specified in the entity properties.

Density
The engine automatically calculates the mass for an object based on the density and the bounding box of an object. Can be used alternatively to mass.

To set the Mass/Density of an object, check the appropriate checkbox and set the value. To apply the setting click "Apply Settings to Selected" button. If wishing to scale the mass of multiple objects with different masses, select those objects, set the scale value desired, and press "Update Data" button.
A forced primitve allows a basic shape be defined for the object based on it's bounding box. Check the desired shape, and apply settings.
TechNote: You must either define this value or density to ensure the simulation is working correctly.

### Joint Properties

Only Helpers/Dummies can be joints. Joints hold together pieces of the breakable objects and define how much force (and what kind of force) is necessary to break the objects from their joints. To Set the joint properties enable joint properties and set the needed values for the properties desired.

Limit - limit is a general value for several different kind of forces applied to the joint. It contains a combination of the values below.

TechNote: This value needs to be defined, otherwise the simulation will not work correctly. Crysis Example values: 100 - 500 can be broken by a bullet; 10000 can be broken by the impact of a driving vehicle or a big explosion.

The following values are optional and are used to fine tune the "limit" settings.

Bend - maximum torque around an axis perpendicular to the normal.

Twist - maximum torque around the normal

Pull - maximum force applied to the joint’s 1st object against the joint normal (the parts are "pulled together" as a reaction to external forces pulling them apart)

Push - maximum force applied to the joint's 1st object (i.e. the one whose name is listed first in the joint's name, or if the names were not specified, the object the joint's z axis points towards) along the joint normal; joint normal is the joint's z axis, so for this value to actually be "push apart" (as a reaction to external forces pressing the parts together), this axis must be directed inside the 1st object

Shift - maximum force in the direction perpendicular to normal

TechNote: Remember to press 'Apply Settings' after you have made changes to an objects properties.
Scale Properties - To scale the joint properties, select the joints that you need to scale, check the scale properties checkbox, and check the properties which you desire to scale. Set the scale value and apply settings to the objects.

### Destroyable Objects

TechNote: please keep in mind that Destroyable objects should also have Mass/Density
Main: This is the option to set the submodel's name to be "Main" so that it becomes the (only) pre-destruction submodel.
`
Remain`: This sets the object's name to "Remain" so it becomes the permanent post-destruction submodel which replaces `Main`.
generic = count: Causes the piece to be spawned multiple times in random locations throughout the original model. The count specifies how many times it is spawned. There can be multiple generic pieces.
`entity`: If object is set to entity, the piece is spawned as a persistent entity. Otherwise, it is spawned as a particle.
`rotaxes` = axes: For generic pieces, this generates random rotation. Set this to the axis letter(s), for example, `z` or `xyz`, to cause the piece to rotate randomly about the selected local axis/axes. If not set, the pieces will spawn in their authored rotation.
`sizevar` = var : For generic pieces, this randomises the size of each piece, by a scale of 1-var to 1+var.