diff --git a/Assets/Scripts/Mechanics/PlayerController.cs b/Assets/Scripts/Mechanics/PlayerController.cs index 93041fa..cbfccdc 100644 --- a/Assets/Scripts/Mechanics/PlayerController.cs +++ b/Assets/Scripts/Mechanics/PlayerController.cs @@ -204,9 +204,12 @@ namespace Platformer.Mechanics { int baseMask = Physics2D.GetLayerCollisionMask(gameObject.layer); - // BT5-Dev #42 — PD 의도: 발판 위 착지(서있는) 영역만 충돌 ON, 걷기·점프·측면 영역 모두 통과 + // BT5-Dev #43 — IsGrounded 영역 폐기 (frame 0 미설정 → 떨어짐). footHit 단독 + 점프 영역 OFF 강제 + bool isJumpingThrough = jumpState == JumpState.Jumping + || (jumpState == JumpState.InFlight && velocity.y > 0.01f); + bool standingOnPlatform = false; - if (collider2d != null && IsGrounded) + if (collider2d != null && !isJumpingThrough) { Vector2 footPos = new Vector2(collider2d.bounds.center.x, collider2d.bounds.min.y + 0.02f); int jumpThroughMask = 1 << JUMP_THROUGH_LAYER;