Game Editor (Workbench) Creating New Terrain
Creating New World (Terrain)
Create the World
To create new World ( Island ) just select File -> New in menu and the dialog will show up.
World Bounds
On the World Bounds depends how big the world will be.
Block Size
Size of block is used by rendering
These definitions have a huge influence for performance, so it's strongly recomended to not change the default settings.
Map Type
There are just two options:
- Standard Map ( *.ent )
Under this you can imagine one island, but its also a carrier bridge, cutscene worlds etc.
- Pattern Map ( *.pat )
Pattern is a "small world" where only entities from the Entity Template Manager can be used. The pattern itself is used by Brush tool (putting a lot of entities into the world - like forest).
Map File
Don't forget to name the world, it's very important because a lot of other things are named automatically same as the name of the world.
Puting terrain into the World
To create new terrain you have to put entity func_terrain into the world. This entity can be found in the Entities List(on left the side by default) in Bookmark Create -> NonInteractive -> func_terrain. You can put it into the world by Drag&Drop. There can be more terrains in one World. You can see all inserted terrains in the "Available terrains" listbox (terrain editing tool must be selected), where can be selected for editing. However the support for multiple terrains is not finished yet, so we recomended to use just one terrain in one world.
Terrain Entity Name
The name of the entity is important, because is used for files naming (layer, normal, super textures). After new terrain is created all related datas are created in the directory with the same name as the *.ENT file.
Example
If you create a terrian with name "terrain" the terrain files will be created in folder with same name with this nameing:
- terrain.data - terrain data , height map, layer description etc.
- terrain_X_normal.dds - normal texture
- terrain_X_supertexture.dds - super texture
- terrain_X_Y_layer.dds - alpha layer textura (detail texture)
(X is linear number of tile, Y number of the layer texture)
TerrainManager
Unit Scale
The distance between vertexes of the height map in engine units ( 1m = 32 units ).
Height Scale
WIP
Initial height of terrain plane
This height will be automatically aligned on the position seted in the "World Position". It's recommended to leave it on 50% as it is by default.
World position
WIP
Size of Terrain In Quads
What is the Quad in detail. It's highly recommended to have size of terrain in square and same values for X and Y axis. If the window turns red the values are absolutely wrong.
Example
If Unit Scale = 96 and Size in Quads = 1024x1024 than the final terrain will has 9km^2 area.
Number of Tiles
Count of tiles (global textures) per terrain. The count is limited by blocks per terrain.
Example
If the size of the terrain is 128x128, than it can has 1 tile, 2x2 tiles or 4x4 tiles, because count of blocks per terrain is 4x4.
Size of Tile Textures
The size of global textures per tile can be changed after in Texture Manager.
Available Terrains
Shows all available terrains in the world. With LMB you can select actual terrain.
- Delete button
Will physically erase all terrain data from HDD, but the *.ent file is not changed.
- New Terrain
Will create the terrain with definitions made above. The generating can take some time because of creating global textures.
Ocean
To see in the ocean in the world you have select entity World in Entity List. And in the Entity Selection Window you can find params for ocean.
- _water
OceanRenderer type it into the box on the right side (copy from here and paste)
- _watermaterial
tessendorfOcean type it into the box on the right side
And by the type of climate there are two more params:
Arctic | niceice | stormice |
Mountains | nicemount | stormmount |
Temperate | nicetemp | stormtemp |
Marshlands | nicemarshes | stormmarshes |
Wastelands | nicewaste | stormwaste |
Volcanic | nicevulcan | stormvulcan |
For using an AI navigation for Carrier around the island ( also to be able to dock to island, leave island), the terrain must be at least 35m under sea level all round.
Weather
Weather effects can be set same as ocean (parametr of the world)
- WeatherEffect1
- WeatherEffect2
Basic Rules
Weather effects are postprocces. Only one effect can be visible in one time. WeatherEffect1 a WeatherEffect2 is can not overlap. WeatherEffect1 a WeatherEffect2 must have compatible materials - same textures.
Weather Effect
(weatherwffect1, weathereffect2) Material of the effects:
- postprocess/flies
- postprocess/flowers
- postprocess/greenflowers
- postprocess/windsand
- postprocess/windvulcan
- postprocess/windvulcan2
- postprocess/rainmarshes
- postprocess/raintemp
- postprocess/rainmountain
- postprocess/snownice
- postprocess/snowmedium
Weather Effect int
- X - Value of the weather when the effect will starting to show.
- Y - Value of the weather when the effect will stop to show.
- Z - limit of height above terrain where the effect will be active; 0 = disable height influence
Weather Effect Val
- power of effect WeatherEffect1Int [0] - it's 0-1 internally in Engine - values outside of the intervall will clamp, but if value if higher than 1 the progression is not linear.
- power of effect WeatherEffect1Int [1]
- Do Nothing
Weather Effect Flags
It's flags so, any combination is possible. jedna se o flagy, vysledkem muze byt jejich libovolna kombinace - secist potrebne varianty
- 1 = interpolace intenzity efektu (v podstate alpha) misto sily efektu (doted default) - napr. pro efekt prachu ve vetru nefunguje dobre zvetsovani poctu geometrie
- 2 = the effect will show only on materials with grass
- 4 = rain full screen effect ( raindrop drops on display )
- 8 = frost full screen effect ( soft refract effect around display)
- 16 = dust full screen effect ( soft dust effect around display)
- 32 = emissive effect ( used for fireflies on marshes )
Weather Forecast
- X - how often the weather changes in minutes
- Y - middle value of weather <0..1>
- Z - max value of weather change from mid value
Wind Forecast
- X - how often the wind changes in seconds
- Y - variability of wind direction <0..1>; random angle, 1 = max randomization , 0 = same direction all the time
- Z - speed of wind <0..1>; 0 no wind, 1 = max wind
Wind Storm Power
- X = multiplier of wind power in bad weather <0..10>, default = 5
- Y = weather when storm starts, 1 = disable
- Z = sila boure, pravdepodobnost <0..1> 0 = almost never, 1 = very often
Weather Example
- weatherforecast "15.0000 0.5000 0.5000"
- windforecast "200.0000 0.3000 0.1000"
- weathereffect1 "postprocess/greenflowers"
- weathereffect1int "0.0000 0.25000 128.0000"
- weathereffect1val "3.0000 0.0000 0.0000"
- weathereffect1flags "2"
- weathereffect2 "postprocess/windsand"
- weathereffect2int "0.25000 1.0000 3200.0000"
- weathereffect2val "0.0000 1.5000 0.0000"
- weathereffect2flags "1"