review: split the rounds into named shots and stage the player pawn

Roadmap gains two sections: 'Review scene and player placement' (this pass) and
'Character development' (follow-on). The camera list is now one table of
(name, location, target) with look-at rotations computed from the pairs, so a
camera cannot drift out of aim when one number changes.

New shots: player-placement (the real pawn, staged in the build script),
ground-contact (knee height, feet on the plane), shadow-compare (floating vs
grounded cube from a low angle), and hero-portals (whole elevation).

The review floor grows to 160 m so the facade stands on ground rather than the
horizon band. Retired: the first-person shot.

Honest gap recorded in the roadmap: the hero portals sit behind the colonnade and
do not resolve from the review floor; that needs a camera on the plinth or a
portal rebuild, not another angle.
This commit is contained in:
zwitschi committed 2026-11-07 12:08:19 +01:00
1 parent 0383eabc8e
commit e46a877556
15 files changed
+174 -147

No files matched your search

+64 -96
View File
@@ -1,9 +1,8 @@
# 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. The `![...]` embeds below resolve next to this file.
[`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
@@ -11,129 +10,98 @@ rendered. The `![...]` embeds below resolve next to this file.
Tools/render_screenshots.sh
```
This rebuilds `Game/GigLine/Content/Test/ReviewMap.umap` from the current
content (floor, key light, sky, MPFB character, the three 1 m scale cubes),
runs the game on it in `-game` mode, lets `AGigLineShotActor` walk its fixed
camera list and capture, and copies the PNGs here. Takes about a minute.
The script rebuilds `Game/GigLine/Content/Test/ReviewMap.umap` from the current content, runs the
game on it, lets `AGigLineShotActor` walk the fixed camera list, 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 and delete retired ones from this folder.
Each screenshot is embedded below with its description and approval state.
After reviewing, tick the approval checkbox so agents know whether the look
is accepted or needs work.
## Scene conventions
## review-00-overview.png — generated 2026-11-07, approval: ☐ pending
- **Floor**: 160 m square, 10 cm thick, top face exactly at Z 0. Anything standing on it has bounds
starting at Z 0; the character measures Z 0..83 cm.
- **Cubes**: `Cube_ScaleTest_A` floats at Z 2 m, `Cube_ScaleTest_B` rests on the floor. Both are
exactly 1 m, so they double as the scale reference.
- **Lighting**: one warm directional key light plus a sky fill. This is the review rig, not the
`0.1.0` daytime look.
- **Known limitation**: outside the floor there is no geometry, so the horizon is a black band.
![Wide overview from the south-west: character at origin, three 1 m calibration cubes in a row at 4 m north, gray floor, key light and sky](review-00-overview.png)
## Shots
Wide shot from the south-west, elevated. The review scene as a whole:
character at origin, three 1 m calibration cubes in a row at 4 m north, gray
floor, one key light plus fill sky.
## review-00-overview.png — Wide scene overview, approval: ☐ pending
## review-01-character.png — generated 2026-11-07, approval: ☐ pending
![Wide scene overview](review-00-overview.png)
![Medium eye-height shot of the MPFB-generated character from the south, A-pose with baked skin material](review-01-character.png)
Character and both cubes on the 160 m floor, camera 7 m up looking north-east. Reads the whole review layout at once.
Medium shot, eye height, from the south. The MPFB-generated character with
its baked skin material and A-pose bind.
## review-01-character.png — MPFB mannequin, mid shot, approval: ☐ pending
## review-02-scale-cubes.png — generated 2026-11-07, approval: ☐ pending
![MPFB mannequin, mid shot](review-01-character.png)
![Close three-quarter view of the 1 m scale-test cube row on the gray floor](review-02-scale-cubes.png)
The imported MPFB character at eye height from the south. Check the feet meet the plane: the contact shadow joins the soles.
Close three-quarter view of the cube row. Each cube is exactly 1 m — use it
to judge scale against the character.
## review-02-scale-cubes.png — Scale cubes, approval: ☐ pending
## review-03-first-person.png — generated 2026-11-07, approval: ☐ pending
![Scale cubes](review-02-scale-cubes.png)
![Third-person shot from a player's eye line looking across the review floor: the MPFB character at origin (spawn point), one red cube behind it, sky and horizon behind](review-03-first-person.png)
Both 1 m cubes from the south: the left one floats at 2 m, the right one rests on the floor. Compares cast shadow against contact shadow.
New shot for the first-person player work. Camera is at 165 cm — the player's
eye height — looking from behind and slightly south-east of the spawn point.
It shows where the player lands (the character stands at origin, which is also
the default spawn) and how the capsule/camera relate to the 1 m cubes.
## review-03-player-placement.png — Player pawn placement, approval: ☐ pending
**What changed in the game since the last review:** the project now has a
first-person `AGigLineCharacter` (1.75 m capsule, 1.60 m eye camera, 4 m/s
walk, Enhanced Input with WASD + mouse look + jump) wired as the default pawn
by `AGigLineGameModeBase`. Nothing visible from these cameras should differ:
the review map spawns its own pawn-free staging, so this shot is the reference
for the new pawn's position and eye height, not of the pawn itself.
![Player pawn placement](review-03-player-placement.png)
**Not shown, needs a human check:** walking, mouse look and jump can only be
judged interactively. Launch the editor, press Play on `Test/ReviewMap`, and
confirm W/A/S/D move in the expected directions, the mouse looks around with no
acceleration, and Space jumps once per press.
The pawn the game actually spawns (`AGigLineCharacter`) at the spawn point, with the floating cube behind. Confirms capsule height and where the player lands.
## review-04-hero-facade-front.png — generated 2026-11-07, approval: ☐ pending
## review-04-ground-contact.png — Ground contact detail, approval: ☐ pending
![Straight-on three-quarter view of the hero facade blockout: six fluted columns on pedestals under a plain entablature, parapet band above, plinth below, standing against a dark floor](review-04-hero-facade-front.png)
![Ground contact detail](review-04-ground-contact.png)
New: the **hero façade blockout** for 6840 Hollywood Blvd — six columns at
4.96 m centres across the measured 25.75 m frontage, entablature 2.2 m,
parapet 1.6 m, plinth and three portal flights. Straight on from the north
sidewalk, looking south.
Low camera, knee height, close on the mannequin's feet. A floating or sinking character is obvious here without measuring.
What it establishes: frontage width, column rhythm and the vertical stack
(plinth → colonnade → entablature → parapet) all read as the photographs do
in silhouette.
## review-04-hero-facade-front.png — review-04-hero-facade-front, approval: ☐ pending
What it does **not** have yet: the banners, windows, portal recesses and motto
band are modelled but sit *behind* the colonnade, so from this distance the
elevation reads as a plain white mass. The materials are flat colours from
Blender, not look-developed. Do not judge surfaces here — that is the
materials pass.
![review-04-hero-facade-front](review-04-hero-facade-front.png)
## review-05-hero-facade-oblique.png — generated 2026-11-07, approval: ☐ pending
![Oblique view from the north-west showing the facade's volume, the colonnade in depth, and the review scene's small floor and cubes far to the left](review-05-hero-facade-oblique.png)
Oblique from the north-west. Shows the building's depth (12 m modelled body),
the column line standing proud of the mass, and the scale relative to the
review floor and character far to the left.
## review-05-hero-facade-oblique.png — review-05-hero-facade-oblique, approval: ☐ pending
**Known issue, recorded rather than hidden:** the façade stands on the review
floor at Z 0 but is 25 m away from the original review scene, so it appears to
float over the horizon band. That is the review scene's limitation, not the
asset's; the real map will have the terrain under it.
![review-05-hero-facade-oblique](review-05-hero-facade-oblique.png)
## Scene corrections in this pass (2026-11-07)
Three things were wrong in the staging and are fixed:
- **The floor was 5 cm thick and centred at Z −50 cm, so the character floated
about 1.8 m above it.** The floor is now 90 m x 90 m x 10 cm with its top face
exactly at Z 0, and the character stands on it: measured bounds are Z 0..83 cm
— feet on the plane, no gap.
- **Cubes: one on the ground, one floating.** `Cube_ScaleTest_A` sits on the floor
(base at Z 0) as the ground-contact and scale reference; `Cube_ScaleTest_B`
hangs at 2 m so its cast shadow separates from the object and can be compared
against the grounded cube's contact shadow.
- **The scale-cubes camera was still pointing at the old three-cube row.** It now
looks at both cubes from the south at (0, −900, 200) cm.
## review-05-shadow-compare.png — Shadow comparison, approval: ☐ pending
Known scene limitation, unchanged: the floor is 90 m across and the horizon is a
black band where no geometry exists. That is the review scene, not the asset.
![Shadow comparison](review-05-shadow-compare.png)
Low angle, both cubes side by side with the character between them. The detached shadow of the floating cube against the grounded one.
## review-06-hero-portals.png — Hero façade, whole elevation, approval: ☐ pending
![Hero façade, whole elevation](review-06-hero-portals.png)
Straight-on from eye height 25 m out. Six columns, plinth, entablature, parapet; the three portals sit behind the colonnade at this distance.
## review-07-hero-facade-front.png — Hero façade, north sidewalk, approval: ☐ pending
![Hero façade, north sidewalk](review-07-hero-facade-front.png)
Closer straight-on view from the road side of the building line.
## review-08-hero-facade-oblique.png — Hero façade, oblique, approval: ☐ pending
![Hero façade, oblique](review-08-hero-facade-oblique.png)
From the north-west, showing the 12 m body and the column line standing proud of the mass.
## What to look for
- **Character**: proportions, bind pose, skin material readability.
- **Scale cubes**: each is exactly 1 m — use them to sanity-check anything
whose size looks off.
- **Lighting**: one warm key light and fill sky; this is the temporary review
rig, not the `0.1.0` daytime look.
- **Ground contact**: feet meet the plane with no gap and no shadow seam.
- **Scale**: everything checks against the 1 m cubes.
- **Façade proportions**: six columns at 4.96 m centres across 25.75 m; check the rhythm reads as the
photographs do in silhouette.
## Known cosmetic issues in the review scene
## Known cosmetic issues
- The gray floor material renders with a speckled pattern instead of flat
gray — suspect the `Constant3Vector` wiring in `Tools/ue_build_review_map.py`.
Cosmetic only; the floor exists so shadows and scale read correctly.
- The horizon shows a black band below the sky atmosphere (no distant ground
plane). Expected in the empty review scene.
## Conventions
- `review-NN-name.png` names are produced by `AGigLineShotActor`
(`Game/GigLine/Source/GigLine/GigLineShotActor.h`); the camera list lives in
`Tools/ue_build_review_map.py`.
- Add or adjust shots there when new content needs review, then update this
README's table in the same change.
- Agents: see the *Visual review* section in [`AGENTS.md`](../AGENTS.md).
- The floor renders with a faint speckle from the `Constant3Vector` wiring in
`Tools/ue_build_review_map.py`. Cosmetic only.
- The hero façade still has flat Blender colours; surfaces are a later materials pass.
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.