materials: look-developed surface materials for every exported asset

Replaces the flat Constant3Vector fills with a procedural material set built in
ensure_material(): base colour blended between two shades by world-space noise
for large-scale variation, plus explicit roughness and specular so each surface
type reads.

- M_Asphalt 0.92, M_Concrete 0.88, M_KerbConcrete 0.85, M_Ground 0.98,
  M_RoadPaint 0.62, M_FacadeStone 0.72, M_Stucco 0.86
- Site meshes take their material by mesh name; the hero facade and the two
  north-side buildings take theirs by actor label, so they are covered even
  though other scripts stage them.
- Materials are deleted and rebuilt on every run, so a look change cannot be
  masked by a stale asset.

Screenshots re-rendered: the facade reads as warm stone with surface variation,
asphalt as dark asphalt with grain, concrete and kerbs lighter, and the north
buildings in stucco instead of flat grey.

Docs: Screenshots/README documents the material set; TODO marks the item done
and leaves the richer texture-based pass to the 0.1.4 facade patch.
This commit is contained in:
zwitschi committed 2026-11-07 19:53:39 +01:00
1 parent 75694d2577
commit 45a206e45f
26 files changed
+172 -69

No files matched your search

+8 -4
View File
@@ -50,10 +50,14 @@ All ☑ approved 2026-11-07.
Z 2 m; both are exactly 1 m — the scale reference.
- **Demo map** (`/Game/Hollywood/DemoMap`): fixed daytime — sun at pitch −50 /
yaw 120 (intensity 4, warm), sky light 2.6, sky atmosphere, height fog, fixed
exposure. Surface colours are assigned explicitly in
`Tools/ue_build_demo_map.py` (`M_Asphalt`, `M_Concrete`, `M_Ground`,
`M_RoadPaint`) because Blender's flat diffuse colours do not survive the
FBX → Unreal import.
exposure.
- **Materials**: every exported surface carries a look-developed material built
in `Tools/ue_build_demo_map.py` (`ensure_material`) because Blender's flat
diffuse colours do not survive the FBX → Unreal import. Each has an explicit
roughness and a subtle world-space noise blend between two shades:
`M_Asphalt` (0.92), `M_Concrete` (0.88), `M_KerbConcrete` (0.85),
`M_Ground` (0.98), `M_RoadPaint` (0.62), `M_FacadeStone` (0.72) and
`M_Stucco` (0.86) for the north-side buildings.
- **Lighting is dynamic-only** (`r.AllowStaticLighting=False`, all lights
Movable), so no lighting build is ever required.
- **Attribution overlay**: every shot carries the required ODbL credit in the
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.