PD 명시 (2026-05-08): "플레이어 조작 시스템 완성. 시행착오로 불필요하게 생성된 코드·작업물 제거 + 최신 상태로만 깔끔하게"
정리 영역:
1. GameOptimizer.cs (Write 전체 재작성):
- 헤더 주석 — BT5-Dev 발판 시스템 영구 영역 명시 + 동작 요약 5단계
- BT34·BT46·BT66·BT67·BT48·BT63·BT68 시행착오 주석 영역 통합 정리
- Debug.Log 영역 통합 1행 ([GameOptimizer] 출력)
- IsSmallAirPlatform 헬퍼 영역 보존 (BT48 휴리스틱 사용 중)
2. PlayerController.cs (Edit 부분 정리):
- dropThroughTimer·jumpAscentTimer 변수 영역 주석 정리
- OnCollisionEnter2D BT30-Collide 진단 Debug.Log 영역 폐기 (시행착오)
- BT69·BT70·BT71·BT72·BT73·BT74 시행착오 주석 영역 통합 정리
- UpdateContactFilterForDropThrough 영역 메서드 docstring 추가
3. KinematicObject.cs (Edit 부분 정리):
- BT68 X·Y 분리 영역 주석 정리
영구 채택 영역:
- R2 (BT66): AutoForeground GameObject 분리 + PD Foreground = 가림막 시각만
- BT67: AutoForeground transform 동기화 (PD Foreground·Level 영역과 동일)
- BT68: KinematicObject X·Y 분리 + GameOptimizer TileGround* 자동 분류 제외
- BT69~BT74: Drop-Through (Down + Jump) Input 패턴 + 가장자리 jitter 차단
플레이어 조작 시스템 완성:
- 발판 위 착지·점프 통과·자유 이동
- Down + Jump = Drop-Through (발판 위만)
- 전진 점프 시 앞 벽 hit + 위로 점프 보존
- 대각선 벽 통과 X (TileGround* Level 잔존)
- 발판 가장자리 jitter 차단 (3점 Raycast + 밀림 강제 Drop-Through)
PD 명시 (2026-05-08):
1. "대각선으로 점프로 벽 부분을 통과하려는 상황 → Player 점프 상태에서 밀려나는 현상" (애초에 통과 X 의무)
2. "전진하며 점프할 경우 앞이 막혀있으면 위로만 점프되어야 하는데 점프 자체가 막힘" (앞 막혀도 정상 점프 의무)
본 PM 직접 read 진단:
버그 1 (벽 통과) 원인:
- 자동 분류 영역(BT47/BT48)이 TileGround·TileGroundDark·TileGroundTop도 AutoForeground로 이동
- AutoForeground = Layer 16 + Drop-Through 패턴 (ascending mask OFF)
- = 대각선 점프 시 벽 Tile 통과 가능
버그 2 (점프 막힘) 원인:
- KinematicObject.PerformMovement line 164~165:
velocity.x *= 0; velocity.y = Mathf.Min(velocity.y, 0);
- = X 이동 시점 hit (앞 벽)에서도 velocity.y 영점 강제
- = 점프 시작 시 앞 벽 hit → 점프 속도 0 → 점프 자체 차단
정정:
1. KinematicObject.cs (버그 2):
- 공중 hit 처리 X·Y 분리:
- X 이동 시점 hit (앞 벽) → velocity.x = 0, velocity.y 보존 (점프 속도 유지)
- Y 이동 시점 hit (천장) → velocity.x·y 모두 cap (기존)
2. GameOptimizer.cs (버그 1):
- TileGround* (3종 — 지면·벽 의도) 자동 분류 제외 추가
- tileAsset.name.StartsWith("TileGround") → continue
- TileGround·TileGroundDark·TileGroundTop = Level 잔존·Layer 0·영구 충돌·통과 X
효과:
- 버그 1: 벽 통과 X (TileGround* = Layer 0 영구 충돌)
- 버그 2: 앞 막혀도 위로 점프 정합 (Y 속도 보존)
- 발판 동작 그대로 (TileFloating·MidgroundFiller·Building·cloud·hillside·midground·mountains 자동 분류)
- 나무·plant·fence·house 자체 통과 그대로
후속 의무:
- PD Refresh+Play 시각 검증 (대각선 점프 벽 통과 X + 앞 막힌 점프 작동)
- 본 PM Editor.log [BT48-MoveTiles] direct read