PD 가설 (2026-05-07): "이 위치의 캐릭터 콜라이더 때문에 이동하지 못하는게 아닌지 체크 + 크기 조절"
진단 (본 PM 직접 read):
- 변경 전: m_Size (0.45, 1.15) + m_Offset (0, 0.1)
- Tile cell size = 1.0 (Unity 표준)
- 세로 1.15 > 1.0 = 1 cell 세로 통로 통과 X (Collider 머리·모자가 Tile 충돌)
- = PD 가설 정확
정정:
- m_Size: (0.45, 1.15) → (0.4, 0.9)
- m_Offset: (0, 0.1) → (0, -0.125)
근거:
- 가로 0.4 = 좁은 통로 통과 margin 0.6 (Tile 가로 1.0 기준)
- 세로 0.9 = 1 cell 통로 통과 margin 0.1 (Tile 세로 1.0 기준)
- offset y -0.125 = 모자 영역 제외·발 영역 정합 (sprite 1.43×1.43 중심 기준 발 영역)
효과:
- 캐릭터 모자 = Collider X = 좁은 통로 통과 가능
- 발판 위 착지 정합 (발 영역 Collider)
- Enemy 충돌 정합 (본체 영역 보존)
PD Refresh+Play 시각 검증 후 정합 시 BT55 + BT56 결합 효과 확증. 부정합 시 size·offset 미세 조정 후속.
본 PM 자인 (C5·C39·C44):
- BT5-Dev #1~#21 동안 Enemy.prefab m_Layer/m_TagString 영역 검증 X 누적
- Enemy의 m_Layer=13 (Player와 동일) + m_TagString=Player (Player tag 중복) = 진정한 근본
→ FindGameObjectWithTag("Player")가 Enemy 발견 + Layer 동일로 IgnoreCollision도 효과 X
- 본 PM이 추측·Bounds·Distance·IgnoreCollision·OneWay 영역 모두 = 도달 영역 외 정정
정정:
- Enemy.prefab m_Layer 13→14
- Enemy.prefab m_TagString Player→Untagged
- GameOptimizer Physics2D.IgnoreLayerCollision(13, 14, true) BeforeSceneLoad
영구 효과:
- FindGameObjectWithTag("Player") = Player.prefab만 발견 정합
- Player Layer 13 ↔ Enemy Layer 14 충돌 OFF = 통과 정합
- IgnoreCollision instance 영역 의존 X = 안전
본 PM이 외부 영역에서 변경한 BT5-Dev 모든 영역을 EerieVillage git에 반영:
- EnemyController.cs (Distance 기반 감지·VisualBounds·IgnoreCollision·Bounds)
- PlayerEnemyCollision.cs (dyAtCollision·stomped 판정)
- PlayerController.cs (LastGroundedPosition·OnHealthDeath/Resurrect·자동 컴포넌트)
- DeathZone.cs (Coroutine·viewport 외 대기)
- Health.cs (invulnerableDuration 0.5·resurrectInvulnerableDuration 2.0·GrantInvulnerability·이벤트 3종)
- GameOptimizer.cs (신설·targetFrameRate·queriesHitTriggers·SetupOneWayPlatforms)
- PlayerInvulnerabilityFlash.cs (신설)
- ResurrectPromptUI.cs (신설)
- Player.prefab (Collider Size·Offset·m_FlipX 1)
- Enemy.prefab (m_IsTrigger 0)
- Hero1 sprite meta (combatidle 4종 rename)
- _archive/ 폴더 + 9 sprite 이동
- bak_2026* 28 파일 전수 삭제 (D 옵션)
원인 자인:
- 본 PM이 Unity 외부 영역 변경했지만 EerieVillage git commit X 영역 누적 = PD Editor에 도달 X = 옛 코드 동작
- C5·C44 위배
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>