BT5-Dev #64: Foreground TilemapCollider2D enabled=false (PD 명시 채택)
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 메모리 등재
This commit is contained in:
parent
bfb5832aac
commit
a7974cd58b
|
|
@ -69,6 +69,9 @@ namespace Platformer.Mechanics
|
||||||
}
|
}
|
||||||
|
|
||||||
// BT47 — Foreground TilemapCollider2D + Layer 16 (ColliderType Sprite 강제는 Tile 이동 후 한 번에 처리)
|
// 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");
|
var foreground = GameObject.Find("Foreground");
|
||||||
UnityEngine.Tilemaps.Tilemap fgTilemap = null;
|
UnityEngine.Tilemaps.Tilemap fgTilemap = null;
|
||||||
UnityEngine.Tilemaps.TilemapCollider2D fgTc = null;
|
UnityEngine.Tilemaps.TilemapCollider2D fgTc = null;
|
||||||
|
|
@ -78,6 +81,7 @@ namespace Platformer.Mechanics
|
||||||
if (fgTc == null) fgTc = foreground.AddComponent<UnityEngine.Tilemaps.TilemapCollider2D>();
|
if (fgTc == null) fgTc = foreground.AddComponent<UnityEngine.Tilemaps.TilemapCollider2D>();
|
||||||
foreground.layer = 16;
|
foreground.layer = 16;
|
||||||
fgTilemap = foreground.GetComponent<UnityEngine.Tilemaps.Tilemap>();
|
fgTilemap = foreground.GetComponent<UnityEngine.Tilemaps.Tilemap>();
|
||||||
|
fgTc.enabled = false; // BT64 — Foreground 충돌 차단 (PD 명시)
|
||||||
}
|
}
|
||||||
|
|
||||||
// BT48 — Level → Foreground 자동 분류 강화. 분류 조건 2종 결합:
|
// BT48 — Level → Foreground 자동 분류 강화. 분류 조건 2종 결합:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue