Terrain & Landscape Generation
TECHNIQUE
📖2 min read
Introduction​
Terrain generation builds the ground your scene stands on. Elevation data becomes a mesh at real scale, and every asset you place afterward inherits that scale.
Scale the heightmap
Set real-world units at import or every slope measurement drifts.
Terrain under evidence
Build elevation first, then drape imagery and assets on the surface.
Watch vertical exaggeration
A stretched heightmap changes heights, angles, and line-of-sight checks.
Key Concepts​
- Heightmap generation
- Erosion simulation
- Vegetation placement
- Geological accuracy
Workflow​
- Get elevation: export a DEM for the area at the resolution the camera work needs.
- Import: bring the heightmap in as displacement or terrain mesh, and set vertical units from a known elevation or distance.
- Match the basemap: align imagery and building footprints to the terrain surface.
- Detail: add erosion and surface texture only where the camera gets close.
- Populate: instance vegetation and buildings, then check that every footprint sits on the surface.
Best Practices​
- Keep the DEM and the imagery in one coordinate reference system; reproject before import.
- Work at real scale from the first import. Later fixes touch every measurement you derived.
- Bake detail passes for delivery and keep the live stack while you edit.
Common Pitfalls​
- Vertical exaggeration: a default import scale skews heights and sight lines.
- Resolution mismatch: coarse DEM under sharp imagery makes roads float above the ground.
- Objects without snapping: buildings and lamps hover or sink when they miss the surface.
Summary​
Terrain generation gives the reconstruction a defensible ground plane. You import elevation data at real scale, align the imagery, add detail where the camera looks, and every later placement inherits that surface.