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(); }