diff --git a/Assets/Scripts/Skills/Effectors/Projectile.cs b/Assets/Scripts/Skills/Effectors/Projectile.cs index 47d836c..0cf060d 100644 --- a/Assets/Scripts/Skills/Effectors/Projectile.cs +++ b/Assets/Scripts/Skills/Effectors/Projectile.cs @@ -193,15 +193,6 @@ namespace EerieVillage.Skills.Effectors int hitCount = Physics2D.OverlapPoint(transform.position, filter, results); if (hitCount > 0) { - // PD 지시 2026-05-14 — 빠른 투사체 맵 경계 멈춤 진단 — OverlapPoint hit 정보 출력 - var hit = results[0]; - Debug.Log("[Projectile][WallHit-OverlapPoint] cardId=" + _data.CardId - + " hit=" + (hit != null ? hit.gameObject.name : "?") - + " parent=" + (hit != null && hit.transform.parent != null ? hit.transform.parent.name : "ROOT") - + " layer=" + (hit != null ? hit.gameObject.layer : -1) - + " pos=" + transform.position - + " dist=" + Vector2.Distance(transform.position, _spawnPosition).ToString("F2") - + "/" + _maxRange); SelfDestruct(); } } @@ -278,21 +269,15 @@ namespace EerieVillage.Skills.Effectors // Layer 0 (Default·Ground) · Layer 16 (Foreground·발판) 영역 영역 Tilemap·Composite·Box collider 영역 정합. // 레이저 영역 영역 영역 영역 영역 X — 본 Projectile 영역 영역 (영역 영역 영역 영역 X) — 모든 Projectile 영역 SelfDestruct. // PD 지시 2026-05-14 — 화면 스크롤 시 Floating 발판 (Layer 16 Foreground) 통과 후 SelfDestruct - // 회귀 정정. Wall = Layer 0 (Level Tilemap·메인 ground) 만 SelfDestruct. + // 회귀 정정. Wall = Layer 0 (Level Tilemap·메인 ground) + non-trigger 만 SelfDestruct. // Floating 발판은 Player·Enemy 점프 통과 의도이며 Projectile 도 통과 정합. + // PD 지시 2026-05-14 — A06 독 늪 PoisonSwamp_Collider (Layer 0·isTrigger=true) 등 + // Effector spawn trigger collider 가 OnTrigger Wall 판정에 걸려 빠른 투사체 조기 SelfDestruct + // 회귀 → !isTrigger 추가. Level Tilemap (non-trigger) 만 Wall 차단. int otherLayer = other.gameObject.layer; - bool isWall = (otherLayer == 0); + bool isWall = (otherLayer == 0) && !other.isTrigger; if (isWall) { - // PD 지시 2026-05-14 — 빠른 투사체 맵 경계 멈춤 진단 — Wall hit collider 정보 출력 - Debug.Log("[Projectile][WallHit-OnTrigger] cardId=" + _data.CardId - + " other=" + other.gameObject.name - + " parent=" + (other.transform.parent != null ? other.transform.parent.name : "ROOT") - + " layer=" + otherLayer + "(" + UnityEngine.LayerMask.LayerToName(otherLayer) + ")" - + " isTrigger=" + other.isTrigger - + " pos=" + transform.position - + " dist=" + Vector2.Distance(transform.position, _spawnPosition).ToString("F2") - + "/" + _maxRange); SelfDestruct(); } }