Commit Graph
5 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 cef87b3d31 street: continental zebra markings at the three signalised crossings
0.5 m white bars with 0.5 m gaps across a 3 m band per crossing, laid
1 cm above the road surface. Makes the mid-block crossing (OSM way
385648319, s=130.1 m) a designated crossing in game. Metadata audit
passes (1 sidecar, 0 problems).
2026-11-07 15:24:21 +01:00
zwitschi 386d4bee78 geo: one tool directory, one unit boundary, per-asset provenance
Geo/tools/ is now every geographic script, with Geo/README.md documenting each
one; the Blender-side builders moved beside their outputs in Art/blender/*/ and
import their helpers from Geo/tools/osm_common.py.

That module gains to_unreal_local() and to_blender_local(): the only place in the
repository that multiplies metres by 100, so a second silent scale cannot be
introduced. block_height_report.py adds height provenance for the block — 3 of
15 buildings have no height data and render at a placeholder 6.4 m.
asset_metadata.py writes and audits <asset>.geo.json sidecars; four now exist
(hero-facade, terrain, street, blockout) and the audit recomputes each centre from
the origin, failing anything that disagrees.
2026-11-07 12:28:26 +01:00
zwitschi d42e39faa9 feat: road, kerbs, and sidewalks on the DEM
Tools/street_mesh.py builds the corridor in the project frame from the measured
profile: carriageway -10.5..+10.5 m, kerbs 0.15 m (0.13 m as built), sidewalks
4.0 m south and 5.3 m north, all elevations sampled from the DEM. Kerbs flush at
the three signalised crossings. Crown at mid-block reproduces the cross-sections
to the centimetre.
2026-11-06 23:45:28 +01:00