Commit Graph
3 Commits
Author SHA1 Message Date
zwitschi 830ce596fa lighting: fixed daytime rig, real surface materials, crossing fix
Fixed daytime lighting and basic ambience for the DemoMap:

- Sun pitch -50 / yaw 120 (intensity 4, warm), sky light 2.6 with real-time
  capture, sky atmosphere, height fog, and an unbound post-process volume with
  fixed exposure (min = max brightness) so no shot washes out or crushes to
  black depending on how much sky it frames.
- Root cause of the washed-out look was NOT the sun: Blender's flat diffuse
  colours do not survive the FBX->Unreal import. Every site material arrived
  white and the terrain arrived with WorldGridMaterial. The demo builder now
  creates and assigns M_Asphalt / M_Concrete / M_Ground / M_RoadPaint.
- Crossing fix: each zebra band was its own object, so Blender renamed the
  duplicates .001/.002 and site assembly (exact-name append) kept only one.
  All bands are now a single Crossing_Markings mesh (36 verts, 3 bands).
- Terrain gets a Ground_Earth material in the builder so it stops importing
  as a white grid.
- Demo cameras: street-level no longer sits inside the facade body (was
  rendering its back face), and the crossing camera aims at the designated
  s=130.1 crossing (UE X -14956) looking along the crosswalk.

Screenshots re-rendered; the four demo views are marked needs-review for the
owner's approval. MEMORY.md records the material-import, exposure,
light_color, band-naming and camera-bounds traps.
2026-11-07 17:56:21 +01:00
zwitschi bc2e421d33 gameplay: designated street crossing — zebra markings, corridor cut, up-facing street
- street_mesh.py: continental zebra markings (0.5 m bars, 0.5 m gaps, 3 m
  band) at all three signalised crossings, triangles not quads (FBX SDK
  refuses to triangulate the crown-twisted quads), stripes +6 cm above the
  DEM so they stay above the road surface; winding flipped so every street
  surface faces up (road/sidewalks/markings were 100% down-facing and
  invisible in engine once the terrain stopped covering them).
- terrain_from_dem.py: cut a 10.7 m corridor around the Hollywood Blvd
  centreline so road, kerbs and sidewalks are not buried under the terrain;
  sidewalks themselves cover the transition band, walk-check stays at 0 holes.
- Blender builders save with a writability guard + fatal failure: *.blend
  is LFS-lockable and checks out read-only; a failed save previously left
  downstream steps building from stale files.
- ue_import_site.py: Crossing_Markings imports with no collision (paint on
  the road); ue_build_demo_map.py stages it and chmods the lockable .umap
  before saving (save_map silently returned False on read-only maps).
- ue_build_review_map.py: demo-crossing camera moved to the real crossing
  (s=130.1 m -> UE -24291,-1340) and fixed the ensure_writable path (was
  missing the .umap suffix, so the chmod never fired).
2026-11-07 15:46:45 +01:00
zwitschi cc209cde01 feat: assemble the site and pre-check walkability
site-2026-11-06.blend gathers terrain, street and blockout into categorised
collections: 281 objects, ~58k triangles. A downward raycast on a 1 m grid along
both sidewalks and the designated crossing finds no holes, so nothing drops the
player on either side. Two steps are flagged: 15.8 cm at the sidewalk's outer
terrain seam and 10-13 cm ramps at the crossing flush transitions, steeper than
a real 8% ramp.

Sampling is projected through PROJ: placing points with the OSM spherical
approximation put them metres off the UTM meshes and reported 91 phantom holes.
2026-11-06 23:48:02 +01:00