Working on landscape reconstruction is a process. It can also be used as a study model, and is almost never finished at the first time. That's why it is important to build all the elements as adjustable as possible.
We start by choosing a modeling software. Procedural modelling software uses parameters to contruct the 3D. So it’s easier to adjust over time than free hand modeling software. It’s mostly used for basic shapes. If your scene contains more complex shapes, Blender , 3Ds Max,… can be a better choice.
For the terrain Archicad is used like a sketch tool. Just to have an idea of the terrain parts (canals, forest,roads,...) . And to use as base to construct buildings and objects on.
Next is to texture the objects and perhaps add more complex objects. We choose to import everything in Blender software. This is free and open source.
The landscape is the biggest challenge of this testbed. The process should be as easy and adjustable as possible and have a realistic result. Find a global working process that can be used in real-time (game) and pre-rendered (high-poly).
The workflow shoudn’t be different. Using vegetation maps and depthmaps (2D textures that covers the whole terrain) we can use them for both purpose. It’s the most common way to construct large scale landscapes.
Unity is by far the most used software for Real-time application (multi-platform), E-on Vue is the market leader in high poly 3D nature environment (pre-rendered).
To create vegetation maps we have to split our basic terrain model somehow into 2D maps, containing all the vegetation of the terrain (they define ground textures and plant population). In your software create a top down camera that covers the whole terrain and render this out on the resolution you need. Blender in this case.
Every pixel is a detail in the 3D terrain. If your situation is as follow: The terrain is 1000x1000 meter, and a detail of 25 cm is preferred (for heightmap and vegetation maps), the render resolution should be 4000x4000 pixels. In most situations this is more than enough.
Photo editing software like Photoshop will be used to create the vegetation maps from this render.
So for every single vegetation, create a new layer and use the selection tools to fill it with black.
There are 2 methods to export the maps. One is to use for every vegetation a separate black and white map. The other option is to use 1 color map, each vegetation another color. If you choose is the second one, fill the selection to a color instead of black.
The single color map is the best option, your software only need to load this map once in the memory!
To create a height map for the terrain we use the same workflow. Every type of terrain (canals, roads,…) is saved in a separate layer.
In a height map is the black the lowest part of the terrain and the white the highest
It's better to use 16 bit maps instead of 8 (65k color values).
We choose to use 1 color value = 1 cm, so we have a complete range of 65 000 cm in the heighmap. More than enough in most situations.
If for example a canal is 50 cm deep, we fill that layer with a gray color value 50, and set the layer blending to 'subtract'. if it was a hill, we would set the layer blending to 'add'. This way, it’s easier to understand and control.
Finally blurring some layers will create smoother height transitions.
Now that all details are created in the heightmap, the ground level of the terrain is mostly not 0 meters and not flat. So on the bottom of all these layers it's possible to add a full opaque gray shaded layer of only the terrain without the details. All the layers above will be automatically be adjusted cause they blend on top of this base heightmap.
Save the complete height map to a single image …
So far the 3D models, heightmap and vegetation maps are completed. Here the road split and we have to choose between different visualization software to continue. Real time or pre-rendered… They are too different to share any more steps.
Created by Dries Nollet