arma3:terrain:ultimate-terrain-tutorial
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
arma3:terrain:ultimate-terrain-tutorial [2017/10/06 22:12] – http to https switch. snakeman | arma3:terrain:ultimate-terrain-tutorial [2025/07/01 05:31] (current) – updated. snakeman | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== PMC ArmA 3 Ultimate Terrain Tutorial ====== | ====== PMC ArmA 3 Ultimate Terrain Tutorial ====== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | **2025-07-01T05: | ||
Same as the legendary [[falcon4: | Same as the legendary [[falcon4: | ||
Line 10: | Line 14: | ||
====== Required Tools ====== | ====== Required Tools ====== | ||
- | You need a good text editor, image editor, Mikero Tools, L3DT and obviously steam arma3 tools. | + | You need a good text editor, image editor, Mikero Tools, |
**Do not ever use windows notepad or wordpad to edit text files.** Recommended text editors listed at [[: | **Do not ever use windows notepad or wordpad to edit text files.** Recommended text editors listed at [[: | ||
Line 27: | Line 31: | ||
====== Installing L3DT ====== | ====== Installing L3DT ====== | ||
- | You'll find download link from our [[arma2: | + | You'll find download link from [[tools: |
- | Installing using the L3DT installer is easy, not much more to say about it. At the moment of writing this tutorial the free version | + | Installing using the L3DT installer is easy. At 2019-01-02 L3DT is freeware [[http:// |
- | L3DT comes in limited free version, 90 day trial and professional commercial version. You are fine downloading the free version. | + | This tutorial is written with heightmaps and satellite texture/ |
- | + | ||
- | Make a note that free version only allows | + | |
Line 40: | Line 42: | ||
Basic installation guide at [[arma3: | Basic installation guide at [[arma3: | ||
- | You need to install: | + | You must install |
- | * DePbo | + | |
- | * DeOgg | + | |
- | * DeP3d | + | |
- | * DeRap | + | |
- | * ExtractPbo | + | |
- | * MakePbo | + | |
- | * pboProject | + | |
- | * Rapify | + | |
Line 54: | Line 48: | ||
Guide on [[arma3: | Guide on [[arma3: | ||
+ | |||
+ | **Do not skip setting up P: drive properly**, wrongly setup or missing P: drive is the most common cause of issues when developing addons. | ||
Line 109: | Line 105: | ||
\tut\tut_tutorial_terrain\$PBOPREFIX$ | \tut\tut_tutorial_terrain\$PBOPREFIX$ | ||
</ | </ | ||
- | Yes its a bit odd file name but that how things work in arma land. Now open $PBOPREFIX$ in text editor and write the following line there: | + | Now open $PBOPREFIX$ in text editor and write the following line there: |
< | < | ||
tut\tut_tutorial_terrain | tut\tut_tutorial_terrain | ||
</ | </ | ||
- | This is your namespace \ addon name directory, pboprefix file tells arma3_x64.exe where this addon' | + | This is your namespace \ addon name directory, pboprefix file tells arma3_x64.exe where this addon' |
Next we will have to download maplegend.png file. This file is used by terrain builder in various satellite things, you can download it from the below link (for example open to a new browser tab and save as). | Next we will have to download maplegend.png file. This file is used by terrain builder in various satellite things, you can download it from the below link (for example open to a new browser tab and save as). | ||
Line 138: | Line 134: | ||
class tut_grass_green | class tut_grass_green | ||
{ | { | ||
- | texture = "a3\map_data\gdt_grass_green_co.paa"; | + | texture = ""; |
- | material = " | + | material = " |
}; | }; | ||
}; | }; | ||
Line 164: | Line 160: | ||
</ | </ | ||
- | Create a "gdt_grass_green.rvmat" | + | Create a "tut_grass_green.rvmat" |
<code cpp> | <code cpp> | ||
- | ambient[] = {0.9,0.9,0.9,1}; | + | ambient[] = { 1, 1, 1, 1 }; |
- | diffuse[] = {0.9,0.9,0.9,1}; | + | diffuse[] = { 1, 1, 1, 1 }; |
- | forcedDiffuse[] = {0.02, | + | forcedDiffuse[] = { 0.02, 0.02, 0.02, 1 }; |
- | specular[] = {0.0,0.0,0.0,0}; | + | specular[] = { 0, 0, 0, 0 }; |
specularPower = 1; | specularPower = 1; | ||
- | emmisive[] = {0,0,0,0}; | + | emmisive[] = { 0, 0, 0, 0 }; |
PixelShaderID = " | PixelShaderID = " | ||
Line 182: | Line 178: | ||
class uvTransform | class uvTransform | ||
{ | { | ||
- | aside[] = {10,0,0}; | + | aside[] = { 10, 0, 0 }; |
- | up[] | + | up[] |
- | dir[] | + | dir[] |
- | pos[] | + | pos[] |
}; | }; | ||
}; | }; | ||
Line 195: | Line 191: | ||
class uvTransform | class uvTransform | ||
{ | { | ||
- | aside[] = {10,0,0}; | + | aside[] = { 10, 0, 0 }; |
- | up[] | + | up[] |
- | dir[] | + | dir[] |
- | pos[] | + | pos[] |
}; | }; | ||
}; | }; | ||
Line 207: | Line 203: | ||
In this tutorial example we are using only one texture to keep it simple, but normal terrains use more, dozens more of these textures. You don't have to worry about that now. | In this tutorial example we are using only one texture to keep it simple, but normal terrains use more, dozens more of these textures. You don't have to worry about that now. | ||
- | In our layers.cfg we reference to gdt_grass_green.rvmat material file, which again references to the actual texture found in a3\map_data\ directory. This is kind of cool that our terrain doesn' | + | In our layers.cfg we reference to tut_grass_green.rvmat material file, which again references to the actual texture found in a3\map_data\ directory. This is kind of cool that our terrain doesn' |
Line 364: | Line 360: | ||
Tick export satellite texture\\ | Tick export satellite texture\\ | ||
Tick export surface mask\\ | Tick export surface mask\\ | ||
- | Make sure 4 materials per cell and save rvmat files in ASCII format are selected | + | Make sure " |
{{ https:// | {{ https:// | ||
Line 441: | Line 437: | ||
class tut_tutorial_terrain | class tut_tutorial_terrain | ||
{ | { | ||
- | units[] = | + | units[] = {}; |
- | { | + | |
- | " | + | |
- | }; | + | |
weapons[] = {}; | weapons[] = {}; | ||
requiredVersion = 1; | requiredVersion = 1; | ||
Line 489: | Line 482: | ||
ilsTaxiIn[] = {}; | ilsTaxiIn[] = {}; | ||
ilsTaxiOff[] = {}; | ilsTaxiOff[] = {}; | ||
- | drawTaxiway = false; | + | drawTaxiway = 0; |
class SecondaryAirports{}; | class SecondaryAirports{}; | ||
class ReplaceObjects{}; | class ReplaceObjects{}; | ||
Line 502: | Line 495: | ||
vehicles[] = {}; | vehicles[] = {}; | ||
}; | }; | ||
+ | |||
+ | minTreesInForestSquare = 2; | ||
+ | minRocksInRockSquare = 2; | ||
class Subdivision{}; | class Subdivision{}; | ||
Line 508: | Line 504: | ||
}; | }; | ||
</ | </ | ||
+ | Important note: if you use pboProject later than v1.73 you must start the GUI, go to Setup and untick "-W warnings are errors" | ||
Line 918: | Line 915: | ||
mainMat = " | mainMat = " | ||
map = " | map = " | ||
+ | AIpathOffset = 0; | ||
}; | }; | ||
class Road0002 | class Road0002 | ||
Line 978: | Line 976: | ||
Start buldozer and in there press 1 which is buldozertools " | Start buldozer and in there press 1 which is buldozertools " | ||
+ | |||
+ | **Edit config.cpp newRoadsShape** | ||
+ | |||
+ | In order to get your new roads in-game you need to edit newRoadsShape line in the config.cpp. Find the line: | ||
+ | <code cpp> | ||
+ | newRoadsShape = ""; | ||
+ | </ | ||
+ | And edit, like this: | ||
+ | <code cpp> | ||
+ | newRoadsShape = " | ||
+ | </ | ||
+ | Now your roads show up arma3 in-game (note: this has nothing to do with seeing roads in buldozer). | ||
====== Notes ====== | ====== Notes ====== | ||
- | PMC ArmA 3 Ultimate Terrain Tutorial | + | PMC ArmA 3 Ultimate Terrain Tutorial |
+ | |||
+ | You can use [[https:// | ||
- | You can use [[https:// |
arma3/terrain/ultimate-terrain-tutorial.1507327979.txt.gz · Last modified: 2017/10/06 22:12 by snakeman