tools/fetch_dem.py pulls the open AWS terrarium elevation tiles for each level's bbox (derived from the OSM geometry itself -- the fetch bboxes were never recorded) and writes an f32 heightmap. The builder bilinear-samples it: roads/footpaths/crossings drape (subdivided to ~8 m so long OSM segments stop chording across curved ground), buildings lift rigidly to the lowest terrain under their footprint with a 2 m foundation skirt, trees/props/planters ride their own base heights, and the flat ground slab becomes a real terrain mesh. Bridges get an explicit deck profile (lerp between end heights plus a hump) instead of draping down into the river, the truss follows the deck, and the Bradfield Highway now genuinely flies over Kemp Place -- the game has an underpass. Kangaroo Point's cliffs are an actual 20 m drop, Edward Street climbs to 55 m at Spring Hill. Junction events bake spawn/convoy heights (osm_junction.py grew a pure-python DEM sampler); the game respects marker heights everywhere it used to hardcode ground=0. Bugs the terrain surfaced, all found by measurement: - Long road segments chorded across curved ground: the car visually sank to its windows mid-block. Fixed by subdividing draped ribbons. - The 9 m terrain grid aliases cliff edges and bulged metres ABOVE the finely draped roads: a car spawning there was inside the terrain sheet and got depenetrated through the floor into the void (y = -710). Fixed by giving roads real collision and carving the terrain grid down wherever a draped road sample lands (11k+ carve samples on Kangaroo Point alone). - The junction validator and tuner drove throttle-only, which cross-slope drift turned into 40-86 m misses; they now hold aim like a player would. - Edward x Elizabeth launched down a 17% grade, went airborne at the crest and wedged off-street: unwinnable geometry, not a bug. Swapped for Elizabeth x George on the flat lower CBD. All 9 junctions validate. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
46 lines
1.1 KiB
Plaintext
46 lines
1.1 KiB
Plaintext
[remap]
|
|
|
|
importer="scene"
|
|
importer_version=1
|
|
type="PackedScene"
|
|
uid="uid://dduudwpqocdxu"
|
|
path="res://.godot/imported/level.glb-045fc5cf8c0e529ecdc2678ee7acde2a.scn"
|
|
|
|
[deps]
|
|
|
|
source_file="res://levels/story_bridge/level.glb"
|
|
dest_files=["res://.godot/imported/level.glb-045fc5cf8c0e529ecdc2678ee7acde2a.scn"]
|
|
|
|
[params]
|
|
|
|
nodes/root_type=""
|
|
nodes/root_name=""
|
|
nodes/root_script=null
|
|
mesh_library/use_node_names_as_mesh_names=false
|
|
array_mesh/deduplicate_surfaces=true
|
|
nodes/apply_root_scale=true
|
|
nodes/root_scale=1.0
|
|
nodes/import_as_skeleton_bones=false
|
|
nodes/use_name_suffixes=true
|
|
nodes/use_node_type_suffixes=true
|
|
meshes/ensure_tangents=true
|
|
meshes/generate_lods=true
|
|
meshes/create_shadow_meshes=true
|
|
meshes/light_baking=1
|
|
meshes/lightmap_texel_size=0.2
|
|
meshes/force_disable_compression=false
|
|
skins/use_named_skins=true
|
|
animation/import=true
|
|
animation/fps=30
|
|
animation/trimming=false
|
|
animation/remove_immutable_tracks=true
|
|
animation/import_rest_as_RESET=false
|
|
import_script/path=""
|
|
materials/extract=0
|
|
materials/extract_format=0
|
|
materials/extract_path=""
|
|
_subresources={}
|
|
gltf/naming_version=2
|
|
gltf/embedded_image_handling=1
|
|
gltf/texture_map_mode=1
|