Round the NPC shoes and responder boots
This commit is contained in:
1 parent
58cf12fd1d
commit
dfe5056303
26 files changed
+61
-39
No files matched your search
@@ -96,7 +96,7 @@ All eight use the `npc_base` contract, so each one can replace
|
||||
variants (vertex count after seam splits; `CHAR_MAX_TRIS`/`CHAR_MAX_VERTS` in
|
||||
`tools/blender_assets.py`, raised from 6,000/5,000 on 2026-11-02). The frozen
|
||||
`npc_base` fallback keeps its original 6,000/4,000 contract. The current range
|
||||
is 4,226–5,218 triangles and 4,119–5,240 vertices, leaving room for the
|
||||
is 4,482–5,474 triangles and 4,260–5,494 vertices, leaving room for the
|
||||
remaining grip and clothing detail.
|
||||
|
||||
Construction: the torso and limbs are one continuous Skin-modifier mesh,
|
||||
|
||||
@@ -51,6 +51,7 @@ Committed contact sheets and local Blender renders for the character, gear and p
|
||||
| <img src="sheet_npc_baseline_compare-face-detail.jpg" width="280" alt="sheet_npc_baseline_compare-face-detail.jpg"> | [`sheet_npc_baseline_compare-face-detail.jpg`](sheet_npc_baseline_compare-face-detail.jpg) |
|
||||
| <img src="sheet_npc_hands_compare.jpg" width="280" alt="sheet_npc_hands_compare.jpg"> | [`sheet_npc_hands_compare.jpg`](sheet_npc_hands_compare.jpg) |
|
||||
| <img src="sheet_npc_hands_grip_compare.jpg" width="280" alt="sheet_npc_hands_grip_compare.jpg"> | [`sheet_npc_hands_grip_compare.jpg`](sheet_npc_hands_grip_compare.jpg) |
|
||||
| <img src="sheet_npc_baseline_compare-shoes.jpg" width="280" alt="sheet_npc_baseline_compare-shoes.jpg"> | [`sheet_npc_baseline_compare-shoes.jpg`](sheet_npc_baseline_compare-shoes.jpg) |
|
||||
| <img src="sheet_npc_gear.jpg" width="280" alt="sheet_npc_gear.jpg"> | [`sheet_npc_gear.jpg`](sheet_npc_gear.jpg) |
|
||||
| <img src="sheet_props.jpg" width="280" alt="sheet_props.jpg"> | [`sheet_props.jpg`](sheet_props.jpg) |
|
||||
| <img src="shoulder_bag.png" width="280" alt="shoulder_bag.png"> | [`shoulder_bag.png`](shoulder_bag.png) |
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 296 KiB |
@@ -45,6 +45,7 @@ Implemented so far:
|
||||
- NPC mesh budget (0.9.4 work): the eight library variants now have an 8,000-triangle / 8,000-glTF-vertex cap (up from 6,000/5,000); the `npc_base` fallback remains 6,000/4,000. Current characters measure 4,226–5,218 triangles and 4,119–5,240 vertices.
|
||||
- NPC face-detail pass (0.9.4 work): ala wings and a smaller nose bridge/tip, one rounded mouth slot, and a darker ear concha; all eight rebuilt. The comparison is `sheet_npc_baseline_compare-face-detail.jpg`.
|
||||
- NPC headgear clearance (0.9.4 work): the 96-frame final-context review after the face-detail pass confirms the cap, firefighter helmet, hood and sunglasses clear the refined brow and eyes; no gear rebuild was needed.
|
||||
- NPC footwear pass (0.9.4 work): casual shoes gained rounded toe and heel caps; responder/firefighter boots gained matching toe/heel volumes while retaining the black rubber boot language. All eight rebuilt; comparison `sheet_npc_baseline_compare-shoes.jpg`.
|
||||
- NPC hand-item grip (0.9.4 work): runtime `HAND_ITEM_FORWARD` moves every hand gear 4 cm forward from the wrist proxy, so phone, cup, clipboard, camera, flashlight, wand and radio sit in the open palm instead of partly inside it. Finger curl/thumb contact remains open; the comparison is `sheet_npc_hands_grip_compare.jpg`.
|
||||
- NPC hand pass (0.9.4 work): wider, shallower palms; four two-segment bent fingers with rounded tips and a separate bent thumb; optional `--view=hand` capture at 0.80 m. The hand comparison is `sheet_npc_hands_compare.jpg`; item grip offsets remain open.
|
||||
- NPC proportion audit (0.9.4 work): `tools/npc_proportions.py` measures all eight GLBs against a stylized height/head/shoulder/hip/torso/leg/arm/foot guide. All variants pass; the head and broad-build silhouettes are the nearest upper bounds. Results are in [`npc-proportion-audit.md`](npc-proportion-audit.md).
|
||||
|
||||
+15
-14
@@ -117,17 +117,17 @@ From `python3 tools/blender_assets.py fit` and the manifest:
|
||||
|
||||
| Character | Tris | Verts | Head width | Clothing radius | Notable gear clearances |
|
||||
| --- | ---: | ---: | ---: | ---: | --- |
|
||||
| `npc_casual` | 4,226 | 4,119 | 0.315 m | 0.191 m (hip) | backpack x −0.041, radial −0.162 |
|
||||
| `npc_jacket` | 4,616 | 4,447 | 0.315 m | 0.191 m (hip) | lanyard x −0.116, radial +0.023 (runtime +4 cm forward) |
|
||||
| `npc_coat` | 5,218 | 4,975 | 0.315 m | 0.225 m (skirt) | sunglasses width ratio 0.641; bag x +0.037, radial −0.130 |
|
||||
| `npc_vest` | 4,724 | 4,713 | 0.315 m | 0.191 m (hip) | cap width ratio 1.067 |
|
||||
| `npc_dress` | 4,644 | 4,439 | 0.315 m | 0.260 m (skirt) | bag x +0.002, radial −0.095 |
|
||||
| `npc_hoodie` | 5,048 | 4,712 | 0.315 m | 0.190 m (hip) | — |
|
||||
| `npc_firefighter` | 5,088 | 5,240 | 0.315 m | 0.255 m (skirt) | helmet width ratio 1.651; SCBA x −0.105, radial −0.076 |
|
||||
| `npc_guard` | 4,790 | 4,865 | 0.315 m | 0.194 m (hip) | cap width ratio 1.067 |
|
||||
| `npc_casual` | 4,482 | 4,260 | 0.315 m | 0.191 m (hip) | backpack x −0.041, radial −0.162 |
|
||||
| `npc_jacket` | 4,872 | 4,661 | 0.315 m | 0.191 m (hip) | lanyard x −0.116, radial +0.023 (runtime +4 cm forward) |
|
||||
| `npc_coat` | 5,474 | 5,264 | 0.315 m | 0.225 m (skirt) | sunglasses width ratio 0.641; bag x +0.037, radial −0.130 |
|
||||
| `npc_vest` | 4,980 | 4,879 | 0.315 m | 0.191 m (hip) | cap width ratio 1.067 |
|
||||
| `npc_dress` | 4,900 | 4,719 | 0.315 m | 0.260 m (skirt) | bag x +0.002, radial −0.095 |
|
||||
| `npc_hoodie` | 5,304 | 4,950 | 0.315 m | 0.190 m (hip) | — |
|
||||
| `npc_firefighter` | 5,344 | 5,494 | 0.315 m | 0.255 m (skirt) | helmet width ratio 1.651; SCBA x −0.105, radial −0.076 |
|
||||
| `npc_guard` | 5,046 | 5,096 | 0.315 m | 0.194 m (hip) | cap width ratio 1.067 |
|
||||
|
||||
`npc_coat` is widest at 5,218 triangles (2,782 below the 8,000 cap);
|
||||
`npc_firefighter` is closest on vertices at 5,240 (2,760 below the 8,000 cap).
|
||||
`npc_coat` is widest at 5,474 triangles (2,526 below the 8,000 cap);
|
||||
`npc_firefighter` is closest on vertices at 5,494 (2,506 below the 8,000 cap).
|
||||
The refit backpack measures 380 triangles / 406 vertices.
|
||||
|
||||
## Baseline findings, ranked
|
||||
@@ -169,9 +169,10 @@ The refit backpack measures 380 triangles / 406 vertices.
|
||||
fabric pattern repeats strongly on the casual, coat and dress variants, and
|
||||
collar/cuff/waist edges are abrupt. This is more visible than the shoe/hem
|
||||
details in the current portraits.
|
||||
6. **Shoes are simple blocks.** They are grounded, but the toe/heel silhouette
|
||||
is minimal; the responder and firefighter footwear should remain distinct
|
||||
after any refinement.
|
||||
6. **Shoes: fixed 2026-11-02.** Casual shoes gained rounded toe and heel caps;
|
||||
responder/firefighter boots gained matching toe/heel volumes while keeping the
|
||||
taller black rubber boot language. Both stay above the sole contact plane, and
|
||||
the full-body comparison is `sheet_npc_baseline_compare-shoes.jpg`.
|
||||
7. **Headgear scale and clearance. Checked 2026-11-02.** The cap and helmet
|
||||
width ratios are 1.067 and 1.651; those are expected for headgear. Final-context
|
||||
portraits confirm the cap, firefighter helmet, hood and sunglasses clear the
|
||||
@@ -225,6 +226,6 @@ rather than replacing it.
|
||||
grips; the forward offset is already in place.
|
||||
2. Add the remaining body-shape variation between variants and re-measure the
|
||||
LOD/impostor silhouettes.
|
||||
3. Audit hems and footwear in walk/sit/block poses.
|
||||
3. Audit hems in walk/sit/block poses; footwear silhouette is now in the baseline.
|
||||
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