fix(BT12-Dev): BT102 떨어짐 검출 텔레포트 폐기 (절벽 텔레포트·공중 spawn 회귀 정정)

PD 영역 1+3:
- "절벽에 닿으면 텔레포트" 회귀 — 이전 정상 방향 전환 동작
- "공중 spawn Enemy가 떨어지지 않고 이전 위치로 되돌아감"

근본 (단일):
- EnemyController.Update의 BT102 (line 360-376) 떨어짐 검출 텔레포트
- _isInitialized && y < _startY - fallThreshold(1.0) → 시작 위치 텔레포트
- 절벽 케이스: TriggerReverse 방향 전환 직후 fallThreshold 진입 → 텔레포트가 방향 전환을 덮어씀
- 공중 spawn 케이스: 떨어지는 즉시 fallThreshold 진입 → spawn 위치 복귀 무한 반복

fix:
- BT102 떨어짐 검출 텔레포트 영역 폐기
- 자연 낙하 + TriggerReverse 절벽 방향 전환만 동작
- 공중 spawn Enemy도 자연 낙하·KinematicObject Cast로 GameObject 위 정착

영역 2 (렉) 별건 — PD 측정 영역 필요·후속 안건.

회귀 영역 X:
- TriggerReverse cliffCheck Raycast 절벽 방향 전환 정합
- KinematicObject 자연 낙하·IsGrounded 정합
- Player·Enemy 충돌·발판 통과·Variant 영역 영역 X

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-05-12 16:40:10 +09:00
parent 23b0c88178
commit 5355222dc7
1 changed files with 4 additions and 17 deletions

View File

@ -357,23 +357,10 @@ namespace Platformer.Mechanics
// BT89 — 자동 patrol + 즉시 벽 검출 + 1~3초 대기 영역
UpdatePatrol();
// BT102 — 떨어짐 검출 영역: y < _startY - fallThreshold 시 = 시작 위치 텔레포트 복귀
// PD 명시 (2026-05-08): 투명벽 폐기·떨어짐 차단 다른 방법
// 단순·근본 방법 — 떨어진 후 검출 영역 즉시 복귀 (영구 떨어짐 X)
if (_isInitialized && transform.position.y < _startY - fallThreshold)
{
Vector3 safe = new Vector3(_startX, _startY, transform.position.z);
transform.position = safe;
if (_body != null) _body.position = safe;
if (control != null) control.velocity = Vector2.zero;
_patrolPhase = 0;
SetNextPatrolTarget();
_phaseCooldown = PHASE_COOLDOWN;
_stuckTimer = 0f;
_lastX = _startX;
_waitTimer = Random.Range(waitMinTime, waitMaxTime);
if (control != null) control.move.x = 0f;
}
// BT12-Dev 2026-05-12 — BT102 떨어짐 검출 텔레포트 폐기 (PD 지시):
// 1. 절벽 닿을 때 텔레포트 회귀: TriggerReverse 방향 전환과 충돌해 텔레포트 우선 적용
// 2. 공중 spawn Enemy 회귀: 떨어진 후 fallThreshold 진입 시 spawn 위치 복귀
// 두 회귀 모두 BT102 텔레포트 원인 → 폐기. 자연 낙하 + TriggerReverse만 영역.
// BT12-Dev 2026-05-11 — 밟기 공격 폐기 (PD 지시): PlayerEnemyCollision 발화 제거.
// Player ↔ Enemy IgnoreCollision은 Awake 시점에 이미 적용되어 물리 통과 정합.