Files
security-game/docs/npc-model-sourcing.md
T
zwitschi dee939c2ee
Full build / Import + headless tests (push) Successful in 42s
Full build / Full desktop build + optional release (push) Skipped
Consolidate documentation into architecture and merged guides
2026-11-04 14:06:23 +01:00

3.4 KiB
Raw Blame History

NPC Model Sourcing

This page records the source evaluation behind ADR-0015. 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.

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.

The head/face/hand overhaul in TODO.md is the prerequisite: the MakeHuman body should reuse the approved local head/hand parts rather than forking a second face implementation.

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 and npc-visual-review.md. Commands are in asset-tooling.md.