Docs: Blender clip pipeline in session log; CLAUDE.md Humanoid correction (net-zero)
The 'Synty share one Generic skeleton' note was WRONG - the pipeline is HUMANOID (CharactersAvatar isHuman, muscle-curve clips). Corrected + the Blender clip recipe added; paid for by archiving Aim-controls, the URP m_AssetVersion blocker, VolumeProfile persistence, HDRP-convert and the HudTheme bullets (verbatim in the gotchas archive, 2026-07-06 section). 39,959 bytes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -85,11 +85,28 @@ stale copy interpolates `Tuning.StartingOre`; expedition ground receded via proj
|
||||
fleet died mid-run ([[workflow-agent-quota-failures-look-clean]]) — salvaged the completed verdicts from
|
||||
`journal.jsonl` and hand-synthesized; the folded design is in [[Iteration_2026-07_CoopHades]].
|
||||
|
||||
## Blender-authored animation clips — BUILT + Play-validated (same session, operator: "you blender author, do it fully")
|
||||
|
||||
**The pipeline is HUMANOID, not Generic** — `CharactersAvatar.isHuman=true`, clips are muscle curves (CLAUDE.md
|
||||
corrected; muscle retargeting plays one clip on the player AND every monster rig). Four clips authored
|
||||
programmatically in Blender on `PolygonSyntyCharacter.fbx` (full-body keys per pose; world-space hip-drop helper —
|
||||
the armature object carries a 90° X FBX rotation, so naive "down" goes backward; poses verified by EEVEE renders +
|
||||
numeric bone world positions): **A_Death_FallBack** (0.90 s = exactly the 54-tick corpse window; recoil → fall →
|
||||
flat-on-back → settle), **A_Fire_OneHand**, **A_Dash_Lean**, **A_HitReact**. Export: per-action FBX, Key All Bones +
|
||||
Force Start/End + FBX Units Scale. Import: `CreateFromThisModel` (**CopyFromOther FAILS on Blender's extra `Armature`
|
||||
node** — "Transform 'Armature' not found in HumanDescription"); all root motion baked into pose. Wiring: Death state
|
||||
motion swapped on BOTH controllers (was a crouch idle); player gains `IsFiring`+Fire and `IsDashing`+Dash states
|
||||
(AnimatorController API); `PlayerAnimationDriveSystem` routes `FireActive` to IsFiring (melee owns IsAttacking
|
||||
again) + derives IsDashing from the local predicted `DashState` window (not replicated → remotes skip the lean).
|
||||
A_HitReact imported, wiring deferred (needs a hit-tick source). **Play-validated**: forced `IsDead` (via the Rukhanka
|
||||
parameter-hash buffer write, driver disabled) renders the soldier flat on the ground in-game — the
|
||||
Blender→FBX→Humanoid→Rukhanka chain proven end-to-end. 456/456.
|
||||
|
||||
## Next session
|
||||
|
||||
Phase 1 leftovers: real death/fire/dash clips (needs the Synty Sword/Bow Combat animation packs — operator decision
|
||||
to buy, or Blender-author on the shared Generic skeleton), creature locomotion for monsters (PolygonDog re-rig for the
|
||||
Swarmer is inventoried), remaining clarity swaps (distinct spit/pickup/harvest meshes, weapon meshes, projectile point
|
||||
lights), knob rows for the new tunables in the overlay UI. Then the **Phase 1 gate: one honest solo campaign to
|
||||
Victory + a LAN lap**. Phase 2 (hub-ification) requires the adversarial design review before code. Blender workstream
|
||||
(portal gate ring, hub crystal, boss kitbash, decals) can start any time.
|
||||
Phase 1 leftovers: HitReact wiring, creature locomotion for monsters (PolygonDog re-rig for the Swarmer is
|
||||
inventoried), remaining clarity swaps (distinct spit/pickup/harvest meshes, weapon meshes, projectile point lights),
|
||||
knob rows for the new tunables in the overlay UI. Then the **Phase 1 gate: one honest solo campaign to Victory + a
|
||||
LAN lap** (now also gating: death-fall feel, fire thrust, dash lean, corpse-window timing). Phase 2 (hub-ification)
|
||||
requires the adversarial design review before code. Blender hero-prop workstream (portal gate ring, hub crystal, boss
|
||||
kitbash, decals) is next in the art track — the clip pipeline is proven.
|
||||
|
||||
Reference in New Issue
Block a user