3.0 KiB
3.0 KiB
Ground Zero Unreal Landscape Import Plan
Purpose
This document describes how to import the extracted Ground Zero 1-meter DEM subset into Unreal as a Landscape heightmap.
Source
Data/Terrain/Extracted/gz_us_ca_pacifica_utm10n_e544_n4160/gz_us_ca_pacifica_utm10n_e544_n4160_1m_dem_subset.tif
Source properties:
- Size: 1000 x 1000 pixels.
- Pixel size: 1 m x 1 m.
- CRS: EPSG:26910 / NAD83 UTM zone 10N.
- Bounds: E 544000-545000, N 4160000-4161000.
- Elevation range: about 3.16 m to 96.51 m.
Conversion Script
Scripts/convert_ground_zero_dem_to_unreal_heightmap.py
The script:
- Reads the extracted 1-meter DEM subset.
- Resamples it to 1009 x 1009.
- Encodes elevation into unsigned 16-bit height values using Unreal's landscape midpoint, so sea level is approximately Unreal Z 0.
- Writes a little-endian
.r16heightmap. - Writes a small grayscale preview file.
- Writes import metadata with Unreal scale values.
Output
Data/Terrain/Unreal/gz_us_ca_pacifica_utm10n_e544_n4160/
Files:
gz_us_ca_pacifica_utm10n_e544_n4160_unreal_1009.r16gz_us_ca_pacifica_utm10n_e544_n4160_unreal_1009_preview.pgmgz_us_ca_pacifica_utm10n_e544_n4160_unreal_heightmap_metadata.json
If Pillow is installed, the script also writes:
gz_us_ca_pacifica_utm10n_e544_n4160_unreal_1009.png
Unreal Import Settings
Use the generated metadata file as the source of truth.
Current settings:
heightmap resolution: 1009 x 1009
tile world size: 1000 m x 1000 m
X scale: 99.2063492063492 cm
Y scale: 99.2063492063492 cm
Z scale: 100.0 cm
Z offset: 0.0 m
height encoding: Unreal landscape midpoint 32768 = approximately sea level
Why 1009:
- Unreal Landscape import requires specific valid dimensions.
- 1009 x 1009 is a valid import size and close to the 1000 x 1000 source DEM.
- X/Y scale maps 1008 intervals across exactly 1000 real meters.
Import Steps
- Open the Unreal Editor.
- Open or create the Ground Zero terrain test map.
- Go to Landscape mode.
- Choose Import from File.
- Select
gz_us_ca_pacifica_utm10n_e544_n4160_unreal_1009.r16. - Set the landscape resolution to 1009 x 1009 if Unreal does not auto-detect it.
- Set X scale and Y scale from metadata.
- Set Z scale from metadata.
- Place the landscape so the tile origin maps to the project terrain origin.
- Save the map under the project terrain test area.
The repeatable project import path is:
Scripts/setup_ground_zero_terrain_map.py
Scripts/verify_ground_zero_terrain_map.py
The generated terrain test map is:
/Game/Agrarian/Maps/L_GroundZeroTerrain_Test
Validation After Import
- Landscape bounds should be 1000 m x 1000 m.
- Imported elevation range should visually match the source: low coastal/valley terrain rising into hills.
- No extreme spikes or inverted terrain should appear.
- The north/south/east/west edges should remain suitable for seam comparison against neighboring tiles.
- The landscape should be treated as prototype terrain until material, water, biome, and resource layers are added.