EerieVillage/Assets/Scripts
깃 관리자 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
..
Core initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
Gameplay BT5-Dev #37: 점프+Player 위(transform.y) 단순 조건 (PD 의도 정확 — '점프 후 밟을 때 통과' 차단) 2026-05-07 18:04:08 +09:00
Mechanics BT5-Dev #69: Down + Jump Drop-Through 입력 추가 (PD 명시 채택) 2026-05-08 00:26:12 +09:00
Model initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
MyUI 로비 ui 등 2026-04-28 17:01:58 +09:00
UI BT5-Dev #16: PM 변경 영역 일괄 commit (PD Editor GitAutoSync 영역 도달) 2026-05-07 15:29:34 +09:00
View initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
Core.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
Gameplay.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
Mechanics.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
Model.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
MyUI.meta 로비 ui 등 2026-04-28 17:01:58 +09:00
UI.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00
View.meta initial: Unity 6000.3.13f1 LTS 2D PlatformerMicrogame 템플릿 + GitAutoSync Editor 스크립트 2026-04-23 00:58:44 +09:00