L3DT documentation
Large 3D terrain generator

Differences

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

l3dt:userguide:newmap:design_inflate [2017/08/31 05:34] (current)
Line 1: Line 1:
 +====== Making a 'designable map' project ======
  
 +//Note: //This page follows-on from [[l3dt:userguide:newmap|making a new project]] page.
 +
 +
 +
 +
 +===== Algorithm description =====
 +
 +If you select a 'designable map' project in the [[l3dt:userguide:newmap|select project type]] wizard, the algorithm L3DT will use to create the terrian map will be its very own 'Design/Inflate' algorithm, which is explained on the [[l3dt:algorithms:hf:design_inflate|algorithms page]].
 +
 +//Executive summary: //The design/inflate algorithm starts with a low-resolution [[l3dt:reference:maps:dm|design map]], in which each pixel represents a block of heightfield pixels (typically 64x64 pixels). Using this design map, you may [[l3dt:userguide:tools:dm_brush|draw the design]] of the heightfield, place volcanos, etc. To generate the heightfield from the design map, L3DT '[[l3dt:algorithms:hf:inflate|inflates]]' the design map to the final heightmap size (e.g. 64<html>&times;</html> larger) and applies the various overlays you have specified (e.g. volcanoes, cliffs, etc.).
 +
 +
 +
 +===== The 'Heightfield size' wizard pane =====
 +
 +To start with, you will need to specify the desired size of the final heightfield using the 'heightfield size' wizard:
 +
 +{{ :l3dt:userguide:wizards:hfsize.png |l3dt:userguide:wizards:hfsize.png }}
 +
 +To change the heightfield height and width (as measured in pixels), either use the slider controls or type in the desired values next to the 'height' and 'width' labels. A few things to note about map sizes include:
 +  * Non-square map sizes are supported.
 +  * Non-power-of-two map sizes are supported. Although the sliders step in powers of two, you can enter any number into the edit boxes.
 +  * The map width and height will be rounded off to the nearest multiples of the design map resolution, as set in the [[#The 'design map size' wizard pane|Design map size]] wizard pane, discussed below.
 +
 +If you wish to make a map larger than 8192x8192, then you will need to check the //split map into tiles (mosaic map)// option (discussed next). This increases the size limits to 131,072x131,072 heightfield pixels, or 16 gigapixels. 
 +
 +Please note that the //Horiz. scale (m)// value sets the geometric detail of your heightfield, and also and determines the physical extents of your map. The default value is 10m, which is suitable for RTS-style games. For FPS-style games, use 1m or less. To better understand what all this means, please have a quick read of the [[l3dt:userguide:newmap:horizscale|choosing the right horizontal scale]] page.
 +
 +Once you're done setting the heightfield size and scale settings, click on the //Next >>// button to proceed to the [[#The 'design map size' wizard pane|Design map size]] pane.
 +
 +==== Making a mosaic map ====
 +
 +<note important>
 +This option is only available in [[http://www.bundysoft.com/L3DT/downloads/professional.php|L3DT Professional]].
 +</note>
 +
 +L3DT can make maps up to 128k<html>&times;</html>128k pixels pixels in size using the mosaic map architecture (see [[l3dt:algorithms:mosaics|algorithms page]]). This option is enabled by selecting the //split map into tiles (mosaic map)// check-box, as shown below:
 +
 +{{ l3dt:userguide:wizards:hfsize_mosaic.png |l3dt:userguide:wizards:hfsize_mosaic.png }}
 +
 +With mosaic maps enabled, L3DT will handle the map as a dynamically-paged set of map files. The map size limit goes up to 128k<html>&times;</html>128k pixels, while the peak RAM requirement is capped at a few hundred MB, regardless of how many gigabytes (or terabytes) your map might take-up on disk. Mosaic maps are a Very Good Idea<html>&trade;</html> if your system doesn't have much RAM (1GB or less), or if you intend to make very large maps (8192x8192 pixels or larger). 
 +
 +The size of each sub-map 'tile' in the mosaic map is set in the //Tile size// edit box. The default is 512, meaning the mosaic map will consist of a set of map files that are each 512x512 pixels in size. In the above example of a 131,072x65,536 pixel map, the heightfield will be saved as a 'mosaic' of 256x128 map files, each of which being 512x512 pixels in size. 
 +
 +Please note that when it comes time to generate the mosaic heightfield, you will be prompted to save the map group (see below). This is because L3DT dynamically loads/saves mosaic tiles as they are required, and therefore needs a filename to use.
 +
 +{{ l3dt:userguide:dialogs:demandsave.png }}
 +
 +
 +
 +
 +===== The 'Design map size' wizard pane =====
 +
 +After the //heightfield size// wizard pane (discussed above) comes the //design map size// wizard pane, shown below:
 +
 +{{ :l3dt:userguide:wizards:dmsize.png |l3dt:userguide:wizards:dmsize.png }}
 +
 +Here you may choose the HF/DM ratio to be used in the [[l3dt:algorithms:hf:design_inflate|design/inflate algorithm]] when generating the heightfield from the design map. The default option is 64x, which means that each pixel in the design map will be converted into a 64x64 block of pixels in the final heightfield. I generally don't recommend you change this value, but for the sake of completeness:
 +  * Small ratios (e.g. 8-32) may be useful when making small-scale terrain (1024x1024 pixels or smaller) if you want to have fine-scale  control when manually designing your heightmap, and want the final heightfield to more closely match your design. Small ratios are __**not**__ recommended for larger terrain maps (i.e. not for 2048x2048 pixels or larger).
 +  * Large ratios (e.g. 128-256) may be useful when making very large-scale terrain (8192x8192 pixels or larger) if you want to have more broad-brush control when manually designing your heightmap, and want the heightfield algorithm to fill in more of the detail. Large ratios are __**not**__ recommended for smaller terrain maps (i.e. not for 1024x1024 pixels or smaller).
 +  * 64x is the best choice, and is generally the most thoroughly tested and tuned version of the [[l3dt:algorithms:hf:design_inflate|design/inflate algorithm]].
 +
 +<note>
 +The heightfield size will be rounded-off to the nearest size corresponding to a full design map block. For example, if you choose a //DM/HF ratio// of 64, your map sizes in X and Y will be rounded off to the nearest multiple//s// of 64.
 +</note>
 +
 +
 +
 +
 +
 +
 +===== The 'Design map parameters' wizard pane =====
 +
 +After the //dessign map size// wizard pane will come the //design map parameters// pane (shown below), in which you set some 'high level' parameters that L3DT will use to generate your design map, including such things as erosion strength, average altitude, etc.
 +
 +{{ l3dt:userguide:wizards:designparams.png }}
 +
 +For an quick guide to what the parameters do, please consult these pages:
 +  * [[l3dt:algorithms:dm:params:averagealt|Average altitude]]
 +  * [[l3dt:algorithms:dm:params:altrange|Altitude range]]
 +  * [[l3dt:algorithms:dm:params:featurescale|Scale of features]]
 +  * [[l3dt:algorithms:dm:params:noisestrength|Noise strength]]
 +  * [[l3dt:algorithms:dm:params:noiseshape|Noise shape]]
 +  * [[l3dt:algorithms:dm:params:cliffs|Cliffs and terraces]]
 +  * [[l3dt:algorithms:dm:params:erosion|Erosion]]
 +  * [[l3dt:algorithms:dm:params:lakes|Lakes]]
 +
 +Clicking //OK// will then generate the design map. If you do not like what you see you can make L3DT try again by clicking '//Operations->Design map->Generate map//' in the menu. If after tying this a few times you are still displeased with the map you can either [[l3dt:userguide:tools:dm_brush|edit the design map manually]], or else go back to the wizard and try again. 
 +
 +When you are satisfied with the design-map, you may [[l3dt:userguide:ops:hf#generating_the_heightfield|generate the heightfield]] using the '//Operations->Heightfield->Generate map...//' option.
 
l3dt/userguide/newmap/design_inflate.txt · Last modified: 2017/08/31 05:34 (external edit)
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki