ArmA 3 L3DT page assumes you have read ArmA 2 L3DT page as base knowledge, if you haven't done so then don't be surprised to find some out of context info below.
L3DT is great terrain heightmap and satellite texture / mask generator.
This page is created with info collected from L3DT Professional v16.05 64bit 90 day trial serial. And info from arma terrain community guys of course.
Mosaic can go only as high as 4096 resolution on the initial creation wizard. However after you have generated your attributes and texture maps, when you are about to save mosaics, THEN you can type in 8192 resolution for the spinbox. Very odd it doesn't allow that in the first place but on the actual saving phase it does.
Export satellite mask and texture as BMP image format.
You can get texture map or attributes map to show in your 3D view as overlay. This way you can check how your MASK colors with your terrain before you proceed with final generating (which is slow on large satellites).
Add import → texture map, it will show in 3D sapphire view when you choose texture?
Hardware used: AMD Athlon FX-4170 4.2Ghz Quad Core Black Edition, Corsair Vengeance 16GB PC3-12800 1600MHz with windows 7 64bit.
Generating 4096 grid heightmap with 20480 x 20480 attributes / texture map (satellite) took 34 minutes.
Generating 4096 grid heightmap with 40960 x 40960 attributes / texture map (satellite) took 2 hours and used 7.5gb of RAM.
Saving 8192 resolution 5×5 mosaics from 40960 texture is very sluggish, RAM usage peaked at 8gb at that point.
You can use the designmap generator with imported heightmap.
Use → operations → designmap → generate from HF (heightfield, aka heightmap).
It generates a designmap from the current heightmap and it can be used to apply noise, erosion, large scale terrain feature changes (mountains, areas under water) etc.
My process with completely fictional terrain has been a sketch on paper → start blank project in designmap and raise lower terrain so its about what I want.
Apply some erosion and whatnot attributes with the design brush.
Generate → manually edit in sapphire (L3DT 3D editor).
Repeat until the terrain is nice.
Make custom climate → generate textures → import to Terrain Builder
Grab an 512×512 image from google satellite maps, make it seamless and there is your L3DT material texture. Do not include large features / details in this seed texture as they come up repetitive and ugly in the generated satellite texture.
Lets make a new L3DT climate using arma3 textures. We use sand, grass and rock textures and copy existing L3DT demo climate to our template, as to keep it simple for this tutorial.
Prepare ArmA 3 Satellite Textures
These are called L3DT materials or “seed” textures, more of this below.
Go to p:\a3\map_data\ and you see lot of gtd_*.paa files, these are ground detail textures. Open gdt_grass_green_co.paa with texview2 and save it as .tga format, save it to some temporary directory away from p:\a3\map_data\ dir. Do the same for gdt_rock_co.paa and gdt_beach_co.paa textures.
These textures are not very good sources for L3DT satellite seeds, but they'll do for this tutorial.
Open these .tga texures in photoshop / gimp, resize down to 512 x 512 resolution and save as PNG format.
Name the textures as following:
gdt_grass_green_co.tga to PMC_grass.png
gdt_rock_co.tga to PMC_rock.png
gdt_beach_co.tga to PMC_sand.png
These gdt textures as name says are ground detail textures and are not suited for satellite texture use, gdt are looked at 1m altitude where satellite texture is from 100m and above, there is huge difference on the texture “features” or details between these two types.
If you have lot of small feature / details in these L3DT material / seed images they make crappy looking satellite. You'll see when you experiment with textures and most likely will be surprised how featureless they have to be.
Please note that when we resized 2048 res arma3 gdt textures into 512 res L3DT materials, they.. may or may not look good at all. You should use your mad artistic skillz and grab / create some proper 100m altitude satellite images for these L3DT material / seed textures. I believe the gdt_grass_green_co especially looks like crap, but it doesnt matter in this tutorial, later you can experiment with some proper textures.
Create New Climate
Open L3DT, use resources → climates → climate manager. Select “Demo-grass-rock-sand” and click Copy button.
Write in climate name “PMC Grass Rock Sand”.
Use browse “…” button in file name field, it opens file/dir browser for “C:\Users\<USERNAME>\L3DT\resources\Pro 16.05.3.1 x64\Climates\” directory on the L3DT v16.01 pro 90 day trial version, yours may differ and it will when new versions are released. Point is we are looking at “Climates” directory.
Now create a new directory here, RMB click the empty browser area and type in “PMC_Grass_Rock_Sand” and hit enter to create this directory. Then browse into this directory and adjust the suggested file name “PMC Grass Rock Sand.cli.xml” to be without spaces, like “PMC_Grass_Rock_Sand.cli.xml” and save.
Now you're back in Climate Editor dialog, next add your name / nick / alias to author name field. This doesnt really matter but hey if you're making a new climate why not tag it with your name so if you happen to share this with your friends they see your name there. Note; this doesnt mean you have to use your real name, unless for some odd reason you actually want to.
Leave Climate Editor dialog open and move the three PNG textures we created earlier to Climates\PMC_Grass_Rock_Sand\ directory.
Back to climate editor dialog, double LMB click “1: Grass” to open Land Type Editor.
Create New Materials
Click manager button to open material manager dialog. Double click « new material » to open material editor.
Give it name “PMC_grass”, use file “…” to browse into Climates\PMC_Grass_Rock_Sand\ directory and type in file name “PMC_grass.mat.xml”, click save.
On texture/bump-map layers part double LMB click « new texture layer » to open layer editor.
For file name use “…” to browse into Climates\PMC_Grass_Rock_Sand\ and choose PMC_grass.png texture. Tick “Relative to TX/HF” and click OK.
In material editor click OK to close.
Now you are back in material manager. Repeat the exact same steps for PMC_rock and PMC_sand, you should be able to do it :)
Okay now you have created two more materials, so in material manager list you have “PMC_grass”, “PMC_rock” and “PMC_sand” which should be on the bottom of the list (but it doesnt matter). Click OK to close material manager.
Now you should be back in “Land Type Editor - Grass” and material name suggests “std_grass”, ugh STD? :x
Use the drop down manu to choose PMC_grass instead, we dont want no STD's ;)
Click OK to exit land type editor for “grass” and then repeat the same steps for “2: Rock” and “3: Sand” using, you guessed it, PMC_Rock and PMC_Sand materials.
Now you should be back in Climate Editor dialog.
If you want, you can use Author's notes button and type in some description like “PMC really basic arma3 climate” but this is optional.
Click OK to close climate editor, your new climate is ready to use! :)
Important New Climate Info
We created a new directory for our climate. We stored new materials in this directory. What does this new directory achieve? Well if you want to share this new great climate of yours with your friends and community, all you have to do is to 7zip pack “PMC_Grass_Rock_Sand\” directory and you are set.
You could use existing materials from other directories, but then your climate is hardcoded to these directories and if you share the climate then anyone using it has to have the materials which your climate is referring to. Kind of like required addons in arma3 in fact.
So please, when making a new climate:
When you create mosaic tiles of your attribute and texture maps, then use imagemagick to stitch them together into large satellite, you'll see it takes a lot of time and basically hoggs your computer to a halt while doing so.
When we used imagemagick v7.0.4-1 on Intel Core i7 4790K 4GHz, 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24, it took total of 2h 52min to stitch 40960 x 40960 satellite together from 10 x 10 mosaic pieces.
Use low values on perlin noise brush. When done add some smooth brush on top of it to remove the most rugged elevations. Important: use low numbers, don't go crazy with large numbers as that easily ruins your heightmap.
Create new project with blank heightmap matching your real heightmap size.
File → import → attributes map → import from color map. Choose your satellite mask image, PNG would be nice.
Assign climates and land types in land type color table.
Operations → texture map → generate map.
Position menu or T key allows you to teleport into locations in sapphire.
You can save and type in locations.
In the heightfield view you can double click on the heightmap to get coordinates and height info popup.
L3DT → extensions → sapphire → hardware settings → 1gb. This should in theory, not confirmed, not sure, improve 3D performance.