Game Editor (Workbench) Creating New Terrain: Difference between revisions

From Bohemia Interactive Community
m (Some wiki formatting)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Creating New World (Terrain) =
== Create the World ==
== Create the World ==
To create new World ( Island ) just select '''File -> New''' in menu and the dialog will show up.  
 
To create new World (island) just select '''File -> New''' in menu and the dialog will show up.


[[File:NewEnt.jpg|thumb| 370px]]
[[File:NewEnt.jpg|thumb| 370px]]


=== World Bounds ===
=== World Bounds ===
On the World Bounds depends how big the world will be.  
 
On the World Bounds depends how big the world will be.


=== Block Size ===
=== Block Size ===
Size of block is used by rendering


  These definitions have a huge influence for performance,
Size of block is used by rendering
  so it's strongly recomended to not change the default settings.


{{Feature|important|These definitions have a huge influence for performance, so it is strongly recommended to not change the default settings.}}


=== Map Type ===
=== Map Type ===
There are just two options:


* Standard Map ( *.ent )
There are just two options:


Under this you can imagine one island, but its also a carrier bridge, cutscene worlds etc.  
* 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).


* Pattern Map ( *.pat )
=== Map File ===


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).  
Don't forget to name the world, it is '''very important''' because a lot of other things are automatically named after the world's name.


=== 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 ==
== Putting 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.  
 
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 ==
== 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.'''  
 
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 ====
==== Example ====
If you create a terrian with name "terrain" the terrain files will be created in folder with same name with this nameing:
If you create a terrian with name "terrain" the terrain files will be created in folder with same name with this naming:


* terrain.data - terrain data , height map, layer description etc.
* terrain.data - terrain data , height map, layer description etc.
* terrain_X_normal.dds - normal texture
* terrain_X_normal.dds - normal texture
* terrain_X_supertexture.dds - super texture
* terrain_X_supertexture.dds - super texture
* terrain_X_Y_layer.dds - alpha layer textura (detail texture)  
* terrain_X_Y_layer.dds - alpha layer textura (detail texture)
 
{{Feature|informative|X is linear number of tile, Y number of the layer texture.}}


(X is linear number of tile, Y number of the layer texture)


== TerrainManager ==
== TerrainManager ==
[[Image:]]  
 
[[File:NewTerrain.jpg|thumb|552px]]


=== Unit Scale ===
=== Unit Scale ===
The distance between vertexes of the height map in engine units ( 1m = 32 units ).
 
The distance between vertexes of the height map in engine units (1m = 32 units).


=== Height Scale ===
=== Height Scale ===
'''WIP'''  
 
'''WIP'''


=== Initial height of terrain plane ===
=== 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.  
 
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 ===
=== World position ===
'''WIP'''
'''WIP'''


=== Size of Terrain In Quads ===
=== 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.  
 
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 ====
==== Example ====
If '''Unit Scale = 96''' and '''Size in Quads = 1024x1024 '''than the final terrain will has '''9km^2 area'''.  
If '''Unit Scale = 96''' and '''Size in Quads = 1024x1024 '''than the final terrain will has '''9km^2 area'''.


=== Number of Tiles ===
=== Number of Tiles ===
Count of [[tiles]] (global textures) per terrain. The count is limited by blocks per terrain.  
 
Count of [[tiles]] (global textures) per terrain. The count is limited by blocks per terrain.


==== Example ====
==== 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.  
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 ===
=== Size of Tile Textures ===
The size of global textures per tile can be changed after in Texture Manager.  
 
The size of global textures per tile can be changed after in Texture Manager.


=== Available Terrains ===
=== Available Terrains ===
Shows all available terrains in the world. With LMB you can select actual terrain.


* '''Delete button'''
Shows all available terrains in the world. With LMB you can select actual terrain.


Will physically erase all terrain data from HDD, but the *.ent file is not changed.
* '''Delete button'''


* '''New Terrain'''  
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.


Will create the terrain with definitions made above. The generating can take some time because of creating global textures.


== Ocean ==
== 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.  
 
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 '''
* '''_water '''


'''OceanRenderer''' type it into the box on the right side (copy from here and paste)  
'''OceanRenderer''' type it into the box on the right side (copy from here and paste)


* '''_watermaterial'''  
* '''_watermaterial'''


'''tessendorfOcean''' type it into the box on the right side  
'''tessendorfOcean''' type it into the box on the right side


And by the type of climate there are two more params:  
And by the type of climate there are two more params:
 
 
{| style="border-spacing:0;"
| style="border:0.002cm solid #000000;padding:0.049cm;"| <center>'''Climate '''</center>
| style="border:0.002cm solid #000000;padding:0.049cm;"| <center>'''oceannice '''</center>
| style="border:0.002cm solid #000000;padding:0.049cm;"| <center>'''oceanstorm '''</center>


{| class="wikitable"
! Climate
! Ocean nice
! Ocean storm
|-
| Arctic
| niceice
| stormice
|-
|-
| style="border:0.002cm solid #000000;padding:0.049cm;"| Arctic
| Mountains
| style="border:0.002cm solid #000000;padding:0.049cm;"| niceice
| nicemount
| style="border:0.002cm solid #000000;padding:0.049cm;"| stormice
| stormmount
 
|-
|-
| style="border:0.002cm solid #000000;padding:0.049cm;"| Mountains
| Temperate
| style="border:0.002cm solid #000000;padding:0.049cm;"| nicemount
| nicetemp
| style="border:0.002cm solid #000000;padding:0.049cm;"| stormmount
| stormtemp
 
|-
|-
| style="border:0.002cm solid #000000;padding:0.049cm;"| Temperate
| Marshlands
| style="border:0.002cm solid #000000;padding:0.049cm;"| nicetemp
| nicemarshes
| style="border:0.002cm solid #000000;padding:0.049cm;"| stormtemp
| stormmarshes
 
|-
|-
| style="border:0.002cm solid #000000;padding:0.049cm;"| Marshlands
| Wastelands
| style="border:0.002cm solid #000000;padding:0.049cm;"| nicemarshes
| nicewaste
| style="border:0.002cm solid #000000;padding:0.049cm;"| stormmarshes
| stormwaste
 
|-
|-
| style="border:0.002cm solid #000000;padding:0.049cm;"| Wastelands
| Volcanic
| style="border:0.002cm solid #000000;padding:0.049cm;"| nicewaste
| nicevulcan
| style="border:0.002cm solid #000000;padding:0.049cm;"| stormwaste
| stormvulcan
|}


|-
{{Feature|informative|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.}}
| style="border:0.002cm solid #000000;padding:0.049cm;"| Volcanic
| style="border:0.002cm solid #000000;padding:0.049cm;"| nicevulcan
| style="border:0.002cm solid #000000;padding:0.049cm;"| 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 ==
Weather effects can be set same as ocean (parametr of the world)


* WeatherEffect1  
Weather effects can be set same as ocean (parametr of the world)
* WeatherEffect2  
 
* WeatherEffect1
* WeatherEffect2


==== Basic Rules ====
==== 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 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 ====
==== Weather Effect ====
(weatherwffect1, weathereffect2) Material of the effects:  
(weatherwffect1, weathereffect2) Material of the effects:


* postprocess/flies  
* postprocess/flies
* postprocess/flowers  
* postprocess/flowers
* postprocess/greenflowers  
* postprocess/greenflowers
* postprocess/windsand  
* postprocess/windsand
* postprocess/windvulcan  
* postprocess/windvulcan
* postprocess/windvulcan2  
* postprocess/windvulcan2
* postprocess/rainmarshes  
* postprocess/rainmarshes
* postprocess/raintemp  
* postprocess/raintemp
* postprocess/rainmountain  
* postprocess/rainmountain
* postprocess/snownice  
* postprocess/snownice
* postprocess/snowmedium  
* postprocess/snowmedium


==== Weather Effect int ====
==== Weather Effect int ====
* X - Value of the weather when the effect will starting to show.  
* X - Value of the weather when the effect will starting to show.
* Y - Value of the weather when the effect will stop 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  
* Z - limit of height above terrain where the effect will be active; 0 = disable height influence


==== Weather Effect Val ====
==== 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 [0] - it is 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]
* power of effect WeatherEffect1Int [1]
* Do Nothing  
* Do Nothing


==== Weather Effect Flags ====
==== Weather Effect Flags ====
It's flags so, any combination is possible. jedna se o flagy, vysledkem muze byt jejich libovolna kombinace - secist potrebne varianty
These are flags, so any combination is possible:


* 1 = interpolace intenzity efektu (v podstate alpha) misto sily efektu (doted default) - napr. pro efekt prachu ve vetru nefunguje dobre zvetsovani poctu geometrie
* 1 = interpolation of effect intensity (essentially alpha) instead of effect strength (previously default) - e.g. increasing the number of geometry does not work well for the dust effect in the wind
* 2 = the effect will show only on materials with grass  
* 2 = the effect will show only on materials with grass
* 4 = rain full screen effect ( raindrop drops on display )  
* 4 = rain full screen effect (raindrop drops on display)
* 8 = frost full screen effect ( soft refract effect around display)  
* 8 = frost full screen effect (soft refract effect around display)
* 16 = dust full screen effect ( soft dust effect around display)  
* 16 = dust full screen effect (soft dust effect around display)
* 32 = emissive effect ( used for fireflies on marshes )  
* 32 = emissive effect (used for fireflies on marshes)


==== Weather Forecast ====
==== Weather Forecast ====
* X - how often the weather changes in minutes  
* X - how often the weather changes in minutes
* Y - middle value of weather <0..1>
* Y - middle value of weather <0..1>
* Z - max value of weather change from mid value  
* Z - max value of weather change from mid value


==== Wind Forecast ====
==== Wind Forecast ====
* X - how often the wind changes in seconds  
* 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
* Y - variability of wind direction <0..1>; random angle, 1 = max randomisation , 0 = same direction all the time
* Z - speed of wind <0..1>; 0 no wind, 1 = max wind
* Z - speed of wind <0..1>; 0 no wind, 1 = max wind


==== Wind Storm Power ====
==== Wind Storm Power ====
* X = multiplier of wind power in bad weather <0..10>, default = 5
* X = multiplier of wind power in bad weather <0..10>, default = 5
* Y = weather when storm starts, 1 = disable  
* Y = weather when storm starts, 1 = disable
* Z = sila boure, pravdepodobnost <0..1> 0 = almost never, 1 = very often
* Z = sila boure, pravdepodobnost <0..1> 0 = almost never, 1 = very often


==== Weather Example ====
==== Weather Example ====
* weatherforecast "15.0000 0.5000 0.5000"
* weatherforecast "15.0000 0.5000 0.5000"
* windforecast "200.0000 0.3000 0.1000"
* windforecast "200.0000 0.3000 0.1000"
* weathereffect1 "postprocess/greenflowers"
* weathereffect1 "postprocess/greenflowers"
* weathereffect1int "0.0000 0.25000 128.0000"
* weathereffect1int "0.0000 0.25000 128.0000"
Line 210: Line 221:
* weathereffect2flags "1"
* weathereffect2flags "1"


<!--
== Edit Height Map ==
== Edit Height Map ==
[[File:Tool_Terrain.jpg]] [[ Height Map Editing ]]
 
[[File:Tool_Terrain.jpg]] [[Height Map Editing]]
 


== Put Material On The Terrain ==
== Put Material On The Terrain ==
[[File:Tool_Material.jpg]] [[ Terrain Materials Editing]]
 
[[File:Tool_Material.jpg]] [[Terrain Materials Editing]]
-->
 
{{GameCategory|carriercommand|Official Tools}}
{{GameCategory|tkom}}

Latest revision as of 23:22, 3 January 2026

Create the World

To create new World (island) just select File -> New in menu and the dialog will show up.

NewEnt.jpg

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 is strongly recommended 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 is very important because a lot of other things are automatically named after the world's name.


Putting 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 naming:

  • 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

NewTerrain.jpg

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:

Climate Ocean nice Ocean storm
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 is 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

These are flags, so any combination is possible:

  • 1 = interpolation of effect intensity (essentially alpha) instead of effect strength (previously default) - e.g. increasing the number of geometry does not work well for the dust effect in the wind
  • 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 randomisation , 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"