From a3c3a372709806c97dd2075cf8f4baba540f1c1b Mon Sep 17 00:00:00 2001 From: Zwitschi Date: Wed, 4 Nov 2026 19:27:51 +0100 Subject: [PATCH] Smooth the prototype neck and shrink the shoes --- MEMORY.md | 20 +++++++++++--------- TODO.md | 21 ++++++++++++--------- docs/npc-model-sourcing.md | 14 +++++++------- 3 files changed, 30 insertions(+), 25 deletions(-) diff --git a/MEMORY.md b/MEMORY.md index 4f9ac69..158d1ec 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -33,15 +33,17 @@ canonical implemented-features list in `docs/development-status.md`. points/weights, removes the rig, applies the helper MASK, scales to 1.81 m, retargets the A-pose arms to the contract wrist, cuts the neck at 1.505, decimates, bisects the clothing boundaries, paints the five slots, adds a short neck flare, project hands, rounded shoes and cuffs, the - accepted head and the 14-bone contract armature. Current output: **15,373 tris / 13,552 glTF - verts / 13,560 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean and feet - grounded. The neck is now a radial cut of the decimated column plus a wide 20-segment skin cone - (lower cone painted cloth, reads as a V-neck); the ankles are hidden by a 0.14 m shoe shell and a - 0.10 m pant cuff. Earlier torus collar, cloth cylinder collar and skin neck-blend sphere attempts - were removed: they read as a brace, a shelf or a donut. Remaining polish: block-shaped shoes, - V-shaped shirt hem at the crotch, skin-tight shirt, angular thigh facets. The prototype uses flat - slot colours because the one-shot MPFB UV unwrap does not match the per-slot NPC atlases. - Renders: `tmp/npc-parts/mpfb_proto/renders60/`; body-only: `body_only.glb`. + accepted head and the 14-bone contract armature. Current output: **15,453 tris / 13,630 glTF + verts / 13,638 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean and feet + grounded. The neck is a radial cut of the decimated column bridged by a four-ring, 20-segment + lathe (lower rings painted cloth, reads as a crew neck); the ankles are hidden by a 0.12 m shoe + shell, 0.13 × 0.32 m sole and a 0.08 m pant cuff. Earlier torus collar, cloth cylinder collar, + skin neck-blend sphere and destructive `smooth_vert` pass failed: the shells read as a brace, + shelf or donut, and vertex smoothing tore the open collar boundary into a dark hole. Remaining + polish: bulbous shoe toe, V-shaped shirt hem at the crotch, skin-tight shirt, angular thigh + facets. The prototype uses flat slot colours because the one-shot MPFB UV unwrap does not match + the per-slot NPC atlases. Renders: `tmp/npc-parts/mpfb_proto/renders63/`; body-only: + `body_only.glb`. - **Project agent skills (2026-11-03):** two tracked skills live in `.agents/skills/`: `gig-line-blender-asset-contract` and `gig-line-release-qa`. They are guidance only, add no runtime dependency and are referenced from `tools/README.md`. The third-party diff --git a/TODO.md b/TODO.md index 3f2b0cd..08343f5 100644 --- a/TODO.md +++ b/TODO.md @@ -203,21 +203,24 @@ owner reviews the silhouette and a production integration decision is recorded. apply the helper MASK, scale to 1.81 m, retarget the A-pose arms to the contract wrist (`x=±0.27`, `z=0.78`), cut the neck at 1.505, decimate, bisect the clothing boundaries, paint the five slots, add a short neck flare, project hands, rounded shoe shells, cuffs, the - accepted head and the 14-bone armature. Current output: **15,373 tris / 13,552 glTF verts / - 13,560 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean, feet grounded. + accepted head and the 14-bone armature. Current output: **15,453 tris / 13,630 glTF verts / + 13,638 seam-split verts / 1.810 m / 14 bones / 10 materials**; `inspect` clean, feet grounded. - [x] Replace the spiky decimated MPFB hands with the project palm/finger primitives, straighten the splayed MPFB feet so the shoes point forward, and use rounded shoe shells + cuffs instead of flat blocks. Use flat slot colours in the prototype because the one-shot MPFB UV unwrap does not match the per-slot NPC atlases. - [x] Fix the neck junction without touching the accepted face: cut the decimated neck column radially (all-vertex test inside r=0.085) so the shirt shoulder silhouette stays intact, - then bridge the opening with a wide 20-segment skin cone from r=0.10 to r=0.056. The lower - cone is painted cloth so the opening reads as a V-neck rather than bare chest. No torus, - disk shelf, neck brace or sawtooth collar. -- [x] Seat the ankles in the shoes: remove the lower-leg x-narrowing, raise the shoe shell to - 0.14 m and add a 0.10 m pant cuff at z=0.13 so the open tapered ankle is hidden. -- [ ] Owner reviews the updated MPFB body renders (`tmp/npc-parts/mpfb_proto/renders60/`). - Remaining known defects: block-shaped shoe silhouette, white shirt hem forms a V at the + then bridge the opening with a smooth four-ring lathe neck (r 0.100 → 0.056, 20 segments). + The lower rings are painted cloth so the opening reads as a crew neck rather than bare + chest. No torus, disk shelf, neck brace or sawtooth collar. +- [x] Reject destructive vertex smoothing at the neck: a `smooth_vert` pass moved the open body + boundary away from the neck cone, opening a dark hole. The lathe gives smooth shading + without moving the collar boundary. +- [x] Shrink the shoes and seat the ankles: shoe shell 0.12 × 0.30 × 0.12 m, sole 0.13 × 0.32 m, + shoe centre x=0.17, with a 0.08 m pant cuff (r 0.055/0.061) bridging leg and shoe. +- [ ] Owner reviews the updated MPFB body renders (`tmp/npc-parts/mpfb_proto/renders63/`). + Remaining known defects: shoe toe still reads as a bulb, white shirt hem forms a V at the crotch, shirt still reads skin-tight, and the 2k-tri body budget leaves some angular thigh facets. These are polish, not blockers for the body direction. - [ ] Fix the low-budget seams before any rollout: weld the torso/hip/arm components after the diff --git a/docs/npc-model-sourcing.md b/docs/npc-model-sourcing.md index 1f459bd..cd2770f 100644 --- a/docs/npc-model-sourcing.md +++ b/docs/npc-model-sourcing.md @@ -55,14 +55,14 @@ The MakeHuman body should reuse the approved local head/hand parts rather than f a second face implementation. The current local MPFB full-body prototype (`tmp/npc-research/build_mpfb_npc.py`) assembles the -accepted head on an MPFB 2.0.18 body at **15,373 / 16,000 tris**, 1.810 m, 14 bones and 10 -materials, with project hands, rounded shoe shells, pant cuffs, accessory cuffs and flat slot +accepted head on an MPFB 2.0.18 body at **15,453 / 16,000 tris**, 1.810 m, 14 bones and 10 +materials, with project hands, smaller shoe shells, pant cuffs, accessory cuffs and flat slot colours. It is a review candidate, not a shipped asset. The neck is a radial cut of the decimated -column bridged by a wide 20-segment cone (lower cone painted cloth, reading as a V-neck); the ankles -are hidden by raised shoe shells and pant cuffs. Remaining polish: block-shaped shoes, a V-shaped -shirt hem at the crotch, a skin-tight shirt and angular thigh facets. A torus collar, cloth cylinder -collar and skin neck-blend sphere were tried and removed because they read as a brace, shelf or -donut. The production integration decision (bake a committed +column bridged by a four-ring, 20-segment lathe (lower rings painted cloth, reading as a crew neck); +the ankles are hidden by 0.12 m shoe shells and 0.08 m pant cuffs. Remaining polish: a bulbous shoe +toe, a V-shaped shirt hem at the crotch, a skin-tight shirt and angular thigh facets. A torus +collar, cloth cylinder collar, skin neck-blend sphere and a destructive vertex-smoothing pass were +tried and removed because they read as a brace, shelf or donut, or tore a hole at the collar. The production integration decision (bake a committed source GLB or keep the procedural body) and the owner review are tracked in `TODO.md`; MPFB itself must not become a CI/build dependency.