diff --git a/Assets/Scripts/Mechanics/GameOptimizer.cs b/Assets/Scripts/Mechanics/GameOptimizer.cs index 32bbd28..9390b2f 100644 --- a/Assets/Scripts/Mechanics/GameOptimizer.cs +++ b/Assets/Scripts/Mechanics/GameOptimizer.cs @@ -102,6 +102,13 @@ namespace Platformer.Mechanics { var pos = new Vector3Int(x, y, 0); if (!levelTilemap.HasTile(pos)) continue; + + // BT63 — Tile asset의 m_ColliderType=None = 배경 의도 (tree·plant·fence·house) = 자동 분류 제외 + // BT48 시점 + 나무 충돌 정정만 추가 (PD 명시 채택 2026-05-07). + // 결과: 나무·plant·fence·house Tile은 Level 잔존·자체 None Collider로 자연 통과. + var tileAsset = levelTilemap.GetTile(pos); + if (tileAsset != null && tileAsset.colliderType == UnityEngine.Tilemaps.Tile.ColliderType.None) continue; + Vector3 worldPos = levelTilemap.CellToWorld(pos); bool aboveThreshold = worldPos.y >= airThresholdY; bool isSmallAir = !aboveThreshold && IsSmallAirPlatform(levelTilemap, pos, MAX_PLATFORM_WIDTH);