Terrain Processor: Introduction: Difference between revisions
mNo edit summary |
Lou Montana (talk | contribs) m (Text replacement - " to to " to " to ") |
||
(15 intermediate revisions by 3 users not shown) | |||
Line 13: | Line 13: | ||
Arma series benefit from the authentic scale of environment, and it is natural to use digitized map data ( | Arma series benefit from the authentic scale of environment, and it is natural to use digitized map data (geographic data), commonly used in {{Link|https://en.wikipedia.org/wiki/Geographic_information_system|geographic information systems}} (GIS) as basis for map design work. Terrain Processor was created in order to allow Arma devs to use some geographic data to quickly prototype terrains and automate some (otherwise tedious) tasks, e.g. placing several hundred thousand trees in a forest. When set up correctly, the existing modules may help map designer to save plenty of work time by populating map with forests, linear vegetation or other randomly placed objects, by leveling terrain under roads or adding small randomization to the terrain mesh. Terrain Processor does not replace manual work and "artistic" fine tuning, but it may serve map designer as a tool for rapid creation of a solid basis for their manual editing. | ||
Line 19: | Line 19: | ||
Please note that Terrain Processor comes without much preview tools, which requires some empiric testing and iterative setting tweaks.The manual comes with sample TP project data illustrating the tool's basic setup, and with tutorials guiding community map designers through some basic pipelines of geographic data usage in an Arma map. | Please note that Terrain Processor comes without much preview tools, which requires some empiric testing and iterative setting tweaks. The manual comes with sample TP project data illustrating the tool's basic setup, and with tutorials guiding community map designers through some basic pipelines of geographic data usage in an Arma map. | ||
== Getting started == | == Getting started == | ||
=== Project === | === Project === | ||
Upon starting | Upon starting TP, user is prompted to either open existing project or set up a new one. Either double-click on an existing project in the list, search for other existing project using the "Open other project" button, or "Create new" project. | ||
Line 29: | Line 29: | ||
There's a | There's a check-box to the left of each task line. The checked tasks are those being processed when processing is started, which will be covered by the '''Exporting data section'''. | ||
Line 35: | Line 35: | ||
TP is using relative paths for all the file dependencies, so that it | TP is using relative paths for all the file dependencies, so that it is easy to transfer projects and their data. It is recommended to store all the relevant data and project in a single folder with sub-folders organized to user's liking. | ||
=== Main Interface === | === Main Interface === | ||
There are couple of icons on the toolbar over the task list table: | There are couple of icons on the toolbar over the task list table: | ||
[[ | [[File:TerrainProcessor_toolbar.png]] | ||
'''Project functions (orange):''' | '''Project functions (orange):''' | ||
* New project - Sets up a new blank project. | * New project - Sets up a new blank project. | ||
* Open project - | * Open project - To open an existing project. | ||
* Save project - Saves current project. | * Save project - Saves current project. | ||
* Export settings - Opens dialog allowing to set up path to results folder and * select desired output formats (LBT, SHP). | * Export settings - Opens a dialog allowing to set up path to results folder and * select desired output formats (LBT, SHP). | ||
'''Task functions (blue):''' | '''Task functions (blue):''' | ||
* Add task - Adds a new task to the end of the queue. | * Add task - Adds a new task to the end of the queue. | ||
Line 60: | Line 60: | ||
=== Tasks check vs. selection === | === Tasks check vs. selection === | ||
There is a difference between checking or selecting a task. Selection is done using LMB and it | There is a difference between checking or selecting a task. Selection is done using LMB and it is used for tasks manipulation (e.g. duplication, deletion, reordering), while checking is done over a check-box on the beginning on each task line, used to determine whether a task will be processed after hitting the "Run" button. | ||
Line 74: | Line 74: | ||
== Setting up a task == | == Setting up a task == | ||
=== Adding and managing tasks === | === Adding and managing tasks === | ||
Task can be added using a toolbar button (see the '''Main interface''' section above). Upon adding a task, dialog is opened to determine which Module should be used for the task. Once a task is set up, it is required to fill in required values and variables in order | Task can be added using a toolbar button (see the '''Main interface''' section above). Upon adding a task, dialog is opened to determine which Module should be used for the task. Once a task is set up, it is required to fill in required values and variables in order to make it functional. Task settings are available upon its addition to the project, and can be accessed and edited anytime later by '''double-clicking LMB''' on a particular task line. | ||
=== Task settings === | === Task settings === | ||
Line 82: | Line 82: | ||
Every tab page has <u>color indicator</u> of inputs, allowing user to quickly identify completion of a task's setup: | Every tab page has <u>color indicator</u> of inputs, allowing user to quickly identify completion of a task's setup: | ||
* <span style="color: rgb(0,128,0);"><strong>Green</strong></span> - Data OK - all correct. | * <span style="color: rgb(0,128,0);"><strong>Green</strong></span> - Data OK - all correct. | ||
* <span style="color: rgb(51,102,255);"><strong>Blue</strong></span> - Missing Data - some parameters | * <span style="color: rgb(51,102,255);"><strong>Blue</strong></span> - Missing Data - some parameters are not set. | ||
* <span style="color: rgb(255,0,0);"><strong>Red</strong></span> - Wrong Data - some parameters | * <span style="color: rgb(255,0,0);"><strong>Red</strong></span> - Wrong Data - some parameters are not set correctly. | ||
'''Objects''' | '''Objects''' | ||
* You can manually add object names for selected task. The names of objects must be equal to <u>the names of Object Templates in the Terrain Builder project</u>. Every task can has different object prototype parameters. | * You can manually add object names for the selected task. The names of objects must be equal to <u>the names of Object Templates in the Terrain Builder project</u>. Every task can has different object prototype parameters. | ||
'''Parameters''' | '''Parameters''' | ||
Line 110: | Line 110: | ||
=== Exporting data === | === Exporting data === | ||
With several tasks set, it is possible to export the '''LBT''' file importable to Terrain Builder by | With several tasks set, it is possible to export the '''LBT''' file importable to Terrain Builder by clicking the '''RUN''' icon. User will be prompted to select the output file; then a dialog with progress bar and processing log appears. Once all the tasks are finished, output files are saved and user needs to close the dialog manually. | ||
Line 127: | Line 127: | ||
Some of the variable names (column names in tables), when read from a DBF (be it a Shapefile or Added one), should be <u>exactly same</u> as listed below as their reading is hard-coded for sake of tool simplicity - these are marked as '''REQUIRED''' in the "Variable name" column. For the rest, we recommend to use the presented convention (used internally in BI and in the sample data). | Some of the variable names (column names in tables), when read from a DBF (be it a Shapefile or Added one), should be <u>exactly same</u> as listed below as their reading is hard-coded for sake of tool simplicity - these are marked as '''REQUIRED''' in the "Variable name" column. For the rest, we recommend to use the presented convention (used internally in BI and in the sample data). | ||
{| class=" | {| class="wikitable sortable" | ||
! Parameter name / column name in DBF | ! Parameter name / column name in DBF | ||
! Description | ! Description | ||
! Units | ! Units | ||
! Value type | ! Value type | ||
! Variable name | ! Variable name | ||
<!-----------------------------------------------------------> | <!-----------------------------------------------------------> | ||
|- | |- | ||
Line 161: | Line 161: | ||
| <span>number</span> | | <span>number</span> | ||
| <strong>REQUIRED NAME<br></strong> | | <strong>REQUIRED NAME<br></strong> | ||
<!-----------------------------------------------------------> | <!-----------------------------------------------------------> | ||
|- | |- | ||
Line 243: | Line 236: | ||
== Plugins / Modules == | == Plugins / Modules == | ||
===Area=== | === Area === | ||
Input of these modules are polygon Shapefiles, and these modules work within boundaries of the polygon geometries. | Input of these modules are polygon Shapefiles, and these modules work within boundaries of the polygon geometries. | ||
* Area: High-density Cluster - Creates clusters of particular objects in a densely covered area, e.g. spots of spruce and beech in a forest. | * [[Terrain Processor: Area: High-density Cluster|Area: High-density Cluster]] - Creates clusters of particular objects in a densely covered area, e.g. spots of spruce and beech in a forest. | ||
* Area: Local Maximum Cluster - Creates clusters of objects in local terrain maximums; ASCII DEM required. | * [[Terrain Processor: Area: Local Maximum Cluster|Area: Local Maximum Cluster]] - Creates clusters of objects in local terrain maximums; ASCII DEM required. | ||
* Area: Local Minimum Cluster - Creates clusters of objects in local depressions; ASCII DEM required. | * [[Terrain Processor: Area: Local Minimum Cluster|Area: Local Minimum Cluster]] - Creates clusters of objects in local depressions; ASCII DEM required. | ||
* Area: Low-density Cluster (circle) - Creates roughly circular clusters of objects in sparsely populated areas, e.g. trees in savannah. | * [[Terrain Processor: Area: Low-density Cluster (circle)|Area: Low-density Cluster (circle)]] - Creates roughly circular clusters of objects in sparsely populated areas, e.g. trees in savannah. | ||
* Area: Low-density Cluster (strip) - Creates prolonged circular clusters of objects in sparsely populated areas. | * [[Terrain Processor: Area: Low-density Cluster (strip)|Area: Low-density Cluster (strip)]] - Creates prolonged circular clusters of objects in sparsely populated areas. | ||
Area: Random - Simple random object placer, useful where no extra occurence rules are required. | * [[Terrain Processor: Area: Random|Area: Random]] - Simple random object placer, useful where no extra occurence rules are required. | ||
===Line=== | === Line === | ||
Input of linear Shapefiles, with the modules placing objects along the linear geometries. | Input of linear Shapefiles, with the modules placing objects along the linear geometries. | ||
* Line: Random - Places objects randomly in certain distance interval from a line. | * [[Terrain Processor: Line: Random|Line: Random]] - Places objects randomly in certain distance interval from a line. | ||
* Line: Regular - Places objects in regular interval in certain distance from a line. | * [[Terrain Processor: Line: Regular|Line: Regular]] - Places objects in regular interval in certain distance from a line. | ||
* Line: Sparse Cluster - Randomly places objects in clusters along a line. | * [[Terrain Processor: Line: Sparse Cluster|Line: Sparse Cluster]] - Randomly places objects in clusters along a line. | ||
* Line: Nodes Objects - Places objects on polyline nodes. | * [[Terrain Processor: Line: Nodes Objects|Line: Nodes Objects]] - Places objects on polyline nodes. | ||
===Point=== | === Point === | ||
Input of point Shapefiles, with the modules placing objects on the point geometries. | Input of point Shapefiles, with the modules placing objects on the point geometries. | ||
* Point: With Rotation - Places objects on points with random or defined rotation. | * [[Terrain Processor: Point: With Rotation|Point: With Rotation]] - Places objects on points with random or defined rotation. | ||
===Heightmap=== | === Heightmap === | ||
Plugins for processing ASCII DEMs, with a map project-sized terrain model being its main input and output. | Plugins for processing ASCII DEMs, with a map project-sized terrain model being its main input and output. | ||
* Heightmap: ASCII DEM Convert - Conversion tool for ASCII DEMs in Geodetic coordinates (e.g. WGS84 coordinate system) in degrees to UTM (in meters). | * [[Terrain Processor: Heightmap: ASCII DEM Convert|Heightmap: ASCII DEM Convert]] - Conversion tool for ASCII DEMs in Geodetic coordinates (e.g. WGS84 coordinate system) in degrees to UTM (in meters). | ||
* Heightmap: Perlin Noise - Random noise added to the ASCII DEM in the extent of polygon mask. Practical for making e.g. rugged terrain in forested areas. | * [[Terrain Processor: Heightmap: Perlin Noise|Heightmap: Perlin Noise]] - Random noise added to the ASCII DEM in the extent of polygon mask. Practical for making e.g. rugged terrain in forested areas. | ||
* Heightmap: Road Integration - Levels the terrain under the roads and smoothens the terrain cells in the vicinity of the flattened areas. | * [[Terrain Processor: Heightmap: Road Integration|Heightmap: Road Integration]] - Levels the terrain under the roads and smoothens the terrain cells in the vicinity of the flattened areas. | ||
===Mask=== | === Mask === | ||
Special section currently containing a single plugin for masking object | Special section currently containing a single plugin for masking object occurrence in a project. | ||
* Mask: Area - Removes all objects in the extent of polygon shapefile mask from Features Database. Can be used multiple times in single project, useful to mask areas of e.g. water bodies, roads or settlements instead of manually erasing their extent from the shapefiles used for generating objects. | * [[Terrain Processor: Line: Mask: Area|Mask: Area]] - Removes all objects in the extent of polygon shapefile mask from Features Database. Can be used multiple times in single project, useful to mask areas of e.g. water bodies, roads or settlements instead of manually erasing their extent from the shapefiles used for generating objects. | ||
* [[Terrain Processor: Line: Mask: Line|Mask: Line]] - Removes objects closer to line then given distance. You can use it for removing trees on roads, ... | |||
<!-----------------------------------------------------------> | <!-----------------------------------------------------------> | ||
| | | style="padding: 1.5em" | | ||
<!-----------------------------------------------------------> | <!-----------------------------------------------------------> | ||
| <div style=" | | <div style="font-size: 1.5em; margin: 0.83em 0; font-weight: bold">What the heck is...</div> | ||
<div style=" | <div style="font-size: 1.17em; margin: 1em 0; font-weight: bold">Geographic data</div> | ||
Data formats used to represent some geographic features. there can be vector data (abstracting the reality in forms of polygons, lines and points) or raster data (e.g. aerial photos). Geographic data also contain information about their position on Earth, however, the nature of this information vary a lot, as there are many coordinate systems in which such data could be stored. | Data formats used to represent some geographic features. there can be vector data (abstracting the reality in forms of polygons, lines and points) or raster data (e.g. aerial photos). Geographic data also contain information about their position on Earth, however, the nature of this information vary a lot, as there are many coordinate systems in which such data could be stored. | ||
The advantage of using such data for making an Arma map is in their ability to provide map designer with basic landscape structure in the real scale, resulting in gaming terrains with authentic | The advantage of using such data for making an Arma map is in their ability to provide map designer with basic landscape structure in the real scale, resulting in gaming terrains with authentic appearance and gameplay possibilities. | ||
<div style=" | <div style="font-size: 1.17em; margin: 1em 0; font-weight: bold">Shapefile format</div> | ||
Vectors commonly used to represent various features in geoinformatics (=digital mapping). Shapefile can contain either polygons, lines or points (only single type for a file). It also has | Vectors commonly used to represent various features in geoinformatics (=digital mapping). Shapefile can contain either polygons, lines or points (only single type for a file). It also has amended database file with the additional data (e.g. village names for point shapefile of village locations, or forest composition and density in BI's polygon shapefile of Chernarussian forests). Each shapefile consists of 3 files: SHP, SHX and DBF - all 3 of them are essential for a Shapefile layer to work. | ||
Read more in | Read more in {{Link|https://en.wikipedia.org/wiki/Shapefile|Wikipedia}}. | ||
<div style=" | <div style="font-size: 1.17em; margin: 1em 0; font-weight: bold">ASCII DEM format</div> | ||
Text-based raster used to describe terrain (DEM = Digital Elevation Model) by means of values arranged in regular (square) pattern. The file (TXT or ASC) contains header describing the raster size, sampling interval and coordinates of the lower left corner. | Text-based raster used to describe terrain (DEM = Digital Elevation Model) by means of values arranged in regular (square) pattern. The file (TXT or ASC) contains header describing the raster size, sampling interval and coordinates of the lower left corner. | ||
Some GIS softwares work with various decimal marks. Terran Builder is using decimal dot - in the event of having a different decimal mark (usually period), it is fairly easy to mass-replace the symbols in Notepad. It is also possible to use Notepad (or other plain text editor) to change the lower left | Some GIS softwares work with various decimal marks. Terran Builder is using decimal dot - in the event of having a different decimal mark (usually period), it is fairly easy to mass-replace the symbols in Notepad. It is also possible to use Notepad (or other plain text editor) to change the lower left corner coordinates to work properly in the Terrain Builder. | ||
<div style=" | <div style="font-size: 1.17em; margin: 1em 0; font-weight: bold">Geographic coordinate system</div> | ||
Coordinates which can be used to describe a location on the Earth surface. There are many coordinate systems (some applicable only to portion of Earth surface) using various units, e.g. angular degrees or meters. | Coordinates which can be used to describe a location on the Earth surface. There are many coordinate systems (some applicable only to portion of Earth surface) using various units, e.g. angular degrees or meters. | ||
Line 295: | Line 289: | ||
Learn more in | Learn more in {{Link|https://en.wikipedia.org/wiki/Geographic_coordinate_system|Wikipedia}}. | ||
<div style=" | <div style="font-size: 1.17em; margin: 1em 0; font-weight: bold">GIS (Geographic Information System)</div> | ||
Simply put, a digital map with plenty of data attached to the map features. The system may integrate various vector and raster (e.g. aerial or satellite imagery) data, terrain models etc. It is used not just as a digital map, but also for landscape analysis or calculations. | Simply put, a digital map with plenty of data attached to the map features. The system may integrate various vector and raster (e.g. aerial or satellite imagery) data, terrain models etc. It is used not just as a digital map, but also for landscape analysis or calculations. | ||
There are many professional and free solutions allowing user to set up a GIS. BI is using ESRI's ArcGIS, however, freely available | There are many professional and free solutions allowing user to set up a GIS. BI is using ESRI's ArcGIS, however, freely available {{Link|http://www.qgis.org/en/site/|Quantum GIS (or QGIS)}} is capable of basic data processing for an Arma map project. | ||
Learn more in | Learn more in {{Link|https://en.wikipedia.org/wiki/Geographic_information_system|Wikipedia}}. | ||
|} | |} | ||
[[Category:Terrain Processor Manual| | [[Category:Terrain Processor Manual|#]] |
Latest revision as of 18:23, 25 May 2024
IntroductionTerrain Processor is application for making mass changes and additions to Arma terrains edited in Terrain Builder, focused primarily on fast object population of extents of areal or linear topologies. Long story short, user can use this tool to add thousands of objects to an existing Arma terrain project based on geographic data. Outputs of Terrain Processor need to be imported to Terrain Builder. It is practical to keep the tools separated, so that both can be updated, fixed and tweaked independently and with more flexibility.
Getting startedProjectUpon starting TP, user is prompted to either open existing project or set up a new one. Either double-click on an existing project in the list, search for other existing project using the "Open other project" button, or "Create new" project.
Main InterfaceThere are couple of icons on the toolbar over the task list table: Project functions (orange):
Task functions (blue):
Task interaction (grey):
Processing (green): Start processing - TP processes all checked tasks and creates desired output * files. User is prompted to select the outputs. Tasks check vs. selectionThere is a difference between checking or selecting a task. Selection is done using LMB and it is used for tasks manipulation (e.g. duplication, deletion, reordering), while checking is done over a check-box on the beginning on each task line, used to determine whether a task will be processed after hitting the "Run" button.
Something you should know: Features DatabaseAll created objects are inserted into Features database. After all tasks are completed, content of Features Database is saved into LBT and/or SHP file(s). The database is a memory construct not represented by any data. Terrain Processor prevents clipping of inserted objects by checking with the Features Database content produced in a single queue of processed Tasks. Most modules use "minimum distance" parameter to prevent the placement of objects closer than the given value.
Setting up a taskAdding and managing tasksTask can be added using a toolbar button (see the Main interface section above). Upon adding a task, dialog is opened to determine which Module should be used for the task. Once a task is set up, it is required to fill in required values and variables in order to make it functional. Task settings are available upon its addition to the project, and can be accessed and edited anytime later by double-clicking LMB on a particular task line. Task settingsAll tasks have almost same settings, split into several tabs. Most modules require some geographic data as input, and some additional parameters to be set. These parameters can be either set up in the task setting interface, or read from a database file (which can be either part of a Shapefile, or a separate DBF file referenced in the task settings).
Objects
Parameters
Shapefile
DEM files
Notes
Exporting dataWith several tasks set, it is possible to export the LBT file importable to Terrain Builder by clicking the RUN icon. User will be prompted to select the output file; then a dialog with progress bar and processing log appears. Once all the tasks are finished, output files are saved and user needs to close the dialog manually.
Plugin / Modules Database ParametersOverview of the Plugin parameters, added by any available means in TP (manual input, Shapefile database, related database).
Plugins / ModulesAreaInput of these modules are polygon Shapefiles, and these modules work within boundaries of the polygon geometries.
LineInput of linear Shapefiles, with the modules placing objects along the linear geometries.
PointInput of point Shapefiles, with the modules placing objects on the point geometries.
HeightmapPlugins for processing ASCII DEMs, with a map project-sized terrain model being its main input and output.
MaskSpecial section currently containing a single plugin for masking object occurrence in a project.
|
What the heck is...
Geographic data
Data formats used to represent some geographic features. there can be vector data (abstracting the reality in forms of polygons, lines and points) or raster data (e.g. aerial photos). Geographic data also contain information about their position on Earth, however, the nature of this information vary a lot, as there are many coordinate systems in which such data could be stored.
Shapefile format
Vectors commonly used to represent various features in geoinformatics (=digital mapping). Shapefile can contain either polygons, lines or points (only single type for a file). It also has amended database file with the additional data (e.g. village names for point shapefile of village locations, or forest composition and density in BI's polygon shapefile of Chernarussian forests). Each shapefile consists of 3 files: SHP, SHX and DBF - all 3 of them are essential for a Shapefile layer to work.
ASCII DEM format
Text-based raster used to describe terrain (DEM = Digital Elevation Model) by means of values arranged in regular (square) pattern. The file (TXT or ASC) contains header describing the raster size, sampling interval and coordinates of the lower left corner.
Geographic coordinate system
Coordinates which can be used to describe a location on the Earth surface. There are many coordinate systems (some applicable only to portion of Earth surface) using various units, e.g. angular degrees or meters.
GIS (Geographic Information System)
Simply put, a digital map with plenty of data attached to the map features. The system may integrate various vector and raster (e.g. aerial or satellite imagery) data, terrain models etc. It is used not just as a digital map, but also for landscape analysis or calculations.
|