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:
parent
23b0c88178
commit
5355222dc7
|
|
@ -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 시점에 이미 적용되어 물리 통과 정합.
|
||||
|
|
|
|||
Loading…
Reference in New Issue