Docs: MC-4 follow-up fixes (anim-sink root cause + enemy telegraph)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -42,5 +42,11 @@ Built the thing DR-030 deferred — minimally + correctly per the MC-4 review's
|
||||
- **The MC-4 fun-gate still stands** — now with the swing animation + a clear range arc, run the feel pass (left-click = melee). Tune the swing curves in `PlayerRigTools` (re-run the menu item) + the cone/range live via `DEV ▲`.
|
||||
- After MC-4 passes → **EB-1 (machines can die)** is the next committed milestone.
|
||||
|
||||
## Follow-up fixes (operator review, same day)
|
||||
Operator: *"clicking melee makes half the player model sink into the floor — also happens with enemies. Fix it + prevent it in future. Also add the same clarity to enemy attacks (can't tell range/hitbox/when to dodge)."*
|
||||
|
||||
1. **The attack-animation sink — ROOT CAUSE + fix (player AND enemy).** The procedural attack clips key ONLY the `Root` bone's rotation, but the Attack/MeleeSwing states had **`writeDefaultValues = true`**. The `Root` bone carries the rig's mesh-positioning offset (Player.prefab `Root` localPosition = `(0, -0.90, 0)`, identity rotation) and the `Hips`/`Spine` carry big authored orientations `(0,270,278)`/`(0,180,191)`. With WDV=true a **partial** (Root-only) clip resets EVERY un-keyed bone to Rukhanka's defaults (~identity) → the body collapses/folds into the floor; the locomotion clips never hit this because they key the full skeleton. **Fix: `writeDefaultValues = false` on the attack states** (a partial clip must leave un-keyed bones in their pose and only lean the `Root`). Patched both `AC_PlayerTopDown` (MeleeSwing) + `AC_EnemyTopDown` (Attack) AND both recipes (`PlayerRigTools`/`EnemyRigTools`) so a rebuild can't regress it. Play-verified: the forced MeleeSwing pose stands intact (no sink). **General rule for future procedural overlay clips: partial Root/bone-subset clips ⇒ `writeDefaultValues = false`.**
|
||||
2. **Enemy attack telegraph (the same clarity).** `CombatFeedbackSystem.UpdateEnemyDanger` paints a red ground **danger cone** at each enemy while its `AttackWindup` counts down — oriented along the enemy's facing, sized to `EnemyStats.AttackRange`, brightening + scaling as the strike nears (`intensity = 1 - ticksRemaining/22`) so the player reads WHERE + WHEN to dodge. Client-only observe-only, one pooled mesh/enemy keyed by Entity, pruned each frame (same idiom as the projectile trails + the player slash-arc). Play-verified: 14-enemy wave, 8 telegraphs rendering at once, zero console errors. Cone size/colour/intensity are tunable in the system.
|
||||
|
||||
## Links
|
||||
[[2026-06-10_MC4_Combo_Melee]] · [[DR-030_MC4_Combo_Melee_Primary_Verb]] · [[DR-022_Animation_Pipeline_Rukhanka_Synty]] · [[DR-023_Enemy_Animation_MonsterMash]] · [[Path_to_Fun]]
|
||||
|
||||
Reference in New Issue
Block a user