Refit the tourist backpack and photo prop
Hide the tourist photo-pose bag outside camera poses, flatten the backpack straps onto the chest, rebuild the gear GLB/AO and publish the before/after NPC sheet.
This commit is contained in:
1 parent
e7ee177c31
commit
7c1a4bfd69
14 files changed
+108
-45
No files matched your search
+30
-23
@@ -1,8 +1,10 @@
|
||||
# NPC visual baseline and acceptance criteria
|
||||
|
||||
Status: baseline captured 2026-11-02. No character GLB, texture, gear or runtime
|
||||
mesh was changed in this step. The baseline is the reference for the 0.9.4 NPC
|
||||
visual optimization.
|
||||
Status: baseline captured 2026-11-02; the first P1 fixes were applied the same
|
||||
day (tourist photo-prop visibility and backpack strap geometry). The face pass
|
||||
and the remaining body/clothing work are still open. The baseline remains the
|
||||
reference for the 0.9.4 NPC visual optimization; the post-fix comparison is
|
||||
[`blender_previews/sheet_npc_baseline_compare-p1.jpg`](blender_previews/sheet_npc_baseline_compare-p1.jpg).
|
||||
|
||||
## What was captured
|
||||
|
||||
@@ -99,27 +101,32 @@ From `python3 tools/blender_assets.py fit` and the manifest:
|
||||
|
||||
The widest character is `npc_coat` at 5,026 triangles and 4,807 vertices, so
|
||||
the current headroom is 974 triangles and 193 vertices per character. Any face
|
||||
or hand refinement must come out of that budget or replace existing detail.
|
||||
or hand refinement must come out of that budget or replace existing detail. The
|
||||
refit backpack measures 380 triangles / 406 vertices; the character and gear
|
||||
table above remains valid because the character meshes did not change.
|
||||
|
||||
## Baseline findings, ranked
|
||||
|
||||
### P1 — fix in the first model pass
|
||||
|
||||
1. **The tourist carries two bag silhouettes.** `_add_props()` creates a
|
||||
0.30 × 0.36 × 0.14 box at `(-0.34, 1.15, -0.18)` for the tourist photo pose
|
||||
while `_add_accessory("backpack")` also attaches the library backpack. From
|
||||
the three-quarter/back view the two read as separate bags. The photo prop
|
||||
should be hidden outside the photo pose, merged into the backpack, or moved to
|
||||
a clearly held camera.
|
||||
1. **The tourist carried two bag silhouettes. Fixed 2026-11-02.** `_add_props()`
|
||||
created a 0.30 × 0.36 × 0.14 box at `(-0.34, 1.15, -0.18)` for the tourist
|
||||
photo pose while `_add_accessory("backpack")` also attached the library
|
||||
backpack. From the three-quarter/back view the two read as separate bags. The
|
||||
photo prop is now hidden outside `photo`/`film` poses
|
||||
(`photo_prop_visible_for_pose()`), so it only appears when the character is
|
||||
actually taking a picture; the after frame confirms one bag at rest.
|
||||
2. **The face is the largest portrait gap.** The eyes, nose and lips are
|
||||
readable but sit on a shallow, faceted head: the eye whites protrude, the
|
||||
eyelid/cheek transition is missing, and the mouth is a dark slot. This is
|
||||
intentionally stylized, but the head volume and eye socket are the first
|
||||
things a player sees at conversation range.
|
||||
3. **Backpack straps read as rigid black bars.** The back gear's straps cross
|
||||
the chest as thin, straight geometry with visible gaps from the shoulders,
|
||||
not as fabric sitting on the torso. A player sees this on the most common
|
||||
tourist silhouette in every crowd.
|
||||
3. **Backpack straps read as rigid black bars. Refit 2026-11-02.** The straps
|
||||
were thin round tubes whose chest/waist points sat inside the torso, so only
|
||||
fragments showed from the front. They are now flattened bands whose front path
|
||||
sits outside the chest; the after sheet shows a continuous strap instead of
|
||||
two detached rods. The backpack asset is now 380 triangles / 406 vertices
|
||||
(still far below the 1,500-triangle gear budget).
|
||||
|
||||
### P2 — fix after the first P1 pass
|
||||
|
||||
@@ -167,17 +174,17 @@ python3 tools/npc_baseline.py compare \
|
||||
```
|
||||
|
||||
The comparison sheet places the before/after pair for each view side by side.
|
||||
If the change is accepted, copy the after sheet to a new committed name
|
||||
(`sheet_npc_baseline_after.jpg`) and link both from the preview index. The
|
||||
baseline is not replaced.
|
||||
The first run is committed as
|
||||
[`sheet_npc_baseline_compare-p1.jpg`](blender_previews/sheet_npc_baseline_compare-p1.jpg);
|
||||
keep the baseline sheet as the before artifact and add a new numbered/after
|
||||
sheet rather than replacing it.
|
||||
|
||||
## Next implementation order
|
||||
|
||||
1. Remove the duplicate tourist bag silhouette and refit the backpack straps.
|
||||
2. Refine the head/eye socket/jaw volume without changing the face direction or
|
||||
1. Refine the head/eye socket/jaw volume without changing the face direction or
|
||||
the five tint slots.
|
||||
3. Add a conversation-distance hand/grip capture and fix hand geometry before
|
||||
2. Add a conversation-distance hand/grip capture and fix hand geometry before
|
||||
judging hand items.
|
||||
4. Audit hems and footwear in walk/sit/block poses.
|
||||
5. Re-run the 48-frame baseline, the 96-frame final-context review, the 24-NPC
|
||||
budget and `blender_assets.py audit/fit`; publish the before/after sheet.
|
||||
3. Audit hems and footwear in walk/sit/block poses.
|
||||
4. Re-run the 48-frame baseline, the 96-frame final-context review, the 24-NPC
|
||||
budget and `blender_assets.py audit/fit`; publish the next comparison sheet.
|
||||
Reference in new issue
Block a user