Mirage can generate terrain meshes using real-world measurements, while also make useful vertex groups and applying different features (such as erosion or strata). Vertex groups are generated as needed: groups for Height and Slope are always created, while Below sea and Plateau depend on those settings being used.
The detail level setting controls how many vertex the terrain mesh will have. Increasing the level of detail will increase calculation time and memory usage.
Mirage offers three basic levels: normal, medium and high. There’s also a custom option to fine tune the level of detail (see below)
Terrain meshes are created from a plane subdivided in segments. The vertex count results from how many segments are used. For instance, the Normal level of detail has 128 segments, resulting in 16,384 vertices (128x128 = 16,384).
Normal and Medium are usually good enough for everything (specially when used with subdivision and multires). High is great if you are creating a massive terrain and don’t plan on changing it much.
Mirage will always generate the same terrain for the same seed, so you can use the different detail levels to bake higher detail into meshes with less geometry. Check the Blender manual for more information on baking
Watch out for memory usage when generating many terrains with high detail levels. Blender will keep data around for undo, making RAM usage grow and grow. Save and restart Blender if you see memory usage in the info bar growing too big.
Custom detail level¶
It’s also possible to select a custom level of detail besides the basic three. Simply select Custom in the detail level menu.
You will see two new settings: segments and seed grid.
This controls how many times the plane will be subdivided. Increasing this setting will increase vertex count. Note that this number will be rounded automatically according to the base grid.
- Seed Grid
Increases the amount of fine detail in the terrain. Mirage’s algorithm uses a base grid of white noise to generate the terrain. By default this grid always has a size of 100x100. However you can increase this up to be the same as the number of segments (getting the biggest amount of detail).
Changing the Seed Grid setting will give you a different terrain, even with the same seed!
Generating to heightmap¶
You can also generate a terrain straight to a heightmap without making a mesh. Toggle the “Heightmap only” checkbox to enable this mode. When you switch to Heightmap only you will notice the vertex count below the detail setting becomes a pixel count. You will also notice a new dropdown that lets you select how to split the heightmap.
You can choose to split the heightmap into several smaller images. The options range from a 2x2 grid (4 images) up to 32x32 (64 images). When exported these images will be named like “[NAME]_x0_y0” where x0 and y0 are numbers representing the position of the image in the grid.
Set the size of the terrain in real world units. This affects the X and Y axis.
- Max Height
Set the vertical scale. The terrain will always start at zero on the Z axis and go up to this value. Note that if you increase the Size value you should also increase Max Height, or the generated terrain will be flatter.
Create plateaus (or mesas) by clipping the terrain at this height. If this value is higher than Max Height it will not affect the terrain.
- Sea Level
Make everything below this height flat (set to zero). Note the terrain will be moved down so it rests on 0 in the Z axis. This setting will make the final height of the terrain shorter.
Set how coarse the terrain is, and how many small details and perturbations it has. Small roughness will produce very smooth dune-like terrains, while higher roughness add lots of small peaks and valleys.
Increase difference between valleys and peaks. Peaks become more vertical, while valleys and plains become flatter.
Make the terrain more “twisty” and increase the amount of ridges.
This is a number used to initialize the terrain algorithm. Different values will produce different terrains, however a specific seed will always generate the same.
- Auto-seed (clock icon)
Use a different seed every time a terrain is generated. The seed value will be updated, so you can un-tick it if you find a seed value you would like to keep.
These are optional effects that can be applied to the terrain. You turn them on and off by ticking the checkboxes next to them. Select them to see a short description and their settings. Modifiers are listed in the order they are applied.
Add a default Cycles/Eevee material to the terrain
- Add vertex color groups
Convert the generated vertex groups to vertex color groups that can be used inside Cycles and Eevee as masks.
- Add procedural textures
Adds default procedural textures to the terrain. This includes custom node groups for Sand, Dirt/Ground, Rock and Snow. If this option is not enabled the default material will include empty image groups instead.
Whether Procedural Textures is enabled or not, the material will also include several masks to control the coverage of snow/dirt/rocks/sand. These masks are controlled by the Height Mask and Slope Mask node groups (depending on the kind of texture) and they include a Colorramp node to tweak them. The Settings frame gives you a central place to modify the masks quickly.
The procedural textures are stored in a nodegroup for each. Their settings include a Vector input for coordinates, one or more Color inputs for the texture, a Scale control and a Bump Intensity slider that controls the Bump output.
Each nodegroup outputs a color map (Diffuse), a roughness map and a greyscale bump map.
Make the terrain stratified (step-like)
How many “steps” to use
Set how much this effect changes the terrain
- Invert Slope
Invert the direction of the slope between steps
Simulates loosening and clumping of soil because of temperature changes.
- Repose Angle
Angle at which the terrain material piles without slumping. Decreasing the angle will flatten the terrain more. It’s also know as the Talus angle.
Set how much this effect changes the terrain
Simulates erosion caused by rain.
How many times to run the algorithm
- River Iterations
How many times to run the river carving algorihtm (per iteration)
- Fluvial Erosion Rate
Amount of sediment moved each iteration
- Rain Amount
Amount of rain for each iteration
- Soil solubility
How quickly water is saturated with sediment and stops carrying
- Deposition Rate
How quickly sediment is deposited as water slows down
- Carrying Capacity
How much sediment can water carry
How much water evaporates each iteration (percentage per grid square)
Gradually lower the height of the terrain to zero. This can be done along one or two axis independently (linear) or in a circular way (radial).
For the Linear factor these settings are repeated twice, for the X and Y axis.
The type of falloff: Linear or Radial
The smoothing factor.
- Minimum Height
Set a percentage of height as the lowest the effect will go. Only used in Linear falloff
Invert the direction of the effect along it’s axis. Only used in Linear falloff
Invert the terrain heights.
Apply a voxel-like effect to the terrain. This effect will change the vertex count of the terrain. Note that this can be super slow with large terrains and/or high levels of detail in blocks.
- Detail Level
Amount of cubes used to represent the details of the terrain. The lowest setting (4) creates large blocks and results in a lower amount of vertices, while the highest (9) will create small blocks and increase the vertex count.
Add a bevel modifier to the terrain.
Generates a cube that can be used to represent a cross-section of the ground below the terrain. This modifier extends terrain generation underground, creating a Diorama-like effect.
The cube is an indepentent object parented to the terrain. It also has all its transformations locked for convenience.
Due to limitations in Blender API, the diorama cube can’t be auto updated when the terrain is modified (for instance sculpted). To make the diroama fit an updated terrain, look for the Update Diorama button in the tools panel.
- Extrusion length
Height of the diorama cube. This will not change the position of the terrain, the cube grows “down” instead.
- Add a material
Add a default Cycles/Eeevee material
- Add procedural textures
Add basic procedural textures to the material. This includes three custom node groups for different ground levels and underground water. If this option is not enabled the default material will include empty image groups instead.
Simulates an island by smoothing the terrain and adding an plane with the ocean modifier. The ocean includes a default material and is automatically animated (using a driver).
- Terrain smoothing
Controls the smoothing factor for the terrain. This is the done in the same way as with the Smooth Falloff modifier using the radial option.
Water turbulence. This controls several settings in the material and the ocean modifier (wave, wind velocity and the animation speed).
Enables foam generation in the ocean modifier and the ocean material.
- Water Color
Color of the water in the material.