Materials: look-developed surface materials for every exported asset #5

Closed
zwitschi wants to merge 5 commits from materials-lookdev-0.1.0 into main
pull from: materials-lookdev-0.1.0
Owner

Implements Materials and look development for all exported assets (Asset production). Screenshots are re-rendered and awaiting the owner's visual approval.

What changed

Every exported surface carried a flat Constant3Vector fill before, which read as plastic. ensure_material() in Tools/ue_build_demo_map.py now builds a procedural material per surface:

  • base colour blended between two shades by world-space noise (WorldPosition -> Multiply -> Noise -> Lerp -> BaseColor) for large-scale variation,
  • an explicit roughness and specular so the surface type is readable.
Material Roughness Used by
M_Asphalt 0.92 Road_Hollywood
M_Concrete 0.88 both sidewalks
M_KerbConcrete 0.85 both kerbs
M_Ground 0.98 Terrain_DEM
M_RoadPaint 0.62 Crossing_Markings
M_FacadeStone 0.72 Hero_Facade
M_Stucco 0.86 North TCL / Tussaud's

Site meshes are matched by mesh name; the hero facade and the two north-side buildings by actor label, so they are covered even though other scripts stage them. Materials are deleted and rebuilt each run, so a look change cannot be masked by a stale asset.

Result

  • Facade reads as warm stone with surface variation instead of flat pale grey
  • Asphalt is dark with grain; concrete and kerbs are lighter and matte
  • North-side buildings are stucco, not flat grey

Review

All 14 screenshots re-rendered. The four demo-map shots are marked needs review in Screenshots/README.md and the TODO item stays [A] until the owner approves the look.

Deliberately left for 0.1.4

The richer texture-based pass (baked/procedural brick_facade, seamless_concrete, glass and render, material instances) stays in the 0.1.4 facade patch; this is the 0.1.0-level look development.

Implements **Materials and look development for all exported assets** (Asset production). Screenshots are re-rendered and awaiting the owner's visual approval. ## What changed Every exported surface carried a flat `Constant3Vector` fill before, which read as plastic. `ensure_material()` in `Tools/ue_build_demo_map.py` now builds a procedural material per surface: - base colour blended between two shades by **world-space noise** (`WorldPosition -> Multiply -> Noise -> Lerp -> BaseColor`) for large-scale variation, - an explicit **roughness** and specular so the surface type is readable. | Material | Roughness | Used by | | --- | --- | --- | | `M_Asphalt` | 0.92 | Road_Hollywood | | `M_Concrete` | 0.88 | both sidewalks | | `M_KerbConcrete` | 0.85 | both kerbs | | `M_Ground` | 0.98 | Terrain_DEM | | `M_RoadPaint` | 0.62 | Crossing_Markings | | `M_FacadeStone` | 0.72 | Hero_Facade | | `M_Stucco` | 0.86 | North TCL / Tussaud's | Site meshes are matched by mesh name; the hero facade and the two north-side buildings by actor label, so they are covered even though other scripts stage them. Materials are deleted and rebuilt each run, so a look change cannot be masked by a stale asset. ## Result - Facade reads as warm stone with surface variation instead of flat pale grey - Asphalt is dark with grain; concrete and kerbs are lighter and matte - North-side buildings are stucco, not flat grey ## Review All 14 screenshots re-rendered. The four demo-map shots are marked **needs review** in `Screenshots/README.md` and the TODO item stays `[A]` until the owner approves the look. ## Deliberately left for 0.1.4 The richer texture-based pass (baked/procedural `brick_facade`, `seamless_concrete`, glass and render, material instances) stays in the `0.1.4` facade patch; this is the 0.1.0-level look development.
zwitschi added 4 commits 2026-11-07 19:56:44 +01:00
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.
zwitschi added 1 commit 2026-11-07 20:33:06 +01:00
Author
Owner

Squash-merged into main as commit 62a41bf (git merge --squash materials-lookdev-0.1.0, one commit; pushed c626b37..62a41bf). Owner approved the four re-rendered demo screenshots before merging. Closing.

Squash-merged into main as commit 62a41bf (git merge --squash materials-lookdev-0.1.0, one commit; pushed c626b37..62a41bf). Owner approved the four re-rendered demo screenshots before merging. Closing.
zwitschi closed this pull request 2026-11-07 20:35:35 +01:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: zwitschi/gig-line#5