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.
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.
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
Constant3Vectorfill before, which read as plastic.ensure_material()inTools/ue_build_demo_map.pynow builds a procedural material per surface:WorldPosition -> Multiply -> Noise -> Lerp -> BaseColor) for large-scale variation,M_AsphaltM_ConcreteM_KerbConcreteM_GroundM_RoadPaintM_FacadeStoneM_StuccoSite 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
Review
All 14 screenshots re-rendered. The four demo-map shots are marked needs review in
Screenshots/README.mdand 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 the0.1.4facade patch; this is the 0.1.0-level look development.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.Pull request closed