Intake the modular outfit pack and ship the Suit base for npc_coat
This commit is contained in:
1 parent
f6bb2b1de3
commit
3b9e3b61d8
12 files changed
+254
-37
No files matched your search
@@ -770,25 +770,21 @@ regressing gear fit, budget or readability.
|
||||
place (`short` identity, `buzz` squashed toward the hairline, `long` stretched from the crown),
|
||||
and each role picks a style through the existing `CHARACTERS[...]["hair"]` field. The T-pose
|
||||
cache is keyed on the style. The roster now reads as three silhouettes instead of one.
|
||||
- [-] **Outfit part library (owner chose the one-time manual download).** The upstream modular pack is
|
||||
a Google Drive folder (<https://drive.google.com/drive/folders/1USAAquX2JJWuA2m6zol0KUkFe3UkZ8zX>);
|
||||
the owner downloads it once, everything after that is scripted. Steps:
|
||||
1. download the pack and drop the archive (or its extracted folder) into
|
||||
`tmp/quaternius-intake/` — that directory is gitignored;
|
||||
2. `python3 tools/quaternius_parts.py inventory --dir tmp/quaternius-intake` — lists every GLB
|
||||
with its meshes, triangles, bones and materials, so the usable parts are picked by
|
||||
measurement instead of by filename;
|
||||
3. `python3 tools/quaternius_parts.py extract --file <glb> --mesh <name> --out parts/<part>.glb`
|
||||
writes one skinned part onto the 62-joint rig (the only accepted part shape);
|
||||
4. `python3 tools/quaternius_parts.py verify --dir assets/models/blender_src/quaternius/parts`
|
||||
records the SHA-256 of what was kept, then copy the accepted sources into
|
||||
`assets/models/blender_src/quaternius/parts/` and add the rows to `CREDITS.md`;
|
||||
5. assign parts per role in `CHARACTERS[...]["parts"]` and rebuild.
|
||||
Nothing lands in `assets/` until step 5, and the pack itself is never committed.
|
||||
Tooling is ready and proven: `inventory`/`extract`/`verify` work, and a scratch part joined
|
||||
onto a base and exported cleanly before the pack arrived. The part contract is in
|
||||
`assets/models/blender_src/quaternius/parts/README.md`. **Waiting on the owner's download.**
|
||||
A `bald` hair variant also needs a skull-covering crown on the `worker` base first.
|
||||
- [x] **Outfit part library — intake landed (`Suit` pilot).** The owner downloaded the
|
||||
*Ultimate Modular Men* pack (CC0, 15 families, FBX only) into `tmp/quaternius-intake/`.
|
||||
`tools/quaternius_parts.py make-base` composes a family into a skinned base GLB, undoing five
|
||||
FBX artefacts (per-file armatures, `_end`/`neutral_bone`, node transforms, the shared
|
||||
jacket/trouser fabric, seam degenerates). `Suit.glb` is the first base: `npc_coat` is now a
|
||||
dark formal suit instead of a tinted hoodie. The pitfalls are recorded in
|
||||
`docs/npc-model-sourcing.md` and `MEMORY.md`.
|
||||
- [ ] **Remaining outfit families.** The pack also has Adventurer, Beach, Casual_2, Farmer, King,
|
||||
Punk, SpaceSuit, Swat and Weapons (pistol/sword — unused, the game has no weapon system).
|
||||
Pick the roles each one fits, add a `QUATERNIUS_SOURCES` entry per family with its slot map,
|
||||
then rebuild. `Swat` and `SpaceSuit` have **no hair or eye geometry** (helmeted heads), so
|
||||
they need the five-slot question answered first: hair would be an invisible patch under the
|
||||
helmet, or the audit loses a slot.
|
||||
- [x] Intake tooling: `inventory` / `extract` / `verify` / `make-base` in
|
||||
`tools/quaternius_parts.py`, all exercised against the real pack.
|
||||
- [ ] Bake per-slot albedo/normal/ORM maps and a per-slot atlas; the five slots currently share one
|
||||
whole-body UV set, which caps how much the cloth/pants tints can differ.
|
||||
|
||||
|
||||
Reference in new issue
Block a user