BT5-Dev #63: BT48 + None 차단 (나무 충돌 정정만 추가·PD 명시 채택)
PD 명시 (2026-05-07): "이제 이 상태에서 나무가 충돌되는 것만 수정해봐" 변경 (BT62 = BT48 시점 + 1행 추가): - Level → Foreground 자동 분류 영역에 None Tile 차단 추가: if (tileAsset != null && tileAsset.colliderType == None) continue; 효과: - BT48 영역 발판 동작 그대로 보존 (PD 정합 시점) - tree·plant·fence·house (4종 None Tile) = 자동 분류 제외 - Level Tilemap 잔존 + Tile asset 자체 None Collider = 자연 통과 (충돌 X) 미적용 영역 (BT49 영역과 차이): - 사후 복원 영역(Foreground 그려진 None Tile SetColliderType(None) 복원) 미추가 - 이유: PD 명시 = 나무 충돌만 정정 + BT48 영역 변경 최소화 Player.prefab·PlayerController.cs = BT62 영역 그대로 (BT48 시점). BT49~BT61 누적 14회 변경은 BT62에서 이미 모두 폐기됨. 후속 의무: - PD Refresh+Play 시각 검증 - 본 PM Editor.log [BT48-MoveTiles] direct read - 나무·plant·fence·house 통과 + 발판 영역 정합 확증
This commit is contained in:
parent
57328ec151
commit
bfb5832aac
|
|
@ -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<UnityEngine.Tilemaps.Tile>(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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue