EerieVillage/Assets/Scripts/Mechanics
깃 관리자 643d1ae9a0 BT5-Dev #69: Down + Jump Drop-Through 입력 추가 (PD 명시 채택)
PD 명시 (2026-05-08): "발판과 같이 아래가 뚫려있고 이동 가능한 영역이 있는 경우, 아래 방향키 상태로 점프하면 점프 모션과 함께 내려올 수 있도록"

표준 platformer 패턴 (Drop-Through Input):
- Player가 발판(Layer 16) 위 + Down 방향키 + Jump 키 동시 입력
- = Layer 16 mask 강제 OFF (DROP_THROUGH_DURATION=0.3초) → 발판 통과
- = velocity.y = 0 (위 점프 X·gravity로 자연 낙하)
- = jumpState = PrepareToJump (점프 애니메이션 발동·시각상 점프 모션)

변경 (PlayerController.cs 3영역):
1. 클래스 변수 추가:
   - float dropThroughTimer (Layer 16 mask 강제 OFF 지속 시간)
   - const float DROP_THROUGH_DURATION = 0.3f
   - bool dropThroughJump (본 frame Drop-Through 점프 발동 분기)

2. Update 영역:
   - Move Input 영역 y < -0.5 (Down) + Jump WasPressed → dropThroughTimer 활성 + dropThroughJump=true
   - 매 frame dropThroughTimer 감소 (Time.deltaTime)

3. UpdateContactFilterForDropThrough 영역:
   - isJumpingThrough 조건에 dropThroughTimer > 0 추가
   - Drop-Through 활성 시 Layer 16 mask 강제 OFF

4. ComputeVelocity 영역:
   - jump && IsGrounded 시 dropThroughJump 분기:
     - dropThroughJump → velocity.y = 0 (위 점프 X)
     - else → velocity.y = jumpTakeOffSpeed (기존 정상 점프)

효과 (PD 의도 정합):
- 일반 점프 (Jump only) = 위로 점프 (그대로)
- Drop-Through (Down + Jump) = 발판 통과 + 점프 모션 + 자연 낙하
- 0.3초 후 mask 자동 복원 (다른 발판 위 정상 착지 가능)

후속 의무:
- PD Refresh+Play 시각 검증 (발판 위 + Down + Jump → 통과·낙하 + 점프 애니메이션)
- 정합 시 BT49~BT65 영구 폐기 + R2 + BT68 + BT69 영역 영구 채택
2026-05-08 00:26:12 +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 #69: Down + Jump Drop-Through 입력 추가 (PD 명시 채택) 2026-05-08 00:26:12 +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