Bake the rest pose, warp to the contract, and record the failing silhouette gate
This commit is contained in:
1 parent
cff3937c16
commit
a2ae9e03c3
2 files changed
+34
-1
No files matched your search
@@ -72,9 +72,14 @@ baseline sheet.
|
||||
Head←Head, Shoulder←UpperArm (collar collapses), Elbow←LowerArm, Hand←Wrist,
|
||||
Hip←UpperLeg, Knee←LowerLeg. Optional: 30 finger bones + Foot.L/R (toe); dropped: PT.L/R
|
||||
pole targets. Quaternius hierarchy measured (Foot is a child of Root, not LowerLeg).
|
||||
- [ ] Bake the rest pose and proportion warp to the contract hip, knee, shoulder, elbow,
|
||||
- [x] Bake the rest pose and proportion warp to the contract hip, knee, shoulder, elbow,
|
||||
wrist and head positions. Measure the warp at every joint and record the silhouette
|
||||
deltas; do not accept a distorted deltoid or shortened arm.
|
||||
Arm-down bake works (`warp_full.py`: pose-rotate UpperArm −90° + modifier-apply +
|
||||
`armature_apply`). Warp deltas recorded in `docs/npc-model-sourcing.md`: arm ×1.63,
|
||||
leg ×0.74, torso ×1.61, hip −0.249, shoulder +0.122. Vision-judged as distorted
|
||||
(paddle hands, lost forearms, stretched shins). **Gate fails — Stage 2 (62-joint runtime
|
||||
ADR) indicated; do not rebuild on the warped base.**
|
||||
- [ ] Skin the Quaternius mesh and verify Idle, Walk, seated and arm-down poses. The old
|
||||
MPFB/arm-retarget warps are not a reference; judge the Quaternius result directly.
|
||||
- [ ] Retarget Idle and Walk from the 24 Quaternius clips to the contract rig; discard
|
||||
|
||||
@@ -170,6 +170,34 @@ Optional extras (allowed by the contract; kept if they survive within 24,000 ver
|
||||
Dropped (never shipped): `PT.L/R` (pole targets carry no deforming weights), and the
|
||||
`Root`/`Body`/collar-`Shoulder` collapse bones above.
|
||||
|
||||
## Rest-pose and proportion-warp measurement (2026-11-05)
|
||||
|
||||
The rest-pose bake (T-pose → arm-down) works: rotate the `UpperArm.L/R` pose bones −90° around
|
||||
their local X, apply the Armature modifier to bake the deformation, then `armature_apply` to bake
|
||||
it as the new rest pose (see `tmp/npc-research/warp_full.py`). The mesh deforms cleanly to the
|
||||
arm-down pose (deformed bounds x ±0.221 vs the T-pose ±0.811).
|
||||
|
||||
The proportion warp to the contract positions is measured and it **distorts the silhouette**:
|
||||
|
||||
| Joint | Quaternius | Contract | Delta |
|
||||
| --- | --- | --- | --- |
|
||||
| Hips height | 0.869 | 0.62 | −0.249 (lower hip) |
|
||||
| Head top | 1.614 | 1.82 | +0.206 (raise head) |
|
||||
| Shoulder x | 0.148 | 0.27 | +0.122 (widen) |
|
||||
| Arm (shoulder→wrist) | 0.402 | 0.60 | ×1.49 |
|
||||
| Arm (shoulder→hand tip) | 0.429 | 0.70 | ×1.63 |
|
||||
| Leg (hip→ankle) | 0.835 | 0.62 | ×0.74 |
|
||||
| Torso (hip→head) | 0.745 | 1.20 | ×1.61 |
|
||||
|
||||
The vision judge reads the warped mesh as: paddle/claw hands (the 1.63× arm stretch blows the
|
||||
hand out), forearms lost into the torso, stretched shins, and "long legs + short torso". The arm
|
||||
must either stay short (a "shortened arm" vs the contract hand) or stretch 1.63× (a distorted
|
||||
deltoid + hand) — both are the gate's rejection conditions.
|
||||
|
||||
**Finding:** the Stage 1 proportion warp cannot preserve the Quaternius silhouette at the
|
||||
contract proportions; the gate fails and Stage 2 (a 62-joint runtime ADR) is indicated. Do not
|
||||
start the 12-variant rebuild on the warped base.
|
||||
|
||||
## Contract mismatch
|
||||
|
||||
The expensive part is the rig and proportions, not the mesh. The source has a
|
||||
|
||||
Reference in new issue
Block a user