From a7974cd58b59397f51cd4d9ae5c13c6b8fe4f48f Mon Sep 17 00:00:00 2001 From: swrring Date: Fri, 8 May 2026 00:04:31 +0900 Subject: [PATCH] =?UTF-8?q?BT5-Dev=20#64:=20Foreground=20TilemapCollider2D?= =?UTF-8?q?=20enabled=3Dfalse=20(PD=20=EB=AA=85=EC=8B=9C=20=EC=B1=84?= =?UTF-8?q?=ED=83=9D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PD 명시 (2026-05-08): "BT63이 내가 원했던 기본 상태야. 이제 Grid 오브젝트의 자식 오브젝트인 Foreground가 플레이어와 충돌하지 않도록만 해봐" 변경 (BT63 영역 + 1행 추가): - Foreground TilemapCollider2D 자동 부착 그대로 유지 (BT47 영역) - 자동 분류 SetTile + SetColliderType 그대로 유지 (BT48·BT63 영역) - 부착 직후 fgTc.enabled = false → 물리 충돌만 차단 효과: - Foreground GameObject = Player와 충돌 X (PD 명시 정합) - TilemapRenderer 시각 표시 그대로 (Layer 16·SortingOrder=5) - Tile data·SetColliderType 영역 그대로 (BT63 영역 보존·롤백 가능) - Level Tilemap = 영구 충돌 (지면·발판 역할) 미적용 (의도적): - Object.Destroy 폐기 (data 보존·롤백 경로) - Layer Matrix 변경 폐기 (Project Settings 영역 영향 X) 후속 의무: - PD Refresh+Play 시각 검증 - 본 PM Editor.log [BT48-MoveTiles] direct read - 정합 시 BT49~BT61 영구 폐기·feedback 메모리 등재 --- Assets/Scripts/Mechanics/GameOptimizer.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Assets/Scripts/Mechanics/GameOptimizer.cs b/Assets/Scripts/Mechanics/GameOptimizer.cs index 9390b2f..7741a15 100644 --- a/Assets/Scripts/Mechanics/GameOptimizer.cs +++ b/Assets/Scripts/Mechanics/GameOptimizer.cs @@ -69,6 +69,9 @@ namespace Platformer.Mechanics } // BT47 — Foreground TilemapCollider2D + Layer 16 (ColliderType Sprite 강제는 Tile 이동 후 한 번에 처리) + // BT64 — PD 명시 (2026-05-08): "Grid 자식 Foreground = Player와 충돌하지 않도록" + // TilemapCollider2D 부착·자동 분류 SetTile·SetColliderType은 그대로 유지(BT63 영역 보존), + // 그러나 enabled=false로 Player와 물리 충돌만 차단. data·렌더 영역 영향 0. var foreground = GameObject.Find("Foreground"); UnityEngine.Tilemaps.Tilemap fgTilemap = null; UnityEngine.Tilemaps.TilemapCollider2D fgTc = null; @@ -78,6 +81,7 @@ namespace Platformer.Mechanics if (fgTc == null) fgTc = foreground.AddComponent(); foreground.layer = 16; fgTilemap = foreground.GetComponent(); + fgTc.enabled = false; // BT64 — Foreground 충돌 차단 (PD 명시) } // BT48 — Level → Foreground 자동 분류 강화. 분류 조건 2종 결합: