# NPC Model Sourcing This page records the source evaluation behind [ADR-0015](adr/0015-npc-model-variety-sourcing.md). The shipped path is the project-owned Blender/procedural library; external sources remain references or local prototypes unless a later ADR accepts them. ## Evaluation The library needs variety beyond the original eight silhouettes while preserving the `npc_base` contract: mesh node, 13 required core bones (optional extras allowed), five tint slots, −Y/+Z front, grounded feet and the 16,000/16,000 character budget. | Source | Licence | Result | | --- | --- | --- | | Quaternius Ultimate Modular | CC0 | Good silhouette/decimation material, but a 62-bone T-pose realistic rig and different proportions; not a drop-in. Kept as a reference/prototype. | | Kenney Blocky Characters | CC0 | No matching rig; style is much blockier than the project look. | | Khronos CesiumMan / RiggedFigure | CC BY 4.0 | Different bone names/rest pose and no five-slot materials; not a drop-in. | | MakeHuman / MPFB base | CC0 | Useful body-shape base, but requires retopology, a custom rig, clothing and part integration. Active local pipeline, not the shipped path. | The contract mismatch is the expensive part, not decimation: retargeting a different rig or rebuilding slots/weights can distort the body and invalidate gear placement. Any future second-rig path needs its own ADR and animation/gear offsets. ## Decision and outcome - Extend the project-owned procedural generator as the primary shipped path (12-character library, crowd variants, role pools). - Keep Quaternius as a studied reference, not a shipped base. - MakeHuman is a local development pipeline for body-shape diversity; it must consume the same head/hand parts as the procedural library and never become a CI/build dependency. - Record CC0/CC-BY provenance; CC-BY previews require attribution in [`CREDITS.md`](../CREDITS.md). ## MakeHuman prototype notes The local prototype (`tmp/npc-research/`, never committed) scaled the base to 1.82 m, grounded it, triangulated/decimated it and retargeted it to the 13-core armature. The first retarget measured **6,444 / 16,000 tris and** **7,726 / 16,000 verts**, 14 bones, skinned, arm-down, five slots. It exposed the expected issues: a 1.63× arm-scale warp at the deltoid/shoulder, blocky decimated hands, rough slot boundaries and a head/neck shadow gap. The later 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 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. 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,213 / 16,000 tris**, 1.810 m, 14 bones and 10 materials, with project hands, bevelled 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 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, and a light smoothing pass softens the closed thigh/hip region. Remaining polish: a V-shaped shirt hem at the crotch, a skin-tight shirt and angular thigh facets; a proper shirt shell is the fix. A torus collar, cloth cylinder collar, skin neck-blend sphere, destructive vertex-smoothing pass and untucked shirt-hem band were tried and removed because they read as a brace, shelf, donut or hanging flap, 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. ## Provenance rules - CC0 preferred; CC-BY only with attribution in `CREDITS.md`; no service asset whose terms restrict redistribution. - Downloaded research and generated previews stay in `tmp/`/gitignored folders; only final audited assets and committed review sheets enter the repository. - Record source URL, licence, author, date and what decision the reference informed. Never treat a generated concept as licensed map/model data. Measurements, visual decisions and accepted limits are in [`3d-model-review.md`](3d-model-review.md) and [`npc-visual-review.md`](npc-visual-review.md). Commands are in [`asset-tooling.md`](asset-tooling.md).