Add MakeHuman head hair/body prototype and 12-variant rollout plan
This commit is contained in:
1 parent
958d3ae0ff
commit
b297c4543f
9 files changed
+269
-89
No files matched your search
@@ -260,9 +260,11 @@ welding the added eye/brow pieces into the head shell and a skull-conforming hai
|
||||
**Standalone head re-review (2026-11-04):** the separate
|
||||
`assets/models/blender_src/makehuman_head.glb` prototype (12,641 tris / 7,690 split verts,
|
||||
with a skin eyelid mask, recessed globes, flat iris/pupil discs and surface-anchored brows)
|
||||
was **rejected** by the vision gate: the globe depth reads inconsistently between front,
|
||||
three-quarter and profile, the iris reads decal-locked at three-quarter, and the lid does
|
||||
not visibly clip the globe. It stays local until real eyelid geometry passes; see
|
||||
was **accepted by the owner** as a basic human head. The automated vision gate still returns
|
||||
REJECT on the eye/lid region (globe depth, lid overlap, iris at three-quarter) as deferred
|
||||
polish. The assembled `npc_casual --head mh` now adds a skull-conforming hair cap, a hidden
|
||||
scalp trim and a narrowed neck/shoulder body: 14,753 tris / 12,823 seam-split verts /
|
||||
14 bones / 9 materials, `inspect` clean. All 12 variants count 14,693–15,987 tris. See
|
||||
[`makehuman-head-review.md`](makehuman-head-review.md).
|
||||
|
||||
### Head subdivision comparison (2026-11-04)
|
||||
@@ -493,7 +495,7 @@ and the full carded-cluster foliage pass is the one remaining owner-gated P1. No
|
||||
|
||||
## Next actions
|
||||
|
||||
- Review the standalone [`makehuman-head-review.md`](makehuman-head-review.md) prototype before integrating any head/hand part into the character library.
|
||||
- Review the assembled [`makehuman-head-review.md`](makehuman-head-review.md) prototype (hair cap and full-body silhouette) before rebuilding the 12 shipped character GLBs.
|
||||
|
||||
|
||||
Tracked in [`TODO.md`](../TODO.md) `3D model re-evaluation`: the remaining `A. Baseline…` item is
|
||||
|
||||
@@ -140,11 +140,13 @@ MakeHuman sources against the character contract and records the 2026-11-03 dire
|
||||
|
||||
```bash
|
||||
flatpak run org.blender.Blender --background --python "$PWD/tools/blender_assets.py" -- build
|
||||
flatpak run org.blender.Blender --background --python "$PWD/tools/blender_assets.py" -- build --head mh
|
||||
flatpak run org.blender.Blender --background --python "$PWD/tools/blender_assets.py" -- render
|
||||
python3 tools/blender_assets.py sheet # docs/blender_previews/sheet_*.jpg
|
||||
python3 tools/blender_assets.py audit # no Blender needed
|
||||
python3 tools/blender_assets.py fit # gear-vs-body fit report
|
||||
python3 tools/blender_assets.py texels # per-slot texel density (px/m) of the characters
|
||||
# `build --head mh` selects the MakeHuman head; the default stays `face` until rollout.
|
||||
godot --headless --path . --import
|
||||
```
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ capture harnesses.
|
||||
| --- | --- |
|
||||
| [](sheet_npc.jpg) <br> `sheet_npc.jpg` | Eight skinned character variants (casual, jacket, coat, hi-vis vest, dress, hoodie, firefighter, guard) with their gear attach points. |
|
||||
| [](sheet_npc_baseline.jpg) <br> `sheet_npc_baseline.jpg` | Neutral studio baseline: 8 characters x front, three-quarter, profile, back, full body and crowd views. |
|
||||
| [](sheet_makehuman_head.jpg) <br> `sheet_makehuman_head.jpg` | Local MakeHuman head prototype: front, three-quarter and profile review views. The vision gate rejected this build (inconsistent globe depth and no visible lid overlap); see [`../makehuman-head-review.md`](../makehuman-head-review.md). |
|
||||
| [](sheet_makehuman_head.jpg) <br> `sheet_makehuman_head.jpg` | MakeHuman head: front, three-quarter and profile review views. The owner accepted the basic head; the automated vision gate still rejects the eye/lid region as deferred polish. See [`../makehuman-head-review.md`](../makehuman-head-review.md). |
|
||||
| [](sheet_npc_baseline_compare-body.jpg) <br> `sheet_npc_baseline_compare-body.jpg` | Neck/shoulder transition: fuller neck base and a lower shoulder root. |
|
||||
| [](sheet_npc_baseline_compare-face-detail.jpg) <br> `sheet_npc_baseline_compare-face-detail.jpg` | Face detail: nose ala wings, a single rounded mouth and a darker ear concha. |
|
||||
| [](sheet_npc_baseline_compare-face.jpg) <br> `sheet_npc_baseline_compare-face.jpg` | Face-depth pass: recessed sclera, upper lid and sculpted chin/cheek planes. |
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
# MakeHuman head prototype
|
||||
|
||||
Status: **local prototype, rejected by the automated visual gate, not integrated.**
|
||||
The asset is a standalone head/neck extracted from the CC0 MakeHuman base in
|
||||
`tmp/npc-research/makehuman/base.obj`. It is kept as a reviewable experiment and
|
||||
is not part of the shipped NPC contract.
|
||||
Status: **owner-accepted head, assembled prototype, not yet shipped.**
|
||||
The owner accepted the basic human head on 2026-11-04. The automated vision gate
|
||||
still records REJECT on the eye/lid region as deferred polish. The asset is a
|
||||
standalone head/neck extracted from the CC0 MakeHuman base in
|
||||
`tmp/npc-research/makehuman/base.obj`; the assembled path now adds hair, a hidden
|
||||
scalp trim and the procedural body. The 12 shipped GLBs have not been rebuilt
|
||||
with it yet.
|
||||
|
||||
## Asset
|
||||
|
||||
@@ -14,10 +17,12 @@ is not part of the shipped NPC contract.
|
||||
components, cuts an almond aperture through a skin eyelid mask, adds recessed
|
||||
eyeballs with flat iris/pupil discs, anchors brows to the face surface, renders
|
||||
front/three-quarter/profile and exports the standalone GLB.
|
||||
- Measurements (final build, `inspect`): **12,641 triangles / 7,690 split
|
||||
vertices**; bounds approximately `x ±0.094 m`, `y -0.180…0.042 m`,
|
||||
`z 1.530…1.803 m` in project Z-up space. It is inside the 16,000/16,000
|
||||
character cap.
|
||||
- Measurements (final standalone build, `inspect`): **12,641 triangles / 7,690
|
||||
split vertices**; bounds approximately `x ±0.094 m`, `y -0.180…0.042 m`,
|
||||
`z 1.530…1.803 m` in project Z-up space.
|
||||
- Assembled `npc_casual --head mh`: **14,753 triangles / 12,823 seam-split
|
||||
vertices / 14 bones / 9 materials**, `inspect` clean. All 12 variants count
|
||||
14,693–15,987 triangles with the same head.
|
||||
- Materials used: `skin`, `eye_white`, `iris`, `pupil`, `hair`. No textures are
|
||||
baked into this prototype.
|
||||
|
||||
@@ -69,8 +74,10 @@ Accept only if:
|
||||
|
||||
## Judge result
|
||||
|
||||
**VERDICT: REJECT** (vision judge `z-ai/glm-5.3-flash`, final build render set
|
||||
above). The gate is blocked; the prototype is not presented as an accepted head.
|
||||
**Owner verdict: ACCEPT (basic human head, 2026-11-04).**
|
||||
**Automated vision gate: REJECT** (vision judge `z-ai/glm-5.3-flash`, final
|
||||
standalone build render set above). The eye/lid findings below remain deferred
|
||||
polish; they are no longer a rollout blocker because the owner accepted the head.
|
||||
|
||||
Blocking findings:
|
||||
|
||||
@@ -96,24 +103,37 @@ Should-fix findings:
|
||||
- the catchlight is baked geometry and is not consistent between eyes.
|
||||
|
||||
What passed: the skin/eye material remap is correct, the eye openings are
|
||||
closed, the standalone GLB reports **12,641 triangles / 7,690 split vertices**
|
||||
with no issues, and an assembled `npc_casual` with this head passes `inspect` at
|
||||
**15,532 / 16,000 triangles, 13,310 split vertices, 14 bones, no issues**.
|
||||
closed, the standalone GLB reports **12,641 triangles / 7,690 split vertices**,
|
||||
and an assembled `npc_casual` with this head passes `inspect` at **14,753 /
|
||||
16,000 triangles, 12,823 seam-split vertices, 14 bones, no issues**.
|
||||
|
||||
Known limits: bald mannequin-like presentation, stylized geometry-only
|
||||
iris/pupil, no rig, no UV texture pass, and the neck cap is a review cut rather
|
||||
than a body-welded seam.
|
||||
|
||||
## Next steps after the gate passes
|
||||
## Assembled prototype (2026-11-04)
|
||||
|
||||
- `_makehuman_head` imports the GLB and adds a **skull-conforming hair cap**
|
||||
derived from the closed head shell (scaled shell + boolean front-sphere
|
||||
cut + decimate). Hair skips the old `hair_normal.png` because the skull UVs
|
||||
produced large dark tangent patches.
|
||||
- Head faces fully covered by the cap are deleted to recover ~950 triangles;
|
||||
boundary faces stay as a safety band, so the accepted face geometry is
|
||||
untouched. The hidden neck plug uses 12 segments.
|
||||
- The procedural body was narrowed at the neck and shoulders (chest 0.158,
|
||||
neck base 0.060, neck top 0.054, shoulder root z 1.345) and its skin decimate
|
||||
dropped to 0.21 so all 12 variants fit the 16,000 cap.
|
||||
- Local review renders: `tmp/npc-parts/prototype_mh/renders/` (portrait
|
||||
front/three-quarter/profile and full-body front/three-quarter).
|
||||
|
||||
## Deferred polish
|
||||
|
||||
- Replace the radial lid mask with real upper/lower lid masses that fold over
|
||||
the globe, with pointed canthi, and pass the profile view.
|
||||
- Move the iris onto a curved cornea cap so its orientation follows the globe at
|
||||
three-quarter angles, and use a lighting-driven catchlight instead of baked
|
||||
white geometry.
|
||||
- Compare against the project `_face` baseline and decide whether this head is
|
||||
the base for the local head/face overhaul.
|
||||
- Add a clean UV/material pass and a contract armature/weights if it becomes
|
||||
part of a library character.
|
||||
- Keep the source script under `tmp/`; promote only the reviewed GLB and durable
|
||||
docs/preview sheet.
|
||||
- Refine the hair cap silhouette (current short cap reads as a helmet) and
|
||||
improve the full-body shoulder/arm shape before the 12-variant rollout.
|
||||
- Add a clean UV/material pass and a contract armature/weights when the head
|
||||
becomes part of the shipped library characters.
|
||||
@@ -46,13 +46,13 @@ project head/hands swap reduced this to **6,407 / 16,000 tris and**
|
||||
**6,651 / 16,000 verts**, but manual shoulder/neck retopology and part cleanup
|
||||
remain before it can be considered shippable.
|
||||
|
||||
A standalone MakeHuman head prototype is recorded in
|
||||
[`makehuman-head-review.md`](makehuman-head-review.md); it remains local/un-integrated
|
||||
until the overhaul accepts it.
|
||||
|
||||
The head/face/hand overhaul in [`TODO.md`](../TODO.md) is the prerequisite: the
|
||||
MakeHuman body should reuse the approved local head/hand parts rather than
|
||||
forking a second face implementation.
|
||||
A standalone MakeHuman head is recorded in
|
||||
[`makehuman-head-review.md`](makehuman-head-review.md). The owner accepted the basic
|
||||
human head on 2026-11-04; the assembled path (`build_character(head="mh")`) adds a
|
||||
skull-conforming hair cap and hides the scalp under it. The 12 shipped GLBs still use
|
||||
the procedural head until the hair/body review and rollout in [`TODO.md`](../TODO.md).
|
||||
The MakeHuman body should reuse the approved local head/hand parts rather than forking
|
||||
a second face implementation.
|
||||
|
||||
## Provenance rules
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
> **Historical page / changed source (2026-11-04).** The numbers below describe the
|
||||
> earlier decimated MakeHuman head (1,548-tri skin). The shared source
|
||||
> `assets/models/blender_src/makehuman_head.glb` now holds the higher-resolution
|
||||
> standalone prototype; its automated vision gate returned **REJECT** (inconsistent
|
||||
> globe depth across views and no visible lid overlap). See
|
||||
> standalone prototype. The owner accepted the basic head; the automated vision gate
|
||||
> still records REJECT on the eye/lid region as deferred polish. See
|
||||
> [`../../makehuman-head-review.md`](../../makehuman-head-review.md). Re-run the
|
||||
> library head build before relying on the comparison counts below.
|
||||
|
||||
@@ -60,8 +60,9 @@ Left to right: front, three-quarter, profile.
|
||||
4. The head skin is 1.5k tris (smooth but low-poly); a retopology pass could add resolution if a
|
||||
portrait shows faceting.
|
||||
|
||||
## Decision needed
|
||||
## Decision (2026-11-04, owner)
|
||||
|
||||
Approve or reject the MakeHuman-head direction. If approved, the next step is rolling it into the
|
||||
other 11 variants (one asset family at a time) with a before/after sheet per batch, and re-running
|
||||
the 24-NPC budget + AO bake.
|
||||
The MakeHuman-head direction is approved for the basic human head. The remaining review is the
|
||||
assembled prototype's hair cap and full-body silhouette. After that, roll the head into the other
|
||||
11 variants (one asset family at a time) with a before/after sheet per batch, then re-run the
|
||||
24-NPC budget + AO bake.
|
||||
Reference in new issue
Block a user