BT5-Dev #65: BT64 폐기·BT63 회귀 (PD 명시 채택 + 본 PM 진단)
PD 명시 (2026-05-08): "직전 상태로 되돌려" + "에디터 상태에서는 박스 쳐진 가림막 부분만 Foreground인데 어째서 발판까지 영향을 받는거지?"
변경: fgTc.enabled = false 라인 제거 = BT63 정확 회귀.
본 PM 진단 (PD 의문 답변):
근본 원인 — 본 PM의 자동 분류 코드가 PD의 시각 분리 의도 침범:
- PD 의도: Foreground GameObject = PD 직접 그린 가림막 영역만 (시각 배경)
- 본 PM 코드 (BT47/BT48): Level Tile들을 GameObject.Find('Foreground') 영역으로 자동 이동 (SetTile)
- 결과: PD 가림막 + 본 PM 자동 분류 발판이 같은 Foreground GameObject 영역 혼재
- BT64 fgTc.enabled=false: 모든 Foreground Tile 충돌 X = 발판도 충돌 X = PD 보고 영역
= 자동 분류 영역이 PD 시각 분리 의도 침범 = 본 PM 핵심 오해.
PM 권고 (PD 결정 영역):
- 옵션 1: 자동 분류 영역 폐기 + PD가 발판 영역 직접 Tile Palette로 그리기 (표준 Unity 워크플로우)
- 옵션 2: 자동 분류 결과를 별도 GameObject (예: AutoForeground)에 SetTile = PD Foreground 분리
- 옵션 3: BT63 + 가림막 Tile asset (예: MidgroundFiller) 자동 식별 + 분리
후속 의무:
- PD 결정 영역 명시 후 본 PM 즉시 집행
- BT49~BT64 누적 16회 변경 영역 영구 폐기 의무
This commit is contained in:
parent
a7974cd58b
commit
dba99d21dc
|
|
@ -69,9 +69,7 @@ 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.
|
||||
// BT65 — PD 명시 (2026-05-08): "직전 상태로 되돌려" = BT64 폐기 → BT63 회귀.
|
||||
var foreground = GameObject.Find("Foreground");
|
||||
UnityEngine.Tilemaps.Tilemap fgTilemap = null;
|
||||
UnityEngine.Tilemaps.TilemapCollider2D fgTc = null;
|
||||
|
|
@ -81,7 +79,6 @@ namespace Platformer.Mechanics
|
|||
if (fgTc == null) fgTc = foreground.AddComponent<UnityEngine.Tilemaps.TilemapCollider2D>();
|
||||
foreground.layer = 16;
|
||||
fgTilemap = foreground.GetComponent<UnityEngine.Tilemaps.Tilemap>();
|
||||
fgTc.enabled = false; // BT64 — Foreground 충돌 차단 (PD 명시)
|
||||
}
|
||||
|
||||
// BT48 — Level → Foreground 자동 분류 강화. 분류 조건 2종 결합:
|
||||
|
|
|
|||
Loading…
Reference in New Issue