feat(assets): add Quaternius aesthetic validation spike
Complete character pipeline spike validating the Quaternius rig as foundation for The Settled Reach's 3D character system. Validated: - 65-bone skeleton + Universal Animation Library as rig foundation - Body segmentation into 15 bone-group regions with 1-ring vertex overlap - Trellis-generated heads via BoneAttachment3D - Skin tone texture generation pipeline (9 variants from source) - Toon shader + inverted hull outline at gameplay zoom - CharacterVisual class as compositor prototype Failed (documented): - Trellis clothing auto-rigging (sculptures, not garments) - Bone scaling for body type variants (catastrophic joint deformation) - Runtime per-segment clothing scaling (same failure as Blender-side) Includes: Blender pipeline scripts (segmentation, auto-rigging, Surface Deform fitting), Godot showcase with interactive controls, automated screenshot cycle, smoke tests, team reviews, and VERDICT.md. D-158 through D-164 locked. Q-060 through Q-062 opened. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@@ -0,0 +1,5 @@
|
||||
# ARAMINTA Memory Index — Quaternius Aesthetic Spike
|
||||
|
||||
## Project
|
||||
|
||||
- [project_quaternius_spike.md](project_quaternius_spike.md) — Phase 1+2 review findings: outline params, body type verdict, head mesh gap, clothing approach recommendation, compositor flag
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
name: quaternius_spike_review
|
||||
description: Quaternius aesthetic spike full findings — rig verdict, Trellis clothing failure, Trellis head success, compositor architecture, decisions pending Jeroen review
|
||||
type: project
|
||||
---
|
||||
|
||||
Full spike complete. VERDICT.md written to `spikes/quaternius-aesthetic/VERDICT.md`.
|
||||
|
||||
**Phase 1+2 review** (`reviews/araminta-phase1-2.md`):
|
||||
- Silhouette clarity passes. Toon approach is correct.
|
||||
- Baked-AO in Quaternius textures may fight toon shader in textured mode at mugshot zoom — unverified.
|
||||
- Flat toon mode is preferred default; textured mode optional for close-up contexts.
|
||||
- Outline at 0.006 correct for gameplay; mugshot/editor context needs 0.010-0.012.
|
||||
- Outline color `(0.08, 0.08, 0.12)` correct — slight blue-dark, not pure black.
|
||||
- Superhero body communicates "hero archetype" — contradicts D-153 and life-sim intent.
|
||||
- Head-separate-from-body is blocking requirement for clothed characters having faces.
|
||||
|
||||
**Why:** Spike brief required visual validation of Quaternius rig + Trellis clothing combination.
|
||||
|
||||
**How to apply:** The established aesthetic params (outline widths, color, flat-vs-textured toon) are locked. Do not revisit without new evidence.
|
||||
|
||||
**Phase 3 — critical findings:**
|
||||
- Trellis clothing auto-rigging: FAILED. 4-22% vertex match, Cthulan deformation results. Both tunic and pauldron produced catastrophic geometry on animation. The fundamental cause: Trellis outputs are sculptures, not garments — topology has no proximity to skeleton. Auto-rig algorithms require geometry near the skeleton surface. This is a closed route.
|
||||
- Trellis heads: SUCCEEDED. Clean low-poly head mesh, attaches via BoneAttachment3D to Head bone. Single-bone, no skinning needed.
|
||||
- Bone scaling for heavy body type: artifacts at extremes. Hand-authored meshes required per D-159.
|
||||
- Runtime per-segment scaling: viable. Clothing authored once on reference body, scaled per body segment at attachment time. This is the compositor's job — not pre-baking variants.
|
||||
|
||||
**Compositor brief rewrite required** (flag to Jeroen):
|
||||
- Not a variant pipeline. A runtime assembler.
|
||||
- Body: 9 hand-authored meshes (D-159).
|
||||
- Head: Trellis-generated, unique per character.
|
||||
- Clothing: authored mesh library, runtime-scaled per body segment.
|
||||
- Color: shader tinting + AI retexturing on fixed topology.
|
||||
|
||||
**Decisions pending Jeroen review:** Fork body meshes, separate head mesh, close Trellis clothing route, hand-authored clothing pipeline, compositor brief rewrite, Source tier acquisition.
|
||||
@@ -0,0 +1,226 @@
|
||||
---
|
||||
title: "Quaternius Stack Aesthetic Validation Spike"
|
||||
description: "Two-track spike: Quaternius character rig through toon shader, and Trellis1-generated clothing on the Quaternius rig. Pipeline tension is the primary output."
|
||||
type: spike
|
||||
status: ready
|
||||
date: 2026-03-18
|
||||
agents: "TYRE, ARAMINTA"
|
||||
---
|
||||
|
||||
# Situation Brief — Character Pipeline Validation
|
||||
**To:** TYRE, ARAMINTA
|
||||
**From:** Jeroen
|
||||
**Date:** 2026-03-18
|
||||
|
||||
## What we know
|
||||
|
||||
The 3D isometric pivot is live. The asset pipeline is split:
|
||||
|
||||
- **Environment assets** — Trellis1 generative pipeline, working, solved
|
||||
- **Characters** — Trellis1 failed (wrong proportions, broken normals,
|
||||
outline pass artifacts). Route closed.
|
||||
- **Clothing and accessories** — Trellis1 unproven on rigged items.
|
||||
This spike investigates whether it can work.
|
||||
|
||||
The Quaternius Universal Base Characters pack has been identified as a
|
||||
candidate character rig foundation. It is CC0, Godot-compatible, ships
|
||||
with a matching animation library, and has a modular clothing system on
|
||||
the same rig.
|
||||
|
||||
## The core question
|
||||
|
||||
Can we build a character system where:
|
||||
|
||||
- The **Quaternius rig** provides the body, skeleton, and animation anchor
|
||||
- **Trellis1-generated meshes** provide clothing and accessories attached
|
||||
to that rig
|
||||
|
||||
If yes, the in-game clothing catalogue becomes generative — every item
|
||||
found across the Reach is a unique output, not a hand-authored or
|
||||
pack-sourced mesh. This directly supports the design intent of clothing
|
||||
as individual purchasable items with genuine variety.
|
||||
|
||||
If no, we understand exactly where the pipeline breaks and can scope
|
||||
the alternative.
|
||||
|
||||
## What is NOT decided yet
|
||||
|
||||
- Whether the Quaternius rig becomes the character foundation
|
||||
- Whether Trellis1 clothing is viable on any external rig
|
||||
- Whether to acquire Patreon Source tier for any Quaternius pack
|
||||
- How the character compositor is implemented
|
||||
|
||||
This spike produces the evidence. Decisions follow the evidence.
|
||||
|
||||
## Aesthetic reference
|
||||
|
||||
The target aesthetic is Invisible Inc — isometric, toon-shaded, readable
|
||||
at gameplay zoom, eclectic human detail. ARAMINTA has seen this reference.
|
||||
All verdicts are measured against it.
|
||||
|
||||
---
|
||||
|
||||
# Spike Brief — Quaternius Stack Aesthetic Validation
|
||||
**Timebox:** 1 session
|
||||
**Agents:** TYRE (import, scene setup, rig integration), ARAMINTA (asset
|
||||
generation, aesthetic evaluation)
|
||||
**Blocks:** Character spike rewrite, all asset acquisition decisions
|
||||
|
||||
## Two parallel tracks
|
||||
|
||||
This spike runs two tracks simultaneously. Both feed the same verdict doc.
|
||||
|
||||
---
|
||||
|
||||
## Track A — Quaternius rig through toon shader
|
||||
|
||||
**Owner:** TYRE (setup), ARAMINTA (evaluation)
|
||||
|
||||
**Packs — standard tier (free) only:**
|
||||
|
||||
| Pack | What we're testing |
|
||||
|------|-------------------|
|
||||
| Universal Base Characters | Body mesh + rig through toon shader |
|
||||
| Universal Animation Library | Idle animation on Quaternius rig |
|
||||
| Modular Character Outfits — Fantasy | One pack-sourced clothing piece as baseline |
|
||||
|
||||
Download current versions. The Animation Library rig naming was updated
|
||||
January 2026 — confirm it matches the Base Characters before importing.
|
||||
|
||||
**Steps:**
|
||||
1. Import one Universal Base Character (Regular proportions, either
|
||||
gender — TYRE's choice)
|
||||
2. Apply existing toon shader unmodified
|
||||
3. Place in current isometric scene at gameplay zoom
|
||||
4. Add one idle animation from the Universal Animation Library
|
||||
5. Attach one clothing piece from Modular Character Outfits Fantasy
|
||||
as a baseline clothing reference
|
||||
|
||||
**Screenshots — Track A:**
|
||||
- Gameplay zoom
|
||||
- Heavy zoom (character editor scale per D-146)
|
||||
- Pulled-back crowd scale
|
||||
|
||||
**Track A acceptance criteria:**
|
||||
- [ ] Character reads legibly as a person at gameplay zoom with toon
|
||||
shader active
|
||||
- [ ] Outline pass behaves correctly on Quaternius mesh density — no
|
||||
face eating, no artifacts
|
||||
- [ ] Idle animation plays without deformation artifacts
|
||||
- [ ] Pack-sourced clothing piece attaches without visible clipping
|
||||
at gameplay zoom
|
||||
|
||||
---
|
||||
|
||||
## Track B — Trellis1 clothing on Quaternius rig
|
||||
|
||||
**Owner:** ARAMINTA (generation and attachment), TYRE (rig integration
|
||||
support as needed)
|
||||
|
||||
**The question:** Can ARAMINTA generate a clothing or accessory mesh
|
||||
via Trellis1 and attach it to the Quaternius rig cleanly enough to be
|
||||
usable in-game?
|
||||
|
||||
**Steps:**
|
||||
1. Using the Quaternius rig as reference, generate one clothing item
|
||||
via Trellis1 — ARAMINTA's choice of item and prompt approach
|
||||
2. Attempt to attach the generated mesh to the Quaternius rig
|
||||
3. Apply toon shader
|
||||
4. Evaluate: does it deform correctly with the idle animation? Does
|
||||
it clip? Does it read at gameplay zoom?
|
||||
|
||||
Attempt at least two different item types if time allows — one body
|
||||
garment, one accessory. Different mesh complexity will reveal where
|
||||
the pipeline holds and where it breaks.
|
||||
|
||||
**Screenshots — Track B:**
|
||||
- Generated item attached to rig, toon shader active, gameplay zoom
|
||||
- Same, with idle animation playing (or paused mid-motion if that
|
||||
shows deformation more clearly)
|
||||
- Failure cases are as useful as successes — screenshot those too
|
||||
|
||||
**Track B acceptance criteria:**
|
||||
- [ ] At least one generated mesh attaches to the Quaternius rig
|
||||
without catastrophic deformation
|
||||
- [ ] At least one generated mesh survives the idle animation without
|
||||
visible tearing or clipping
|
||||
- [ ] ARAMINTA documents exactly where the pipeline succeeded and
|
||||
where it broke — partial success is a valid and useful result
|
||||
|
||||
---
|
||||
|
||||
## Track C — Character in environment (brief, after Track A)
|
||||
|
||||
If Track A produces a viable character, place them in a minimal
|
||||
existing scene from the Trellis1 environment pipeline.
|
||||
|
||||
**Steps:**
|
||||
1. Place Track A character in an existing interior scene
|
||||
2. Screenshot at gameplay zoom — character and environment together
|
||||
|
||||
This is a single screenshot, not a full stage. It answers whether the
|
||||
character aesthetic is consistent with the environment aesthetic that
|
||||
is already working.
|
||||
|
||||
---
|
||||
|
||||
## What NOT to build
|
||||
|
||||
- Multiple body types — one proves the pipeline
|
||||
- Full animation set — idle only
|
||||
- Full room layout — use an existing scene
|
||||
- Any game logic — visual validation only
|
||||
|
||||
## Hard constraints
|
||||
|
||||
- No Adobe products or services
|
||||
- Standard tier only for Quaternius packs — do not acquire Source
|
||||
tier before the verdict is in
|
||||
- Do not modify the toon shader to accommodate the assets — evaluate
|
||||
what the current pipeline produces unmodified
|
||||
- Do not discard failure results — document them
|
||||
|
||||
---
|
||||
|
||||
## Primary output — Pipeline Tension Report
|
||||
|
||||
This is the main deliverable. ARAMINTA authors it. TYRE contributes
|
||||
the technical observations.
|
||||
|
||||
The report answers three questions directly:
|
||||
|
||||
**1. Does the Quaternius rig work as a character foundation?**
|
||||
Viable / not viable / viable with conditions. One paragraph.
|
||||
|
||||
**2. Does Trellis1 clothing attach to the Quaternius rig?**
|
||||
This is the critical tension. Three possible outcomes:
|
||||
- Clean attach — generative clothing pipeline is viable
|
||||
- Partial attach — viable with constraints (document what the
|
||||
constraints are exactly)
|
||||
- Failed attach — generative clothing is not viable on this rig
|
||||
(document where it broke and why)
|
||||
|
||||
**3. Are the two pipelines visually consistent?**
|
||||
Does a Trellis1 clothing item on a Quaternius body read as coherent
|
||||
through the toon shader, or do the two sources fight each other
|
||||
aesthetically?
|
||||
|
||||
Secondary outputs:
|
||||
- Screenshot set (minimum 8 images across all tracks), filed where
|
||||
TYRE sees fit
|
||||
- Source tier recommendation: which Quaternius packs justify
|
||||
acquisition based on what the standard tier produced
|
||||
- Flag to Jeroen if the character compositor brief needs rewriting
|
||||
based on findings
|
||||
|
||||
---
|
||||
|
||||
## This spike does NOT produce
|
||||
|
||||
- A locked decision on the character system
|
||||
- A commitment to the Quaternius stack
|
||||
- A commitment to the Trellis1 clothing approach
|
||||
- Any game code
|
||||
|
||||
Jeroen reviews the Pipeline Tension Report before any decisions
|
||||
are made.
|
||||
@@ -0,0 +1,267 @@
|
||||
---
|
||||
title: "Spike Verdict — Quaternius Aesthetic Validation"
|
||||
author: ARAMINTA
|
||||
contributor: TYRE
|
||||
date: 2026-03-19
|
||||
status: final
|
||||
---
|
||||
|
||||
# Spike Verdict: Quaternius Aesthetic Validation
|
||||
|
||||
**Authors:** ARAMINTA (design verdict), TYRE (technical observations)
|
||||
**Reviewed against:** D-146, D-153, D-154, D-158, D-159
|
||||
|
||||
This document supersedes the Pipeline Tension Report. All findings are final.
|
||||
Read this before writing any production compositor code.
|
||||
|
||||
---
|
||||
|
||||
## The Three Questions
|
||||
|
||||
### 1. Does the Quaternius rig work as a character foundation?
|
||||
|
||||
**SPLIT: Skeleton VALIDATED. Body meshes REJECTED.**
|
||||
|
||||
The 65-bone skeleton and Universal Animation Library are the correct foundation. Keep
|
||||
them. The skeleton is proven compatible with the animation library (January 2026 bone
|
||||
naming update), deforms correctly at gameplay zoom, and provides a shared rig that all
|
||||
body types can inherit. CC0 license means the fork is clean.
|
||||
|
||||
The body meshes are rejected. Superhero proportions are not an aesthetic problem — they
|
||||
are a design contradiction. Flat toon shading emphasizes silhouette. A crowd of Superhero
|
||||
V-taper bodies communicates "game about special people." That directly contradicts D-153
|
||||
(player character not visually distinct from NPCs) and the life-sim intent. Regular
|
||||
proportions are closer but the gap between Regular and the heavy body types we need is
|
||||
too large to bridge with any scaling approach. Bone scaling was tested. It failed.
|
||||
|
||||
**What to keep:** The 65-bone skeleton. The Universal Animation Library.
|
||||
|
||||
**What to replace:** Every body mesh. Fork from Quaternius and hand-author body types
|
||||
on the shared 65-bone rig. D-159 locks this at 4 adult types x 2 genders + 1 child = 9
|
||||
base meshes. All 9 use the same skeleton. All animations work on all body types.
|
||||
|
||||
Body meshes must be segmented, not monolithic. See the body segmentation finding below.
|
||||
|
||||
|
||||
### 2. Does Trellis clothing attach to the Quaternius rig?
|
||||
|
||||
**Clothing: FAILED. Heads: VALIDATED. Accessories: VIABLE (untested).**
|
||||
|
||||
**Clothing — FAILED.** Auto-rigging Trellis clothing outputs via Data Transfer modifier
|
||||
(Blender built-in) produced 4-22% vertex match rates. Both the tunic and pauldron outputs
|
||||
produced catastrophic fragment geometry — no usable deformation. Robust Laplacian
|
||||
inpainting was tested as the more sophisticated fallback and failed at the same rate.
|
||||
|
||||
The failure is not algorithmic. The problem is geometric: a garment wraps a body and sits
|
||||
close to the body surface. A Trellis mesh is a closed sculpture of an object. Those are
|
||||
topologically incompatible inputs for weight transfer. No algorithm resolves that, because
|
||||
the input data contains no usable signal about bone proximity or influence falloff.
|
||||
|
||||
The Trellis generative clothing pipeline is closed. It failed clearly and for a structural
|
||||
reason that does not change with better tooling.
|
||||
|
||||
**Heads — VALIDATED.** Trellis generates clean low-poly head meshes at appropriate polygon
|
||||
density for toon rendering, at correct scale relative to a character body. Heads attach via
|
||||
BoneAttachment3D to the Head bone — single-bone attachment, no skinning required. The
|
||||
Trellis head sits on the Quaternius neck correctly at gameplay zoom. Skin tone mismatch
|
||||
is visible at editor zoom but is solvable via toon shader tinting (data problem, not
|
||||
architecture problem).
|
||||
|
||||
This is the structural reason heads work while clothing fails: a head follows one bone.
|
||||
Clothing must follow thirty bones with correct influence falloff. Trellis cannot encode
|
||||
bone influence, and no auto-rig algorithm can infer it from a sculpture.
|
||||
|
||||
**Accessories (hats, held items) — VIABLE, untested.** Single-bone attachment via
|
||||
BoneAttachment3D, same logic as heads. Architecturally sound. Test when needed.
|
||||
|
||||
|
||||
### 3. Are the two pipelines visually consistent?
|
||||
|
||||
**YES at gameplay zoom. Skin tone mismatch at editor zoom is fixable.**
|
||||
|
||||
A Trellis head on a Quaternius body through the toon shader reads as a coherent character
|
||||
at gameplay zoom. The toon pipeline suppresses texture heterogeneity — what renders is
|
||||
shape and color, not surface origin. The two sources do not fight aesthetically at the
|
||||
zoom level that matters.
|
||||
|
||||
The skin tone mismatch between Trellis texture and Quaternius body texture is visible at
|
||||
editor zoom (mugshot context, D-146/D-158). This is not a structural problem. The
|
||||
`toon_masked` shader supports `tint_color` per material. Matching skin tone tints on head
|
||||
and body materials resolves it. Data problem, not architecture problem.
|
||||
|
||||
The baked ambient occlusion in Quaternius body textures fights the shader's clean shadow
|
||||
step at mugshot zoom. Flat toon mode is the correct default for editor context.
|
||||
`shadow_strength` at 0.2 suppresses most of this at gameplay zoom. Verify textured mode
|
||||
at heavy zoom before committing it to the character editor.
|
||||
|
||||
---
|
||||
|
||||
## Evidence Table
|
||||
|
||||
| Phase | Item | Result |
|
||||
|---|---|---|
|
||||
| Phase 1 | Quaternius 65-bone skeleton + animation library import | VALIDATED — clean, library naming compatible post-Jan 2026 update |
|
||||
| Phase 1 | Toon shader (flat mode) on Quaternius mesh | VALIDATED — works unmodified |
|
||||
| Phase 1 | Toon shader (textured mode) on Quaternius mesh | VALIDATED at gameplay zoom — verify at mugshot zoom |
|
||||
| Phase 1 | Outline via inverted hull, duplicate + material override | VALIDATED at 0.006 width for gameplay zoom |
|
||||
| Phase 1 | Outline at mugshot/editor zoom | OPEN — 0.010-0.012 recommended, unverified |
|
||||
| Phase 1 | Outline color `(0.08, 0.08, 0.12)` | VALIDATED — correct register |
|
||||
| Phase 1 | Character legibility at gameplay zoom | VALIDATED — silhouette dominant, readable as human |
|
||||
| Phase 1 | Character legibility at crowd scale | VALIDATED — shape reads at distance |
|
||||
| Phase 2 | Outfit mesh attachment to skeleton | VALIDATED — attaches and deforms with animation |
|
||||
| Phase 2 | Outfit body-type lock | CONFIRMED — Superhero clothing clips on Regular and vice versa |
|
||||
| Phase 2 | Head mesh availability in outfit files | CONFIRMED ABSENT — head baked into body mesh, not in outfit files |
|
||||
| Phase 2 | Quaternius outfit pack scope | CONFIRMED — one pack only (Fantasy, 62 parts). No Sci-Fi, Modern, Casual. |
|
||||
| Phase 3 | Trellis clothing auto-rigging | FAILED — 4-22% vertex match, catastrophic deformation on both test items |
|
||||
| Phase 3 | Robust Laplacian inpainting as fallback | FAILED — same match rate, same deformation |
|
||||
| Phase 3 | Trellis clothing mesh (any approach) | FAILED — topology incompatible with weight transfer by design |
|
||||
| Phase 3 | Trellis head attachment via BoneAttachment3D | VALIDATED — clean single-bone follow, correct scale and position |
|
||||
| Phase 3 | Bone scaling for body type variants (Blender) | FAILED — catastrophic mesh deformation at joints across all 9 variant attempts |
|
||||
| Phase 3 | Runtime per-segment bone scaling (Godot) | FAILED — same mesh collapse as Blender-side; skinned meshes cannot be runtime-scaled via bone pose |
|
||||
| Phase 3 | Body segmentation into 15 bone-group regions | VALIDATED — seamless rendering with 1-ring vertex overlap |
|
||||
| Phase 3 | Per-segment visibility control | VALIDATED — can hide torso segment when clothed; segment boundaries invisible |
|
||||
| Phase 3 | Surface Deform batch pipeline for clothing fitting | PARTIALLY VALIDATED — script runs and produces fits; visual quality at extreme body types (heavy) unverified |
|
||||
| Visual | Trellis head + Quaternius body through toon shader | VALIDATED at gameplay zoom — reads as coherent character |
|
||||
| Visual | Skin tone mismatch | CONFIRMED VISIBLE at editor zoom — solvable via shader tinting |
|
||||
| Visual | Textured mode at mugshot zoom | OPEN — baked AO contamination risk unverified |
|
||||
| Visual | Superhero proportions vs life-sim intent | REJECTED — communicates hero archetype, contradicts D-153 |
|
||||
|
||||
---
|
||||
|
||||
## Body Segmentation: Key Finding
|
||||
|
||||
The body mesh must be segmented into regions, not built as a monolithic mesh.
|
||||
|
||||
Phase 3 validated a segmentation into 15 bone-group regions with 1-ring vertex overlap
|
||||
at each boundary. Overlap is what makes this work: each segment shares a ring of vertices
|
||||
with its neighbor, so there is no visible seam or gap during animation. Without overlap,
|
||||
animation deformation opens cracks at segment boundaries.
|
||||
|
||||
**Why segmentation matters:**
|
||||
|
||||
Per-segment visibility control is the architectural win. When a character is clothed, the
|
||||
torso body segment is hidden and the clothing mesh takes its place. Without segmentation,
|
||||
hiding the body to show clothing removes the head and limbs simultaneously. With
|
||||
segmentation, each region is independently addressable.
|
||||
|
||||
Head separation enables: Trellis-generated unique faces per character, idle look-around
|
||||
animation (head bone drives head mesh independently of body), helmet and hood equipment
|
||||
as head-slot swaps, hair as a separate mesh on the Head bone (enables hairdresser mechanic).
|
||||
|
||||
The 15 bone-group regions are the runtime slot architecture. The compositor selects and
|
||||
attaches per slot. Segmentation is not optional on the new body meshes — it is the
|
||||
prerequisite for everything else.
|
||||
|
||||
---
|
||||
|
||||
## What the Compositor Actually Is
|
||||
|
||||
The compositor brief based on pre-spike assumptions is stale. Rewrite it before TYRE
|
||||
writes production compositor code.
|
||||
|
||||
**What the compositor is not:**
|
||||
- It is not a clothing generator.
|
||||
- It does not scale clothing at runtime. Runtime bone scaling was tested. It failed.
|
||||
- It does not procedurally generate body type variants. Bone scaling was tested. It failed.
|
||||
|
||||
**What the compositor is:**
|
||||
A runtime assembler. It selects pre-authored meshes and attaches them. All generation
|
||||
and fitting happens offline. The compositor does not scale, deform, or generate anything.
|
||||
|
||||
**Slot architecture:**
|
||||
|
||||
| Slot | Source | Attachment |
|
||||
|---|---|---|
|
||||
| Body | 9 hand-authored meshes (D-159) on shared 65-bone skeleton | Skinned to skeleton |
|
||||
| Head | Trellis-generated, unique per character | BoneAttachment3D to Head bone |
|
||||
| Hair | Separate mesh per hairstyle | BoneAttachment3D to Head bone, scale-adjusted per cranium |
|
||||
| Clothing | Authored on reference body, pre-baked per body type via Blender Surface Deform | Skinned to skeleton, replaces body segment |
|
||||
| Accessories | Single-mesh rigid items | BoneAttachment3D to appropriate bone |
|
||||
|
||||
**Clothing pipeline (offline, not runtime):**
|
||||
Author one clothing mesh on the reference body type. Run the Blender Surface Deform
|
||||
batch pipeline to generate a fitted variant for each of the 9 body types. Export all
|
||||
variants. At runtime, the compositor loads the variant matching the character's body type.
|
||||
Color variation via toon shader tinting and multi-region recolor masks.
|
||||
|
||||
The `CharacterVisualDescriptor` that TYRE specced (body type, head ID, hair ID, per-slot
|
||||
clothing ID, tint values) is the correct interface. Write that before writing any
|
||||
production compositor code.
|
||||
|
||||
---
|
||||
|
||||
## Architectural Decisions Confirmed
|
||||
|
||||
**D-158:** Frontal camera angle (-5 degrees) for editor/mugshot context. Dramatic angle
|
||||
(-30 degrees) for gameplay. Confirmed. The dramatic angle is the production gameplay angle.
|
||||
|
||||
**D-159:** 4 adult body types x 2 genders + 1 child = 9 base meshes. Confirmed. These
|
||||
must be hand-authored. No procedural shortcut exists — bone scaling failed, mesh stretching
|
||||
is not viable at the body type deltas we need. Each mesh is its own authored asset on the
|
||||
shared skeleton.
|
||||
|
||||
**Body meshes must be segmented.** This follows from Phase 3. Monolithic body meshes
|
||||
block the compositor architecture. All 9 body meshes must be authored with the 15-region
|
||||
segmentation from the start.
|
||||
|
||||
**Head is always separate.** Heads are never baked into body or clothing meshes. The
|
||||
Quaternius Fantasy pack outfit files bake the head into the body — this is a known
|
||||
problem with those files, not a pattern to follow.
|
||||
|
||||
**Clothing is pre-baked per body type.** The Surface Deform batch pipeline is the
|
||||
mechanism. Runtime fitting was tested and does not exist as a viable path.
|
||||
|
||||
**Source tier acquisition:** $5/month Quaternius Patreon when clothing work begins. One
|
||||
month is sufficient to download source Blender files. The CC0 license means you own
|
||||
the files after cancelling. FBX/GLB standard-tier imports lose the named vertex groups
|
||||
that batch scripts require. Source tier is the prerequisite for the batch pipeline.
|
||||
|
||||
---
|
||||
|
||||
## Open Questions
|
||||
|
||||
**Q: Can Surface Deform produce visually acceptable clothing at extreme body types?**
|
||||
The batch pipeline script runs and produces output. Visual quality at heavy/stocky
|
||||
body types has not been verified at gameplay or mugshot zoom. This must be answered
|
||||
before committing to Surface Deform as the production pipeline.
|
||||
|
||||
**Q: What does the Quaternius Source tier actually include for body type coverage?**
|
||||
The standard tier provides Superhero, Regular, and Tiny. Whether Source tier includes
|
||||
additional undocumented body types (including Regular and Tiny bodies in full Source
|
||||
format) needs verification when subscribing.
|
||||
|
||||
**Q: How many base clothing meshes are needed for v0.2 proof-of-life?**
|
||||
The fantasy pack's 62 parts are genre-incompatible with an industrial sci-fi life-sim.
|
||||
Minimum viable clothing catalogue for v0.2 is undefined. Needs a scope decision before
|
||||
clothing work begins.
|
||||
|
||||
**Q: Can the batch pipeline headlessly process shape key variations on purchased clothing
|
||||
packs?**
|
||||
The scripting research documents the approach and reliability estimates. Headless Surface
|
||||
Deform bind requires careful context setup and has not been end-to-end tested. Surface
|
||||
Deform in headless mode is marked MEDIUM reliability in the research — this needs a
|
||||
practical test before the pipeline is treated as production-ready.
|
||||
|
||||
---
|
||||
|
||||
## Failed Approaches — Do Not Revisit
|
||||
|
||||
These were tested. They failed for structural reasons. Do not investigate them further.
|
||||
|
||||
**Trellis clothing auto-rigging.** Trellis outputs are closed sculptures. They are not
|
||||
garments. Weight transfer requires geometric proximity between the clothing mesh and the
|
||||
skeleton. Trellis geometry has no such proximity. No algorithm resolves this.
|
||||
|
||||
**Bone scaling for body type variants (Blender-side).** Scaling bones to change body
|
||||
proportions causes catastrophic mesh deformation at joints. The skinned mesh cannot
|
||||
accommodate non-uniform bone scaling without breaking weight painting assumptions. All
|
||||
9 variant attempts failed.
|
||||
|
||||
**Runtime per-segment bone scaling (Godot-side).** Same failure mode as Blender-side.
|
||||
Skinned meshes in Godot cannot be runtime-scaled via bone pose modifications. The mesh
|
||||
collapses at joints identically to the Blender result. This was tested independently
|
||||
and failed independently.
|
||||
|
||||
**Trellis-generated clothing meshes as a general path.** Both the mesh generation
|
||||
approach and the auto-rigging approach are closed. The combination was the original
|
||||
hypothesis. Both legs of it failed.
|
||||
|
After Width: | Height: | Size: 900 KiB |
|
After Width: | Height: | Size: 942 KiB |
|
After Width: | Height: | Size: 966 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 4.1 MiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 4.5 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 3.8 MiB |
|
After Width: | Height: | Size: 3.1 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 4.1 MiB |
|
After Width: | Height: | Size: 3.0 MiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 4.1 MiB |
|
After Width: | Height: | Size: 1.6 MiB |
|
After Width: | Height: | Size: 4.5 MiB |
|
After Width: | Height: | Size: 4.8 MiB |
|
After Width: | Height: | Size: 14 MiB |
|
After Width: | Height: | Size: 9.4 MiB |
|
After Width: | Height: | Size: 6.3 MiB |
|
After Width: | Height: | Size: 12 MiB |
|
After Width: | Height: | Size: 10 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 3.7 MiB |
|
After Width: | Height: | Size: 3.1 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 3.9 MiB |
|
After Width: | Height: | Size: 3.0 MiB |