Skip to Content
TerrainUser Manual

Terrain User Manual

Requirements

  • Godot 4.7+
  • Terrain3D  1.1, installed and enabled. You only need its addons/terrain_3d folder. See Purchase for the full install steps.

Setting up

Add the terrain node

Add the Hyperreal terrain node to your scene. It keeps all of Terrain3D’s regions, sculpting, painting and streaming tools.

Import your terrain data

Point the node at a folder of terrain assets — see Importing below.

Build your material list

Add materials to the terrain’s list and assign textures where a material needs them. A material’s paint order is its position in the list; drag to reorder.

Material properties

Every material carries its own full property block, grouped so the inspector stays readable:

GroupControls
ColourLightness, chroma and hue offsets, plus how much macro variation reaches this material
TexturesTwo texture slots — enough for any common packing convention — and an average colour
MaterialSpecularity, roughness, AO strength and AO influence, near and far normal map depth
EccentricLight wrap colour and width, sheen colour and roughness
UVScale, detiling shift, detiling rotation

Specularity, far normal map depth and the whole eccentric group are additions over stock Terrain3D.

Editing any of these is instant. Nothing recompiles.

Average colour

Average colour is derived from the texture automatically the moment you assign one. If the source image changes later, press the refresh button to recompute it.

Normal map depth

Near and far depth are set separately. Push near depth hard for close-up detail, and ease far depth off so ridgelines stay readable at range instead of aliasing.

Material types

Water, snow, sand and anything else you invent are just material types with their own personality. A water material speaks in water terms — flow rather than ambient occlusion — hides the properties that don’t apply to it, and brings sensible defaults with it, so you’re not translating between what the inspector says and what you mean.

Making your own type is a small script. The terrain itself never has to learn about it.

Texture arrays

Terrain assembles its shared texture arrays for you. Real texture sets rarely agree on format, size and mipmaps — one is compressed, one is a different resolution, one came from a different pack — and Godot requires every layer of an array to match. Mismatches are reconciled under a policy you choose:

  • Format — follow the first texture, force a specific format, or refuse to build on a mismatch.
  • Size — follow the first, resize up to the largest, resize down to the smallest, or refuse on a mismatch.
  • Mipmaps — follow the first, force on, force off, or refuse on a mismatch.

On a shipping texture set you usually want to be told that one file doesn’t match, rather than have it quietly resampled — that’s what the strict modes are for.

Importing

The terrain node is its own importer. Point it at a folder of terrain assets and it works out which file is the heightmap, which is the control map and which is the colour map from their names.

  • Accepted formats: EXR, R16, PNG, WebP and JPEG.
  • Transform on import: position, scale and height offset are applied on the way in.
  • Starting over: the guarded Clear Terrain button wipes the terrain.

No import dialog, no intermediate format, no round trip.

Clear Terrain removes the imported terrain data from the node. It’s guarded so you can’t hit it by accident — use it only when you mean to start over.

Last updated on