BT5-Dev #54: Foreground TilemapCollider2D 제거 — 시각만 표시 (PD 단순 제안 채택)
PD 결정 (2026-05-07): "그냥 단순히 Foreground에 충돌체크만 없애면 되지 않을까?" 변경: - BT47 Foreground TilemapCollider2D 자동 부착 영역 폐기 - 기존 TilemapCollider2D Object.Destroy - fgTilemap·fgTc null 유지 → 자동 분류(§83~) + 사후 복원(§129~) 자동 skip - Foreground GameObject Layer 16 유지 (시각 정합) 영향 (PD 사전 명시 + 인지): - 모든 Foreground Tile 충돌 X = 발판 위 착지 X (Drop-Through 패턴 폐기) - BT47부터 자동 분류로 Foreground에 누적된 Tile들 = 시각만·자유 통과 - Level Tilemap (TileGround·TileGroundTop 1266개)만 영구 충돌 유지 본 PM 5회 가설 누적 부정확 후 PD 직접 단순 해결 채택: - BT49 None 차단 (효과 X·restored=0) - BT50 Grid→Sprite 강제 (효과 X·forced=0) - BT51 사후 Grid→Sprite 폐기 (효과 X·restored=0) - BT52 TileFloating* 단일 (decor=0 부정확) - BT53 카탈로그 8종 확장 (decor=1 부정확·1266개 미식별) → PD 단순 제안 = 5회 가설 모두 우회 롤백 경로 (pm-auditor 권고): - BT47 자동 분류 영역 + 사후 복원 영역 코드 보존 (fgTilemap null check skip만 추가) - 회귀 시 fgTc 자동 부착 영역 회복 → 자동 분류 재가동 가능 후속 의무: - PD Refresh+Play 시각 검증 + 본 PM Editor.log direct read - 발판 위 착지 보존 의도 시 BT54 회귀 또는 카탈로그 v1.2 전환 Debug.Log: 자동 분류·사후 복원 출력 모두 fgTilemap null로 skip → BT54 시점 출력 X
This commit is contained in:
parent
0d6b78cc3a
commit
bbf7041676
|
|
@ -68,16 +68,21 @@ namespace Platformer.Mechanics
|
|||
if (appliedNames.Count < 8) appliedNames.Add($"{c.gameObject.name}({c.GetType().Name})");
|
||||
}
|
||||
|
||||
// BT47 — Foreground TilemapCollider2D + Layer 16 (ColliderType Sprite 강제는 Tile 이동 후 한 번에 처리)
|
||||
// BT54 — PD 제안 채택 (2026-05-07): "그냥 단순히 Foreground에 충돌체크만 없애면 되지 않을까?"
|
||||
// Foreground Tilemap = 시각만 (TilemapRenderer + Layer 16). TilemapCollider2D 자동 부착 폐기.
|
||||
// 영향: 모든 Foreground Tile 충돌 X = 발판 위 착지 X (Drop-Through 패턴 폐기·시각만 표시).
|
||||
// 자동 분류 영역(§83~) 및 사후 복원 영역(§129~)은 fgTilemap null/fgTc null 시 자동 skip.
|
||||
// PD 시각 검증 후 발판 위 착지 보존 의도 시 BT54 회귀 또는 카탈로그 v1.2 전환.
|
||||
var foreground = GameObject.Find("Foreground");
|
||||
UnityEngine.Tilemaps.Tilemap fgTilemap = null;
|
||||
UnityEngine.Tilemaps.TilemapCollider2D fgTc = null;
|
||||
if (foreground != null)
|
||||
{
|
||||
fgTc = foreground.GetComponent<UnityEngine.Tilemaps.TilemapCollider2D>();
|
||||
if (fgTc == null) fgTc = foreground.AddComponent<UnityEngine.Tilemaps.TilemapCollider2D>();
|
||||
foreground.layer = 16;
|
||||
fgTilemap = foreground.GetComponent<UnityEngine.Tilemaps.Tilemap>();
|
||||
// 기존 TilemapCollider2D 제거 (PD 제안 — 충돌 X)
|
||||
var existingFgTc = foreground.GetComponent<UnityEngine.Tilemaps.TilemapCollider2D>();
|
||||
if (existingFgTc != null) Object.Destroy(existingFgTc);
|
||||
// fgTilemap·fgTc null 유지 = 자동 분류 + 사후 복원 영역 자동 skip
|
||||
}
|
||||
|
||||
// BT53-A1 — 자동 분류 카탈로그 확장 (PD 옵션 A1 채택 2026-05-07).
|
||||
|
|
|
|||
Loading…
Reference in New Issue