The following tutorial will show how to set up a new level and its initial terrain map.
Terrain elevation in CRYENGINE Sandbox is based on brightness values of a height map textures assigned to the terrain geometry.
Do not use spaces or non-Alphanumeric characters in your level name. Underscores can be used instead of spaces. Example: my_level instead of my level
On the File menu, click New:
In the New Level dialog box enter a name for the level in the Level Name text box. You should adjust the Heightmap Resolution and the Meters Per Unit (or, Meters Per Pixel) according to the size and and detail level required for your level.
It is not recommended to have a total terrain size greater than 4096x4096. Using lower Meters Per Unit will give more precision in the terrain details, lowering heightmap resolution will decrease memory consumption.
The Terrain Size (listed below the two drop down menus) is simply a multiplication of the Heightmap Resolution and Meters Per Unit. Click OK to create your new level.
When you click OK, a new subfolder within the 'Levels' directory is created. It uses the name provided under 'Level Name' and contains various files. The most important file in that directory is the *.cry file, which contains all the main information that is required by the Editor.
Now, there is a new empty level, filled with water and terrain underneath it. You will probably need some terrain to walk on and there are three main ways to do that - You can sculpt in manually, import a heightmap or have Sandbox automatically generate a heightmap.
To create terrain, on the Terrain menu, click Edit Terrain:
This opens the Terrain Editor:
Next, on the Tools menu, click Generate Terrain:
This will display the Generation dialog box, where you can influence the appearance of the terrain by using the following parameters:
Parameter | Description |
---|---|
Feature Size | Determines the amount of land created. |
Bumpiness/Noise | Determines the degree of bumpiness or deformation of the surface. |
Detail | Determines the number of times that effects will be applied. |
Variation | Determines the random seeding of the islands. |
Blurring | Sets the number of times that smoothing will be applied to the noise filter. |
Cover (Exp. Substract) | Deprecated |
Sharpness (Exp. Base) | Determines the sharpness of the surface. |
Sharpness (Freq. Step) | Determines the number of times that the sharpness filter will be used on the surface. |
The default settings are good, so click OK. After the generation has been completed, you should see something similar to this:
The terrain will be in gray, which resembles the height of the terrain. The brighter the terrain, the higher it is. The blue water texture indicates that the terrain in that area is below sea level (user definable), giving you a correct impression of the actual land masses.
On older versions of CryENGINE, to get a first impression with a default texture applied, you need to regenerate the surface texture of the terrain. Since CryENGINE 3.4 however, terrain textures are generated upon level creation so this will have already been done.
Now, close the Terrain window and you will be able to see the changes in the perspective view.
On the File menu, click Generate surface texture:
The Generate Terrain Texture dialog box will be displayed. Default settings are usually OK. A description of the options can be found below.
Click OK and wait until the calculation has been completed.
When the generated surface texture is compressed using DXT, its colors always get somewhat distorted. If the colors use the full dynamic range (0-255), they are preserved better. If artists know that they have used only darker colors in the level, they can use the Terrain Color Multiplier to make the colors use more of the dynamic range. For example, if only colors in the 0-63 range have been used, enter a multiplier of 4 to make them fill the entire 0-255 range and 'survive' the compression in better shape. When rendering, the decompressed color values should be divided by the multiplier in the shader to restore the original brightness.
In short, if your colors are artifacting, increase the color multiplier to compensate for the compression.
Pre-generated | 1x Color Multiplier | 4x Color Multiplier |
---|
When painting terrain, the information is temporarily stored by the engine, which adds to DP/drawcall count. Depending on how much painting has been done, this can reach well into the thousands.
When you generate the terrain textures, the engine bakes the color information down into textures (stored in the terraintexture.pak file) which then frees up the temporary storage, and thus, the DP.
The view should now look similar to this, showing you a first impression of the landscape.
You will now be able to jump into the game mode by holding down Ctrl and pressing G, and you can run around in the new creation.
Things to experiment with:
This section has information on the Terrain Editor's menus and toolbar.
Parameter | Description |
---|---|
Open/Import Heightmap | This opens up the browser to search for a valid heightmap to import. |
Clear | This option will delete the current heightmap data. |
Resize | This option will resize the current heightmap data. |
Invert | Changes black to white and white to black. |
Noise | Adds irregular noise across your entire heightmap. |
Smooth | Smooths hard edges across the entire terrain. |
Generate Terrain | See above what Generate Terrain does. |
Terrain Texture Layers | Opens the Terrain Texture Layers. |
Lighting | Opens the Terrain Lighting window. |
Different Sized Brushes | Allows you to paint with a smaller or bigger brush. Adjusts the inner and outer radius of the terrain brushes. |
Low, Medium, High Opacity | Allows you to choose the strength at which you paint on the terrain. Affects the Hardness amount of the terrain brushes. |
Parameter | Description |
---|---|
Import Heightmap | Lets you import an image to be used as new heightmap (the size of the heightmap must be the equal or smaller than the current level heightmap resolution). Supported files:
|
Export Heightmap | Use this option to export the heightmap file to be edited in Photoshop (version CS1+ required). Supported files:
|
Show Large Preview | Shows you a preview of the heightmap as a *.bmp. This will create a file called HeightmapPreview.bmp in the |
Parameter | Description |
---|---|
Make Isle | Sinks the current heightmap. |
Remove Ocean | Sets the water level to -100000. |
Set Water Level | This feature adjust the water level (Default 16m). |
Set Max Height | Adjusting this value will change how high the tallest mountain can be (Default 1024). |
Set Unit Size | Deprecated. Please use Resize Terrain function. |
Flatten (Light) | Flattens terrain to either highest or lowest point. |
Flatten (Heavy) | Flattens terrain to either highest or lowest point. |
Smooth | Removes hard edges on the entire terrain. |
Smooth Slope | Removes hard edges from steep areas. |
Smooth Beaches | Removes hard edges from flat areas. |
Normalize | Makes sure the entire greyscale spectrum is used (highest point is the one specified in max height and lowest point is 0). |
Reduce Range (Light) | Makes mountains smaller. |
Reduce Range (Heavy) | Makes mountains smaller. |
Noise | DEPRECATED - Adds irregular noise across your heightmap. |
Randomize | DEPRECATED - Randomizes your heightmap. |
Erase Terrain | This option will delete the current heightmap data. |
Resize Terrain | Re-opens the initial heightmap creation panel to adjust the Heightmap Resolution and Meters Per Unit scale. |
Invert Terrain | Changes black to white. |
Parameter | Description |
---|---|
Generate Terrain | Opens the Generate Terrain dialog. Adjusting the parameters in this window will result in different noise pattern. |
Surface Texture | Opens the Terrain Texture Layers. |
Lighting | Opens the Terrain Lighting window. |
Parameter | Description |
---|---|
Show Water | Turns water on and off in the Terrain Editor dialog window. |
Show Map Objects | Turns map object helpers on and off in the Terrain Editor dialog window. |