docs(BT12-Dev): PD #2 재발 정정 — Wall OverlapPoint (대화로그 엔트리 10)

- 근본 원인 — Static (Trigger) ↔ Static (Solid) Unity Physics OnTriggerEnter2D 발화 X
- fix — Projectile.Update Physics2D.OverlapPoint Wall Layer 검출 → SelfDestruct
- PD #1 (적이 죽지 않음) — MCP 검증 정합·Editor frame 진행 영역 영역 — PD 직접 Play 검증 영역 영역
- EerieVillage `3f69cc0` push 정합
This commit is contained in:
깃 관리자 2026-05-10 16:46:53 +09:00
parent 49c5afee08
commit 13cbc76dce
1 changed files with 62 additions and 0 deletions

View File

@ -725,3 +725,65 @@ execute_code 영역 — `SerializedObject.FindProperty("Icon").objectReferenceVa
- PD 직접 Play 검증 — 투사체 영역 Camera 영역 영역 영역 영역 영역 영역 영역 영역 영역·벽 영역 영역·Enemy 4 hit kill·DoT·Stun·Slow 시각·카드 영역 아이콘 노출 - PD 직접 Play 검증 — 투사체 영역 Camera 영역 영역 영역 영역 영역 영역 영역 영역 영역·벽 영역 영역·Enemy 4 hit kill·DoT·Stun·Slow 시각·카드 영역 아이콘 노출
- 다른 효과 발동기 (B 근접·C 설치·D 소환·E 오라·F 강화) 영역 — 영역 영역 영역 영역 - 다른 효과 발동기 (B 근접·C 설치·D 소환·E 오라·F 강화) 영역 — 영역 영역 영역 영역
---
## 엔트리 10 (신설). BT12-Dev PD #2 재발 — Projectile Wall OverlapPoint 탐지 (Static Collider 근본)
**시각**: 2026-05-10 신 세션
**주체**: 총괄PM 직접 (MCP 자율·~10K)
### PD 직접 발화
> "벽에 닿은 투사체가 여전히 소멸하지 않아 (벽이란 플레이어가 지나갈 수 없는 충돌 영역)"
> "투사체에 적이 죽지 않는 버그가 재발했어"
### 본 PM MCP 직접 진단 (자성 #13 정합)
| 영역 | 결과 |
|------|------|
| Wall | TilemapCollider2D — Level (Layer 0)·AutoForeground (Layer 16)·**isTrigger=false·Rigidbody2D 부재 (Static)** |
| Projectile (fallback) | CircleCollider2D·**isTrigger=true·Rigidbody2D 부재 (Static)** |
| 결과 | **Static (Trigger) ↔ Static (Solid) → OnTriggerEnter2D 발화 X** (Unity 2D Physics 표준) |
→ 직전 `OnTriggerEnter2D` 영역 `isWall` 분기 영역 — **호출 X 영역 영역 영역 영역**.
### fix — Projectile.Update Physics2D.OverlapPoint
```csharp
protected static readonly int WallLayerMask = (1 << 0) | (1 << 16);
protected virtual void Update()
{
transform.position += (Vector3)(_direction * _speed * Time.deltaTime);
if (Vector2.Distance(transform.position, _spawnPosition) >= _maxRange)
{
SelfDestruct();
return;
}
// Wall 영역 OverlapPoint 영역 검출 (Static collider 영역 OnTriggerEnter2D 영역 발화 X)
var wallHit = Physics2D.OverlapPoint(transform.position, WallLayerMask);
if (wallHit != null)
{
SelfDestruct();
}
}
```
OnTriggerEnter2D `isWall` 분기 영역 (Enemy hit 영역 정합·Trigger 영역 발화)·진단 Debug.Log 회수.
### PD #1 (적이 죽지 않음) — MCP 직접 검증 정합
- Enemy maxHP 20·damage 5·4hit kill 정합
- Schedule<EnemyDeath> 영역 직접 호출 → Execute 영역 호출 정합 (`enemy.enabled=false·collider.enabled=false`)
- 영역 영역 — Editor 영역 frame 진행 영역 영역 영역 (runInBackground·Game window 영역 영역) — PD 직접 Play 영역 검증 영역 영역
### EerieVillage commit `3f69cc0`
- Projectile.cs — 13 insertions·Wall OverlapPoint + 진단 회수
### 후속
- PD 직접 Play 검증 — 투사체 영역 벽 영역 영역 영역 + 적 영역 4 hit 영역 사망