Completes "Geographic attribution display" for 0.1.0. The demo is built from OpenStreetMap data (ODbL 1.0) and needs attribution wherever the derived work is shown, so the credit now lives in the running game, not just the documents. - AGigLineHUD (C++): plain AHUD::DrawText in the bottom-left draws "(c) OpenStreetMap contributors" and "Data (c) OpenStreetMap contributors, ODbL 1.0 - openstreetmap.org/copyright", with a shadow pass so it stays legible over bright pavement and sky. No UMG widget asset is involved, so a cook cannot drop the attribution through a missing widget reference. - AGigLineGameModeBase: HUDClass = AGigLineHUD, so the credit is on by default in both the DemoMap and the ReviewMap. - AGigLineShotActor: screenshots are requested with the UI shown, so the credit appears in every capture under Screenshots/ - the obligation is provable from the images rather than only described. Docs: - THIRD_PARTY_NOTICES records that the attribution is displayed in-game and where the code lives. - Screenshots/README documents the overlay. - TODO marks the item done and narrows the remaining ODbL question to the shipped-derivative-database posture. Squash of branch gameplay-attribution-0.1.0 (PR #4).
81 lines
6.0 KiB
Markdown
81 lines
6.0 KiB
Markdown
# Screenshots — visual review
|
||
|
||
Rendered in-game captures of the current project content, generated by
|
||
[`Tools/render_screenshots.sh`](../Tools/render_screenshots.sh). The PNGs are
|
||
committed alongside this README so a reviewer sees exactly what the build
|
||
rendered.
|
||
|
||
## How to regenerate
|
||
|
||
```bash
|
||
Tools/render_screenshots.sh
|
||
```
|
||
|
||
Rebuilds `Game/GigLine/Content/Test/ReviewMap.umap` from current content, runs
|
||
the game on it (and on the DemoMap for the walkable views), walks the fixed
|
||
camera list via `AGigLineShotActor`, captures each shot, copies the PNGs here
|
||
and exits — about a minute. The camera list lives in
|
||
`Tools/ue_build_review_map.py`; add new shots there, remove retired ones here.
|
||
|
||
> Naming: shots use their stable camera name (no index prefix), so adding or
|
||
> reordering cameras never renumbers files or orphans the old ones. Click an
|
||
> image for the full-size PNG.
|
||
|
||
## Shot list
|
||
|
||
All ☑ approved 2026-11-07.
|
||
|
||
| # | File | Preview | Map | View | What it shows |
|
||
| --- | --- | --- | --- | --- | --- |
|
||
| 1 | `review-overview.png` | [<img src="review-overview.png" alt="overview" width="180">](review-overview.png) | Review | 7 m up, NE | Whole review layout: character + both cubes on the floor |
|
||
| 2 | `review-character.png` | [<img src="review-character.png" alt="character" width="180">](review-character.png) | Review | eye height, south | MPFB mannequin, idle pose + warm skin; feet meet the plane |
|
||
| 3 | `review-scale-cubes.png` | [<img src="review-scale-cubes.png" alt="scale cubes" width="180">](review-scale-cubes.png) | Review | south | Floating vs grounded cube: cast vs contact shadow |
|
||
| 4 | `review-player-placement.png` | [<img src="review-player-placement.png" alt="player placement" width="180">](review-player-placement.png) | Review | spawn | The `AGigLineCharacter` pawn, capsule height and landing |
|
||
| 5 | `review-npc-prefab.png` | [<img src="review-npc-prefab.png" alt="npc prefab" width="180">](review-npc-prefab.png) | Review | mid, west | The `AGigLineNPCPerson` prefab: collision capsule + visible MPFB body, feet on Z 0 |
|
||
| 6 | `review-ground-contact.png` | [<img src="review-ground-contact.png" alt="ground contact" width="180">](review-ground-contact.png) | Review | knee height, feet | Floating/sinking character is obvious here |
|
||
| 7 | `review-shadow-compare.png` | [<img src="review-shadow-compare.png" alt="shadow compare" width="180">](review-shadow-compare.png) | Review | low angle | Detached (floating) vs touching (grounded) shadows |
|
||
| 8 | `review-hero-portals.png` | [<img src="review-hero-portals.png" alt="hero portals" width="180">](review-hero-portals.png) | Review | 8 m, eye height | Three genuine 1.2 m portal recesses with flights and plinth |
|
||
| 9 | `review-hero-facade-front.png` | [<img src="review-hero-facade-front.png" alt="hero facade front" width="180">](review-hero-facade-front.png) | Review | road side, straight-on | Hero façade elevation and column rhythm |
|
||
| 10 | `review-hero-facade-oblique.png` | [<img src="review-hero-facade-oblique.png" alt="hero facade oblique" width="180">](review-hero-facade-oblique.png) | Review | north-west | Body depth and column line standing proud of the mass |
|
||
| 11 | `demo/review-demo-spawn-view.png` | [<img src="demo/review-demo-spawn-view.png" alt="spawn view" width="180">](demo/review-demo-spawn-view.png) | Demo | spawn point | Spawn view from the north sidewalk: the hero façade across the road under fixed daytime light |
|
||
| 12 | `demo/review-demo-street-level.png` | [<img src="demo/review-demo-street-level.png" alt="street level" width="180">](demo/review-demo-street-level.png) | Demo | eye height, north side | The façade colonnade and columns, sunlit with cast shadows |
|
||
| 13 | `demo/review-demo-crossing.png` | [<img src="demo/review-demo-crossing.png" alt="crossing" width="180">](demo/review-demo-crossing.png) | Demo | along the crosswalk | The designated mid-block crossing at s=130 m (UE X -14956): three continental zebra bars on the asphalt, kerbs flushed to ramps |
|
||
| 14 | `demo/review-demo-north-buildings.png` | [<img src="demo/review-demo-north-buildings.png" alt="north buildings" width="180">](demo/review-demo-north-buildings.png) | Demo | across the Blvd | North-side background buildings (TCL, Tussaud's), lit against the sky |
|
||
|
||
## Scene conventions
|
||
|
||
- **Review map** (`/Game/Test/ReviewMap`): 160 m floor, top face at Z 0; the
|
||
character measures Z 0..83 cm. One warm key light plus sky fill.
|
||
- **Cubes**: `Cube_ScaleTest_A` rests on the floor, `Cube_ScaleTest_B` floats at
|
||
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.
|
||
- **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
|
||
bottom-left (`© OpenStreetMap contributors` / `Data © OpenStreetMap
|
||
contributors, ODbL 1.0 — openstreetmap.org/copyright`), drawn by
|
||
`AGigLineHUD`. Screenshots are requested with the UI shown so the obligation
|
||
is visible in review.
|
||
|
||
## What to look for
|
||
|
||
- **Ground contact**: feet meet the plane with no gap and no shadow seam.
|
||
- **Scale**: everything checks against the 1 m cubes.
|
||
- **Façade rhythm**: six columns at 4.96 m across 25.75 m should read as the
|
||
photographs in silhouette.
|
||
|
||
## Known cosmetic issues
|
||
|
||
- Floor speckle from the `Constant3Vector` wiring in `Tools/ue_build_review_map.py`.
|
||
- Hero façade renders pale — Blender flat colours with no normal/roughness, so
|
||
it reads as untextured stone (the `0.1.4` façade patch, not a lighting bug).
|
||
- Banners and window panels float detached from the colonnade wall (next
|
||
modelling pass).
|
||
- Between kerb and building line, the walkable surface is the terrain mesh, not
|
||
a modelled pavement.
|