36 lines
1.6 KiB
JSON
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
|
|
}
|
|
}
|