From 2b8828bf37e06c520ccebb62160b02d5caf0652e Mon Sep 17 00:00:00 2001 From: swrring Date: Sun, 10 May 2026 21:22:10 +0900 Subject: [PATCH] =?UTF-8?q?fix(BT12-Dev):=20Wall=20OverlapPoint=20LayerMas?= =?UTF-8?q?k=20Layer=2016=20=E2=86=92=20Layer=200=20(=ED=9A=8C=EA=B7=80=20?= =?UTF-8?q?=EC=A0=95=EC=A0=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PD: "왜 투사체가 또다시 벽을 뚫고 지나가는거지?" 회귀. 근본 — MCP 자율 실측 (자성 #13 정합): - Wall = Level TilemapCollider2D (Layer 0·Default·isTrigger=False·Static) - 직전 WallLayerMask = (1 << 16) → Layer 16 (Foreground) Tilemap 영역 영역 X - Layer 0 영역 OverlapPoint hit X → SelfDestruct X → 벽 뚫고 지나감 fix — WallLayerMask = (1 << 0): - Layer 0 Solid: Level Tilemap·GameObject·Alien BoxCollider2D = Wall 정합 - Trigger collider (CinemachineConfiner Polygon·Token·DeathZone Box) = useTriggers=false 자동 제외 - Player Layer=13·Enemy Layer=14 → OverlapPoint hit 무관·정합 Co-Authored-By: Claude Opus 4.7 (1M context) --- Assets/Scripts/Skills/Effectors/Projectile.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/Skills/Effectors/Projectile.cs b/Assets/Scripts/Skills/Effectors/Projectile.cs index 7d635b4..52e537c 100644 --- a/Assets/Scripts/Skills/Effectors/Projectile.cs +++ b/Assets/Scripts/Skills/Effectors/Projectile.cs @@ -59,9 +59,11 @@ namespace EerieVillage.Skills.Effectors Invoke(nameof(SelfDestruct), _lifetime); } - // BT12-Dev 2026-05-10 — Wall Layer Mask. Layer 0 (Default) 영역 Level Tilemap (지면 영역) + Player 영역 영역 영역 → 영역 영역 영역. - // Layer 16 (Foreground·발판) 영역만 Wall 영역 영역. - protected static readonly int WallLayerMask = (1 << 16); + // BT12-Dev 2026-05-10 회귀 정정 — Wall Layer 실측 (Player Layer=13·Enemy Layer=14·Level Tilemap Layer=0). + // Layer 0 (Default) Solid Collider: Level TilemapCollider2D + GameObject·Alien BoxCollider2D — Wall 정합. + // Trigger collider (CinemachineConfiner Polygon·Token·DeathZone Box) = useTriggers=false 영역 자동 제외. + // Player·Enemy 영역 Layer 0 외 영역 → OverlapPoint hit 무관. + protected static readonly int WallLayerMask = (1 << 0); protected virtual void Update() {