User Tools

Site Tools


arma3:terrain:ultimate-terrain-tutorial

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
arma3:terrain:ultimate-terrain-tutorial [2017-10-08 15:59]
snakeman removed texture and added tag for rvmat.
arma3:terrain:ultimate-terrain-tutorial [2024-04-01 20:40] (current)
snakeman updated.
Line 1: Line 1:
 ====== PMC ArmA 3 Ultimate Terrain Tutorial ====== ====== PMC ArmA 3 Ultimate Terrain Tutorial ======
 +
 +**2024-04-01T20:​40:​00Z Update**
  
 Same as the legendary [[falcon4:​theater_tutorial|Falcon 4 PMC Ultimate Theater Tutorial]] this PMC ArmA 3 Ultimate Terrain Tutorial will be one stop shop for everything a newbie needs to know about terrain editing. Same as the legendary [[falcon4:​theater_tutorial|Falcon 4 PMC Ultimate Theater Tutorial]] this PMC ArmA 3 Ultimate Terrain Tutorial will be one stop shop for everything a newbie needs to know about terrain editing.
Line 10: Line 12:
 ====== 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, ​[[tools:​l3dt|L3DT]] and obviously steam arma3 tools.
  
 **Do not ever use windows notepad or wordpad to edit text files.** Recommended text editors listed at [[:​editing_tools#​text_editing|Editing Tools: Text Editing]]. **Do not ever use windows notepad or wordpad to edit text files.** Recommended text editors listed at [[:​editing_tools#​text_editing|Editing Tools: Text Editing]].
Line 27: Line 29:
 ====== Installing L3DT ====== ====== Installing L3DT ======
  
-You'll find download link from our [[arma2:​terrain:l3dt|ArmA 2 Terrain: ​L3DT]] page. That page is just a reference, you don't need to read it through for this tutorial.+You'll find download link from [[tools:​l3dt|L3DT]] page. That page is just a reference, you don't need to read it through for this tutorial.
  
-Installing using the L3DT installer is easy, not much more to say about it. At the moment of writing this tutorial the free version ​is v16.05.+Installing using the L3DT installer is easy. At 2019-01-02 L3DT is freeware [[http://​www.bundysoft.com/​phpBB2/​viewtopic.php?​f=2&​t=15509|L3DT news]], there are v16.05 ​and development v18.08 Pro downloads available. This tutorial uses v16.05 (but you should be fine with the development version as well).
  
-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/​masks ​of small 2048 grid/​resolution ​just for tutorial purposes to make the files quicker to process. **You cannot make proper arma3 terrain SATELLITE TEXTURES with 2048 resolution images.** For reference (but you don't have to read this now) [[arma3:​terrain:​satellite-image-resolution-size-explained|satellite image resolution size explained]] covers how small or large satellites you need on difference sizes of terrains.
- +
-Make a note that free version only allows ​heightmaps and satellite texture/​masks ​up to 2048 grid/​resolution. **You cannot make proper arma3 terrain SATELLITE TEXTURES with 2048 resolution images.** For reference (but you don't have to read this now) [[arma3:​terrain:​satellite-image-resolution-size-explained|satellite image resolution size explained]] covers how small or large satellites you need on difference sizes of terrains.+
  
  
Line 40: Line 40:
 Basic installation guide at [[arma3:​tools:​mikero-tools|Mikero Tools]] page. Basic installation guide at [[arma3:​tools:​mikero-tools|Mikero Tools]] page.
  
-You need to install+You must install ​Mikero tools in order to get terrain properly in-game.
-  * DePbo +
-  * DeOgg +
-  * DeP3d +
-  * DeRap +
-  * ExtractPbo +
-  * MakePbo +
-  * pboProject +
-  * Rapify+
  
  
Line 54: Line 46:
  
 Guide on [[arma3:​tools:​installing-steam-arma-3-tools|Installing Steam ArmA 3 Tools]] and [[arma3:​tools:​setup-p-drive|Setup P: Drive]]. Guide on [[arma3:​tools:​installing-steam-arma-3-tools|Installing Steam ArmA 3 Tools]] and [[arma3:​tools:​setup-p-drive|Setup P: Drive]].
 +
 +**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 103:
 \tut\tut_tutorial_terrain\$PBOPREFIX$ \tut\tut_tutorial_terrain\$PBOPREFIX$
 </​code>​ </​code>​
-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:
 <​code>​ <​code>​
 tut\tut_tutorial_terrain tut\tut_tutorial_terrain
 </​code>​ </​code>​
-This is your namespace \ addon name directory, pboprefix file tells arma3_x64.exe where this addon'​s files can be found.+This is your namespace \ addon name directory, pboprefix file tells arma3_x64.exe where this addon'​s files can be found. ​**It is very important to use $PBOPREFIX$ do not skip it, this is how proper addons are done.**
  
 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 164: Line 158:
 </​code>​ </​code>​
  
-Create a "gdt_grass_green.rvmat"​ file there, open it in text editor and copy paste this:+Create a "tut_grass_green.rvmat"​ file there, open it in text editor and copy paste this:
 <code cpp> <code cpp>
-ambient[] = {0.9,0.9,0.9,1}; +ambient[] = { 111, 1 }; 
-diffuse[] = {0.9,0.9,0.9,1}; +diffuse[] = { 111, 1 }; 
-forcedDiffuse[] = {0.02,​0.02,​0.02,​1};​ +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 = "​NormalMapDiffuse";​ PixelShaderID = "​NormalMapDiffuse";​
Line 182: Line 176:
  class uvTransform  class uvTransform
  {  {
- aside[] = {10,0,0}; + aside[] = { 10, 0, 0 }; 
- up[] ​   = {0,10,0}; + up[] ​   = { 0, 10, 0 }; 
- dir[] ​  = {0,0,10}; + dir[] ​  = { 0, 0, 10 }; 
- pos[] ​  = {0,0,0};+ pos[] ​  = { 0, 0, 0 };
  };  };
 }; };
Line 195: Line 189:
  class uvTransform  class uvTransform
  {  {
- aside[] = {10,0,0}; + aside[] = { 10, 0, 0 }; 
- up[] ​   = {0,10,0}; + up[] ​   = { 0, 10, 0 }; 
- dir[] ​  = {0,0,10}; + dir[] ​  = { 0, 0, 10 }; 
- pos[] ​  = {0,0,0};+ pos[] ​  = { 0, 0, 0 };
  };  };
 }; };
Line 207: Line 201:
 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'​t need any actual texture **files** in its pbo, it only references them from another pbo.+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'​t need any actual texture **files** in its pbo, it only references them from another pbo.
  
  
Line 364: Line 358:
 Tick export satellite texture\\ Tick export satellite texture\\
 Tick export surface mask\\ Tick export surface mask\\
-Make sure materials per cell and save rvmat files in ASCII format are selected+Make sure "​6 ​materials per cell (arma 2)" ​and save rvmat files in ASCII format are selected
  
 {{ https://​pmc.editing.wiki/​images/​PMC-ArmA-3-Ultimate-Terrain-Tutorial-Terrain-Builder-Mapframe-Properties-Generate-Layers.png }} {{ https://​pmc.editing.wiki/​images/​PMC-ArmA-3-Ultimate-Terrain-Tutorial-Terrain-Builder-Mapframe-Properties-Generate-Layers.png }}
Line 441: Line 435:
  class tut_tutorial_terrain  class tut_tutorial_terrain
  {  {
- units[] = + units[] = {};
- { +
- "​tut_tutorial_terrain"​ +
- };+
  weapons[] = {};  weapons[] = {};
  requiredVersion = 1;  requiredVersion = 1;
Line 489: Line 480:
  ilsTaxiIn[] = {};  ilsTaxiIn[] = {};
  ilsTaxiOff[] = {};  ilsTaxiOff[] = {};
- drawTaxiway = false;+ drawTaxiway = 0;
  class SecondaryAirports{};​  class SecondaryAirports{};​
  class ReplaceObjects{};​  class ReplaceObjects{};​
Line 502: Line 493:
  vehicles[] = {};  vehicles[] = {};
  };  };
 +
 + minTreesInForestSquare = 2;
 + minRocksInRockSquare = 2;
  
  class Subdivision{};​  class Subdivision{};​
Line 508: Line 502:
 }; };
 </​code>​ </​code>​
 +Important note: if you use pboProject later than v1.73 you must start the GUI, go to Setup and untick "-W warnings are errors"​ tick box. If you do not, this example config.cpp gives error and pboproject fails to pack a pbo. The error you would get is "​warning:​cfgSurfaces not defined"​ and "<​namespace>​\<​addon>​\config.cpp:​ there are clutter errors in the config"​.
  
  
Line 918: Line 913:
  mainMat = "​a3\roads_f\roads_ae\data\surf_roadtarmac_main_road.rvmat";​  mainMat = "​a3\roads_f\roads_ae\data\surf_roadtarmac_main_road.rvmat";​
  map = "​road";​  map = "​road";​
 + AIpathOffset = 0;
  };  };
  class Road0002  class Road0002
Line 978: Line 974:
  
 Start buldozer and in there press 1 which is buldozertools "​reload roads",​ your roads should now appear. Start buldozer and in there press 1 which is buldozertools "​reload roads",​ your roads should now appear.
 +
 +**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 = "";​
 +</​code>​
 +And edit, like this:
 +<code cpp>
 + newRoadsShape = "​\tut\tut_tutorial_terrain\data\roads\roads.shp";​
 +</​code>​
 +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 ​is on initial phase right now, more details will be added in the future.+PMC ArmA 3 Ultimate Terrain Tutorial ​if the most complete and up to date tutorial ​on the internet.
  
-You can use [[https://​www.pmctactical.org/​contact.php|PMC Tactical Contact]] to get in touch with us, for any fixes, suggestions or questions. You should join [[https://​discord.gg/​arma|ArmA discord chat]], all you need is a browser. Check out #​terrain_makers for some excellent terrain talk.+You can use [[https://​www.pmctactical.org/​contact.php|PMC Tactical Contact]] to get in touch with us, for any fixes, suggestions or questions.
arma3/terrain/ultimate-terrain-tutorial.1507478349.txt.gz · Last modified: 2017-10-08 15:59 by snakeman