PD: "6c981ed 정상 이동·뭐가 달라진건지 확인"
근본 (6c981ed vs 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>