fix(BT12-Dev): UpdatePatrol IsGrounded=True 영역만 동작 (공중 낙하 시 skip)
PD: "(나)안 — 어느 위치에 있든 절벽 회피·단 순찰 패턴 아닐 때 (공중 낙하 등) 상관 없음" 근본 정리: - cliffCheck Raycast는 기존부터 정합 (Layer 0 발판·바닥 모두 hit) - 공중 낙하 시 cliffCheck 적용되면 즉시 TriggerReverse → 자연 낙하 방해 fix: - UpdatePatrol 시작 영역에 IsGrounded 가드 - control.IsGrounded=False (공중·피격 밀림·spawn 직후 낙하 등) → patrol·cliffCheck skip move.x=0·stuckTimer=0·return - KinematicObject 자연 낙하·바닥/발판 정착 → IsGrounded=True → patrol 재개·cliffCheck 정합 회귀 영역 X: - 영역 1 (애니메이션 Clip path)·영역 2 (Collider bounds) 정합 유지 - TriggerReverse·MeasureSafeWalkDistance·KinematicObject 영역 영역 X Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
daad31171b
commit
fc351795e7
|
|
@ -277,6 +277,15 @@ namespace Platformer.Mechanics
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// BT12-Dev 2026-05-12 — IsGrounded=False 영역 patrol·cliffCheck skip (PD: 공중 낙하 시 자연 낙하 우선)
|
||||||
|
// 피격 밀림·공중 spawn 영역 KinematicObject 자연 낙하 → 바닥/발판 정착 → IsGrounded=True → patrol 재개.
|
||||||
|
if (control == null || !control.IsGrounded)
|
||||||
|
{
|
||||||
|
if (control != null) control.move.x = 0f;
|
||||||
|
_stuckTimer = 0f;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// BT107 — BT106 y 강제 고정 영역 폐기 (PD 보고: 공중 부유 영역 원인)
|
// BT107 — BT106 y 강제 고정 영역 폐기 (PD 보고: 공중 부유 영역 원인)
|
||||||
|
|
||||||
// 대기 영역 — control.move.x = 0 + Timer 감소
|
// 대기 영역 — control.move.x = 0 + Timer 감소
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue