1. 점프 처리 (Jump)
- 조건:
- 사용자가 점프 버튼을 눌렀을 때 (Input.GetButtonDown("Jump"))
- 현재 점프 중이 아님 (!anim.GetBool("isJumping"))
- 동작:
- rigid.AddForce(Vector2.up * jumpPower, ForceMode2D.Impulse)
→ Rigidbody2D에 위 방향으로 힘을 추가하여 점프를 구현. - anim.SetBool("isJumping", true)
→ 점프 애니메이션을 활성화.
- rigid.AddForce(Vector2.up * jumpPower, ForceMode2D.Impulse)
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))
- Raycast로 아래쪽을 향해 발사 (Physics2D.Raycast(rigid.position, Vector3.down, 1, LayerMask.GetMask("Platform")))
*유튜브 골드메탈님 강의를 바탕으로 작성한 메모입니다
'유니티' 카테고리의 다른 글
| B17 - 2D플랫포머 - 타일맵으로 플랫폼 만들기 (0) | 2025.01.05 |
|---|---|
| B15 - 2D 플랫포머 - 플레이어 이동 구현하기 (0) | 2025.01.05 |
| B14 - 2D 플랫포머 - 아틀라스와 애니메이션 (2) | 2025.01.02 |
| B13 - 2D 플랫포머 - 프로젝트 준비하기 (2) | 2025.01.02 |
| B12 - 게임 인터페이스를 알아봅시다 (1) | 2025.01.01 |