Files
security-game/docs/screens/head-review

Head rework — review page (2026-11-04)

This page is the review checkpoint for the NPC head rework. The goal was to replace the sphere-and-floating-primitive face with a head that has real nose / chin / jaw landmarks at portrait distance.

What changed

The original procedural face is a head sphere plus separate nose, mouth, ear and eye primitives. The new head uses the decimated MakeHuman head (CC0, 1,573 tris) as the base shape and keeps the project's separate eyeballs, brow and mouth pieces on top. An AI judge was used to drive the decision: it scored the procedural rework at ~3/5 and then picked the MakeHuman head as the clearer silhouette.

Source Tris (head) Read
Before procedural _face (sphere + primitives) ~1,900 flat face, slit eyes
After MakeHuman head + project eyes/brows/mouth ~2,180 nose/chin/jaw landmarks

AI-generated target concept

The rework was guided by two generated concept frames (front + profile, bytedance-seed/seedream-4.5).

concept

1.85 m comparison (top = current, bottom = new)

Left to right: front, three-quarter, profile.

1.85 m comparison

New head at 1.5 m (portrait)

1.5 m portrait

Contract and checks

  • blender_assets.py inspect on the assembled npc_casual with the new head: 14 bones, skinned, no issues.
  • Source: assets/models/blender_src/makehuman_head.glb (CC0, attributed in CREDITS.md).
  • Python 167/167, Godot 277/277, check_docs OK.

Remaining polish (known, not blockers)

  1. The hair cap still reads as a stepped block instead of hugging the skull.
  2. The brows weld to the face but can read as a slightly separate bar.
  3. The neck underside cap is plain; it is hidden by the body neck in the assembled character.

Decision needed

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.