From 13cbc76dce3166bfda31d467daaeaaa489e2b15a Mon Sep 17 00:00:00 2001 From: swrring Date: Sun, 10 May 2026 16:46:53 +0900 Subject: [PATCH] =?UTF-8?q?docs(BT12-Dev):=20PD=20#2=20=EC=9E=AC=EB=B0=9C?= =?UTF-8?q?=20=EC=A0=95=EC=A0=95=20=E2=80=94=20Wall=20OverlapPoint=20(?= =?UTF-8?q?=EB=8C=80=ED=99=94=EB=A1=9C=EA=B7=B8=20=EC=97=94=ED=8A=B8?= =?UTF-8?q?=EB=A6=AC=2010)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 근본 원인 — 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 정합 --- 공유/대화로그/EerieVillage/2026-05-10.md | 62 ++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/공유/대화로그/EerieVillage/2026-05-10.md b/공유/대화로그/EerieVillage/2026-05-10.md index a67e739..51ecfab 100644 --- a/공유/대화로그/EerieVillage/2026-05-10.md +++ b/공유/대화로그/EerieVillage/2026-05-10.md @@ -725,3 +725,65 @@ execute_code 영역 — `SerializedObject.FindProperty("Icon").objectReferenceVa - PD 직접 Play 검증 — 투사체 영역 Camera 영역 영역 영역 영역 영역 영역 영역 영역 영역·벽 영역 영역·Enemy 4 hit kill·DoT·Stun·Slow 시각·카드 영역 아이콘 노출 - 다른 효과 발동기 (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 영역 직접 호출 → 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 영역 사망