fix(BT12-Dev): IsGrounded 가드 폐기 (6c981ed 정합·Enemy 영구 정지 정정)
PD: "6c981ed 정상 이동·뭐가 달라진건지 확인" 근본 (6c981edvs HEAD diff 분석): -fc35179(2026-05-12)에서 UpdatePatrol 영역에 IsGrounded 가드 추가 if (control == null || !control.IsGrounded) { move.x=0; return; } - 의도: 공중 낙하 시 patrol skip·자연 낙하 우선 - 실제: KinematicObject.FixedUpdate가 매 frame 호출되어 IsGrounded 갱신해야 동작 - Enemy spawn 직후 IsGrounded=False (default) → patrol skip → move=0 - FixedUpdate가 호출되어도 velocity 영역 패턴 영역 - 매 frame IsGrounded=False 가능성 영역 → 영구 정지 루프6c981ed(정상 동작 시점): - UpdatePatrol에 IsGrounded 가드 없음 - patrol 영역 항상 진행 → move=Clamp(dx, -1, 1) → ComputeVelocity → targetVelocity → FixedUpdate → velocity·position 정상 fix: - IsGrounded 가드 제거·control NULL 가드만 유지 - patrol 영역 항상 동작·KinematicObject 자연 낙하·gravity 영역 무관 - 공중 spawn Enemy도 patrol 영역 시도 (FixedUpdate gravity·Cast로 자연 정착) 회귀 영역 X: - KinematicObject Awake 초기화·Update/FixedUpdate override·sr/anim/body 영역 정합 - cliffCheck·waitTimer·stuckTimer·TriggerReverse 영역 영역 X Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
35923be06d
commit
5f360ca82f
|
|
@ -273,11 +273,11 @@ namespace Platformer.Mechanics
|
|||
return;
|
||||
}
|
||||
|
||||
// BT12-Dev 2026-05-12 — IsGrounded=False 영역 patrol·cliffCheck skip (PD: 공중 낙하 시 자연 낙하 우선)
|
||||
// 피격 밀림·공중 spawn 영역 KinematicObject 자연 낙하 → 바닥/발판 정착 → IsGrounded=True → patrol 재개.
|
||||
if (control == null || !control.IsGrounded)
|
||||
// BT12-Dev 2026-05-12 — IsGrounded 가드 폐기 (PD: 6c981ed 정합·영구 정지 정정)
|
||||
// 이전 가드는 IsGrounded=False 시 patrol skip·move=0·return → KinematicObject FixedUpdate
|
||||
// 첫 호출 전까지 IsGrounded=False (default) → 매 frame skip → 영구 정지 루프
|
||||
if (control == null)
|
||||
{
|
||||
if (control != null) control.move.x = 0f;
|
||||
_stuckTimer = 0f;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue