Raise the character mesh budget to 8000
This commit is contained in:
1 parent
cd5e0e0ff7
commit
7dc3d3c873
8 files changed
+50
-41
No files matched your search
@@ -92,10 +92,12 @@ All eight use the `npc_base` contract, so each one can replace
|
||||
- material slots `skin`, `cloth`, `pants`, `accessory`, `hair` carry the same
|
||||
neutral `assets/textures/npc/<slot>_{albedo,normal}.png` maps, so
|
||||
`Materials.npc_slot()` tints them the same way it tints `npc_base`.
|
||||
- budget ≤ 6000 triangles and ≤ 5000 vertices (glTF vertex count, after seam
|
||||
splits; `CHAR_MAX_VERTS` in `tools/blender_assets.py`, raised from 4000 for
|
||||
the 2026-11-01 face/hand pass). The current range is 4,042–5,034 triangles
|
||||
and 3,894–4,948 vertices. The vertex cap is now the tighter budget.
|
||||
- budget ≤ **8,000 triangles and ≤ 8,000 glTF vertices** for the eight library
|
||||
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,042–5,034 triangles and 3,894–4,948 vertices, leaving room for the
|
||||
remaining face, grip and clothing detail.
|
||||
|
||||
Construction: the torso and limbs are one continuous Skin-modifier mesh,
|
||||
subdivided twice, decimated to 26 % with X symmetry, and cut at the waist, cuffs,
|
||||
@@ -177,7 +179,7 @@ carry baked AO and the shared neutral material maps described above.
|
||||
|
||||
- `python3 tools/blender_assets.py audit`: container, `POSITION`/`NORMAL`/
|
||||
`TEXCOORD_0`, UVs in [0, 1], no zero-area triangles (Godot warns about them
|
||||
during LOD generation), budgets (characters 6000/5000, gear 1500, props 4000
|
||||
during LOD generation), budgets (library characters 8000/8000, base fallback 6000/4000, gear 1500, props 4000
|
||||
triangles), grounding, and an editable `.blend`. For characters it also
|
||||
checks skinning, bones, slots, the `npc_base` mesh node and the height.
|
||||
- `tools/test_blender_assets.py`: catalogue and contract consistency with
|
||||
|
||||
@@ -42,6 +42,7 @@ Implemented so far:
|
||||
- NPC neck/shoulder transition (0.9.4 work): the body graph now uses a fuller neck base, a slightly tapered neck top and a lower shoulder root, giving the head/neck/shoulder line a trapezius slope instead of a thin post. The full character library was rebuilt with a final degenerate-face cleanup; the baseline comparison is `sheet_npc_baseline_compare-body.jpg`.
|
||||
- NPC face-depth pass (0.9.4 work): sclera are recessed and capped by a thin upper lid, and the separate jaw/cheek spheres are replaced by a chin plate and cheekbones sculpted into the head mesh. The full library was rebuilt; the comparison is `sheet_npc_baseline_compare-face.jpg`.
|
||||
- NPC torso/hip transition (0.9.4 work): the pelvis and chest are slightly wider than the waist, giving shirts and jackets a readable taper into the hips without changing the build multipliers or the skeleton. The comparison is `sheet_npc_baseline_compare-torso.jpg`.
|
||||
- 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,042–5,034 triangles and 3,894–4,948 vertices.
|
||||
- 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).
|
||||
- NPC P1 portrait fixes (0.9.4 work): tourists now hide their photo-pose camera bag outside `photo`/`film` poses, removing the duplicate-backpack silhouette; the backpack gear was rebuilt with flattened, forward chest straps and a fresh AO map. The before/after sheet is [`blender_previews/sheet_npc_baseline_compare-p1.jpg`](blender_previews/sheet_npc_baseline_compare-p1.jpg); the face and remaining clothing/hand work stay open.
|
||||
|
||||
@@ -61,8 +61,9 @@ The criteria below are for the stylized target, not photorealism. A change must
|
||||
pass every applicable item before a library rebuild is accepted.
|
||||
|
||||
1. **Asset contract:** `npc_base` mesh node, the required bones, five tint slots,
|
||||
front +Z, feet within 3 cm of y=0, 1.6–2.1 m height, at most 6,000 triangles
|
||||
and 5,000 glTF vertices per character. Gear remains at most 1,500 triangles.
|
||||
front +Z, feet within 3 cm of y=0, 1.6–2.1 m height, at most 8,000 triangles
|
||||
and 8,000 glTF vertices per library character. The frozen `npc_base` fallback
|
||||
keeps 6,000 triangles / 4,000 vertices. Gear remains at most 1,500 triangles.
|
||||
2. **Proportion and silhouette:** head, neck, shoulders, torso, hips, limbs and
|
||||
feet read as one body; front/three-quarter/profile silhouettes agree with the
|
||||
rest of the eight-character library; broad/slim/average build variation is
|
||||
@@ -123,10 +124,9 @@ From `python3 tools/blender_assets.py fit` and the manifest:
|
||||
| `npc_firefighter` | 4,904 | 4,948 | 0.315 m | 0.255 m (skirt) | helmet width ratio 1.651; SCBA x −0.105, radial −0.076 |
|
||||
| `npc_guard` | 4,606 | 4,679 | 0.315 m | 0.194 m (hip) | cap width ratio 1.067 |
|
||||
|
||||
`npc_coat` is widest at 5,034 triangles (966 below the cap); `npc_firefighter` is
|
||||
closest on vertices at 4,948 (only 52 below the 5,000 cap). Any further hand or
|
||||
clothing detail must replace existing geometry rather than adding it. The refit
|
||||
backpack measures 380 triangles / 406 vertices.
|
||||
`npc_coat` is widest at 5,034 triangles (2,966 below the 8,000 cap);
|
||||
`npc_firefighter` is closest on vertices at 4,948 (3,052 below the 8,000 cap).
|
||||
The refit backpack measures 380 triangles / 406 vertices.
|
||||
|
||||
## Baseline findings, ranked
|
||||
|
||||
|
||||
Reference in new issue
Block a user