본문 바로가기
유니티

B16 - 2D플랫포머 - 플레이어 점프 구현하기

flyon 2025. 1. 5.

1. 점프 처리 (Jump)

  • 조건:
    • 사용자가 점프 버튼을 눌렀을 때 (Input.GetButtonDown("Jump"))
    • 현재 점프 중이 아님 (!anim.GetBool("isJumping"))
  • 동작:
    • rigid.AddForce(Vector2.up * jumpPower, ForceMode2D.Impulse)
      → Rigidbody2D에 위 방향으로 힘을 추가하여 점프를 구현.
    • anim.SetBool("isJumping", true)
      → 점프 애니메이션을 활성화.

2. 레이캐스트를 이용한 착지 확인 (Landing Check with Raycast)

  • 조건:
    • 현재 떨어지고 있음 (rigid.linearVelocity.y < 0)
  • 동작:
    • Raycast로 아래쪽을 향해 발사 (Physics2D.Raycast(rigid.position, Vector3.down, 1, LayerMask.GetMask("Platform")))
      → Platform 레이어의 충돌체를 1 유닛 범위 내에서 탐지.
    • 착지 여부 확인:
      • 만약 충돌체가 있으면 (rayHit.collider != null)
      • 충돌체까지의 거리가 0.8 이하이면 (rayHit.distance < 0.8f)
        → 점프 상태 종료 (anim.SetBool("isJumping", false))

 

 

*유튜브 골드메탈님 강의를 바탕으로 작성한 메모입니다

profile
작심삼일을 무한으로 반복하는 지식세포 키우기
✏️ ⚙️