From 72e033da5af62a27f99d5128963b889d187c7235 Mon Sep 17 00:00:00 2001 From: swrring Date: Sun, 10 May 2026 17:22:59 +0900 Subject: [PATCH] =?UTF-8?q?fix(BT12-Dev):=20OverlapPoint=20useTriggers=3Df?= =?UTF-8?q?alse=20(CinemachineConfiner=20Trigger=20=EC=98=81=EC=97=AD=20?= =?UTF-8?q?=EC=98=81=EC=97=AD=20=E2=86=92=20=EC=A6=89=EC=8B=9C=20SelfDestr?= =?UTF-8?q?uct=20=EC=98=81=EC=97=AD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Skills/Effectors/Projectile.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Assets/Scripts/Skills/Effectors/Projectile.cs b/Assets/Scripts/Skills/Effectors/Projectile.cs index 68133f6..92d4e2a 100644 --- a/Assets/Scripts/Skills/Effectors/Projectile.cs +++ b/Assets/Scripts/Skills/Effectors/Projectile.cs @@ -75,12 +75,17 @@ namespace EerieVillage.Skills.Effectors return; } - // BT12-Dev 2026-05-10 (PD #2 fix·재발 정정) — Wall OverlapPoint·grace period 0.05s 영역 spawn 시점 즉시 SelfDestruct 회피. - // Player.position 영역 spawn 영역 — Player 영역 ground tile 영역 영역 영역 → 첫 frame OverlapPoint hit → 회귀. + // BT12-Dev 2026-05-10 (PD #2 fix·재발 정정 #2) — Wall OverlapPoint·useTriggers=false (CinemachineConfiner Trigger 영역 영역 영역). + // grace period 0.05s 영역 spawn 시점 즉시 SelfDestruct 회피. if (Time.time - _spawnTime > 0.05f) { - var wallHit = Physics2D.OverlapPoint(transform.position, WallLayerMask); - if (wallHit != null) + var filter = new ContactFilter2D(); + filter.useTriggers = false; // Trigger collider (CinemachineConfiner 영역) 영역 영역 + filter.useLayerMask = true; + filter.layerMask = WallLayerMask; + var results = new Collider2D[1]; + int hitCount = Physics2D.OverlapPoint(transform.position, filter, results); + if (hitCount > 0) { SelfDestruct(); }