Document MPFB full-body NPC prototype status and seams
This commit is contained in:
1 parent
b297c4543f
commit
d56f14c6dd
3 files changed
+60
No files matched your search
@@ -27,6 +27,18 @@ canonical implemented-features list in `docs/development-status.md`.
|
||||
neck/shoulders (shoulder root z 1.345, chest 0.158, neck 0.060/0.054) and its skin
|
||||
decimate dropped to 0.21. The local renders are in
|
||||
`tmp/npc-parts/prototype_mh/renders/`.
|
||||
- **MPFB full-body prototype (2026-11-04):** the current body candidate is the local MPFB 2.0.18
|
||||
pipeline at `tmp/npc-research/build_mpfb_npc.py` (dev-only; no `.mhclo` clothing installed).
|
||||
It creates a macro-driven human, bakes targets, adds the `game_engine` rig, captures arm
|
||||
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,917 tris / 9,543 raw verts /
|
||||
1.811 m / 14 bones / 10 materials**; `inspect` clean and feet grounded. **Not accepted yet:** the
|
||||
neckline reads as a short collar, the 2k-tri body budget leaves boxy/finned outer thighs, the
|
||||
shoes are blocky, and torso/hip/arm seam gaps appear when the body target is raised. 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/renders/`; 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
|
||||
@@ -128,6 +140,14 @@ canonical implemented-features list in `docs/development-status.md`.
|
||||
(dark tangent patches) — hair skips the normal map. Generate the cap before deleting
|
||||
the hidden scalp, or the cap inherits the hole. The flatpak sandbox cannot read `/tmp`;
|
||||
helper scripts must live under `$PWD`.
|
||||
- MPFB gotchas: call `TargetService.bake_targets(body)` before any decimate (shape-key
|
||||
modifier error); add the built-in rig and capture arm weights before applying the MASK
|
||||
modifier, or `build_basemesh_position_info` divides by zero on an emptied bone group;
|
||||
decimate before bisecting the clothing loops, or the decimator collapses the bisect
|
||||
into a sawtooth. Clear custom split normals after joining (imported MPFB normals leave
|
||||
flat-shaded thigh facets). Imported GLBs may include helper `Cube`/`Icosphere` meshes at
|
||||
±1.0, so select `npc_base` explicitly. Delete the MPFB hands by hand/finger vertex-group
|
||||
weights, not only by `|x|`, or leftover fingers become pants-coloured fins.
|
||||
- Image models have per-model size floors/caps (Seedream needs 1920+; `GEN_SIZE=2048`, do not
|
||||
lower; gpt-5-image-mini caps lower). `generate_image` applies model-specific sizing; concept
|
||||
generation defaults to `--request-size 1536`.
|
||||
|
||||
Reference in new issue
Block a user