Add unique identifier for test_phase3c_walk_recovery.gd
This commit is contained in:
@@ -230,9 +230,9 @@ func is_walking() -> bool
|
||||
1. Guard `state == RigState.ANIMATED`.
|
||||
2. `_walk_target_feet = target`.
|
||||
3. `_nav_agent.target_position = target` (global ground point — see D1).
|
||||
4. Set facing from horizontal delta (`dx < -0.5` → `FacingProfile.LEFT` + play
|
||||
`walk_left`; `dx > 0.5` → `FacingProfile.RIGHT` + play `walk_right`; vertical-only →
|
||||
keep facing, play `walk_right`).
|
||||
4. Set facing from horizontal delta (`dx < -0.5` → `FacingProfile.LEFT`; `dx > 0.5` →
|
||||
`FacingProfile.RIGHT`; vertical-only → keep facing), then play the canonical `walk_right`
|
||||
clip (root-mirrored via `Master.scale.x = -1` for LEFT; `walk_left` is not used at runtime).
|
||||
5. `_anim_player.play(name)` (walk anims are authored `LOOP_LINEAR`, so they loop).
|
||||
6. `_walking = true`, `_walk_done = false`.
|
||||
|
||||
@@ -301,9 +301,10 @@ ragdolled rig has no stale walk/path state. The agent is a passive helper node (
|
||||
body) — it does not interfere with the ragdoll network, and `_update_walking`'s
|
||||
`state != ANIMATED` guard prevents it being read while ragdolled.
|
||||
|
||||
> The `walk_left`/`walk_right` animations key the IK targets in-place and carry a discrete
|
||||
> `.:facing_profile` track, so playing the matching clip both swings limbs and (re)sets the
|
||||
> facing profile/z-order/head-flip. Root translation composes with the in-place limb
|
||||
> The canonical `walk_right` animation keys the IK targets in-place; `walk_to()` sets the facing
|
||||
> profile explicitly (`LEFT` root-mirrors the rig via `Master.scale.x = -1` and plays the same
|
||||
> `walk_right` clip mirrored; `RIGHT`/`FORWARD` play it unmirrored — `walk_left` is no longer used
|
||||
> at runtime). Root translation composes with the in-place limb
|
||||
> animation. Movement is **kinematic** (`global_position.move_toward` in `_physics_process`;
|
||||
> the rig is a plain `Node2D`, no `CharacterBody2D`), so no `NavigationAgent2D.velocity` /
|
||||
> `velocity_computed` RVO handling is used (avoidance is disabled).
|
||||
|
||||
Reference in New Issue
Block a user