Files
UnrealPrototyping/RawContent/World/World.json
T
2026-09-25 17:02:24 +03:00

36 lines
1.6 KiB
JSON

{
"_comment": "The contract between the heightmap source and the numpy pipeline's square canvas. Read by Scripts/Authoring/generate_heightmap.py and create_world.py through world_manifest.py; see README.md next to this file.",
"_comment_level": "L_Canvas_Proto, not L_World. This pipeline is legacy - Docs/Terrain.md (D-47) settles that the numpy path is not to be extended, and the ground the game uses is the planet-map region in Region.json, which owns L_World now. The name is deliberately not the real world's: create_world.py empties the level it is given and rebuilds it from scratch, so a manifest still pointing at L_World would be a loaded gun - one run and 98 landscapes are replaced by a 14 km square, with no warning and no prompt. Kept rather than deleted because this is still the only path that carries the erosion pass's flow, wear and deposit maps into Unreal.",
"level": "/Game/Maps/L_Canvas_Proto",
"vertices_per_side": 4081,
"quad_cm": 350,
"elevation_m": { "min": -460, "max": 2800 },
"sea_level_m": 0,
"spawn_pad_m": 150,
"streaming_grid_components": 1,
"source": { "kind": "noise", "seed": 7 },
"erosion": {
"enabled": true,
"coarse_factor": 4,
"coarse_droplets": 800000,
"coarse_lifetime": 120,
"fine_droplets": 2000000,
"fine_lifetime": 40,
"fine_scale": 0.5,
"min_erode_slope": 0.25,
"max_change": 0.2,
"thermal_passes": 24,
"talus_deg": 35,
"strata_period_m": 160,
"strata_contrast": 0.6
},
"layers": {
"rock_slope_start": 0.55,
"rock_slope_full": 1.05,
"high_altitude_start_m": 1400,
"high_altitude_full_m": 2000,
"breakup_m": 18
}
}