EerieVillage/Assets/Scripts/Mechanics
깃 관리자 c9b39c4373 BT5-Dev #68: 점프 X·Y 분리 + TileGround* 벽 자동 분류 제외 (PD 2종 명시 채택)
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
2026-05-08 00:20:53 +09:00
..
AnimationController.cs initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
AnimationController.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
AttackHitbox.cs BT7-Plan Phase 1: VS 순수형 자동 발동 + 하트 분할 시스템 2026-04-24 16:22:13 +09:00
AttackHitbox.cs.meta auto: 2026-04-23 23:47 · scene: SampleScene · 20 files 2026-04-23 23:47:51 +09:00
DeathZone.cs BT5-Dev #19: 지형 통과(모든 Collider OneWay)·밟기 stompMinDy 0.1·낙사 hit 모션 X 2026-05-07 15:50:17 +09:00
DeathZone.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
EnemyController.cs BT5-Dev #36: 충돌 감지 영역 Distance → Bounds.Intersects 표준 (PD 제안 채택) 2026-05-07 18:02:19 +09:00
EnemyController.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
GameController.cs initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
GameController.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
GameOptimizer.cs BT5-Dev #68: 점프 X·Y 분리 + TileGround* 벽 자동 분류 제외 (PD 2종 명시 채택) 2026-05-08 00:20:53 +09:00
GameOptimizer.cs.meta BT5-Dev #16: PM 변경 영역 일괄 commit (PD Editor GitAutoSync 영역 도달) 2026-05-07 15:29:34 +09:00
Health.cs BT5-Dev #19: 지형 통과(모든 Collider OneWay)·밟기 stompMinDy 0.1·낙사 hit 모션 X 2026-05-07 15:50:17 +09:00
Health.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
HitInterruptGuard.cs auto: 2026-05-07 13:22 · scene: Lobby · 361 files 2026-05-07 13:22:51 +09:00
HitInterruptGuard.cs.meta auto: 2026-05-07 13:22 · scene: Lobby · 361 files 2026-05-07 13:22:51 +09:00
KinematicObject.cs BT5-Dev #68: 점프 X·Y 분리 + TileGround* 벽 자동 분류 제외 (PD 2종 명시 채택) 2026-05-08 00:20:53 +09:00
KinematicObject.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
PatrolPath.Mover.cs initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
PatrolPath.Mover.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
PatrolPath.cs initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
PatrolPath.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
PlatformDropThrough.cs BT5-Dev #33: else if(falling && hit==null) 폐기 + footRayDistance 0.5→1.0 2026-05-07 17:47:00 +09:00
PlatformDropThrough.cs.meta BT5-Dev #28: Tilemap Layer 8 변환 + STOMP_DELTA 시각 정합 (-0.4~-0.05) 2026-05-07 17:11:20 +09:00
PlayAudioClip.cs initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
PlayAudioClip.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
PlayerController.cs BT5-Dev #62: BT48 commit b84c236 시점 정확 회귀 (PD 명시 채택) 2026-05-07 23:58:02 +09:00
PlayerController.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
PlayerInvulnerabilityFlash.cs BT5-Dev #16: PM 변경 영역 일괄 commit (PD Editor GitAutoSync 영역 도달) 2026-05-07 15:29:34 +09:00
PlayerInvulnerabilityFlash.cs.meta BT5-Dev #16: PM 변경 영역 일괄 commit (PD Editor GitAutoSync 영역 도달) 2026-05-07 15:29:34 +09:00
PlayerStateTimer.cs auto: 2026-05-07 13:22 · scene: Lobby · 361 files 2026-05-07 13:22:51 +09:00
PlayerStateTimer.cs.meta auto: 2026-05-07 13:22 · scene: Lobby · 361 files 2026-05-07 13:22:51 +09:00
SpawnPoint.cs initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
SpawnPoint.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
TokenController.cs initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
TokenController.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
TokenInstance.cs initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
TokenInstance.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
VictoryZone.cs initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
VictoryZone.cs.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00