이번에는 점프 기능을 추가하였다.

점프는 Update에서 점프가 가능한 상태인지를 구분해주고
FixedUpdate에서 실행해 주었다.
void Update()
{
if (isGrounded && !isClimbing && Input.GetKeyDown(KeyCode.Space))
{
jumpRequest = true;
}
}
private void FixedUpdate()
{
// jump
if (jumpRequest)
{
Jump();
jumpRequest = false;
}
}
private void Jump()
{
rb.linearVelocity = new Vector2(rb.linearVelocity.x, 0f);
rb.linearVelocity = new Vector2(rb.linearVelocity.x, jumpPower);
}
Jump 함수에서 0을 한번 줬다가 jumpPower를 주는 이유는 모든 점프를 일정하게 하기 위해서이다.
점프 파워, 높이 등을 일정하게 맞춰준다.
근데 그러다가 이런 버그를 발견했다.

점프를 하면서 벽을 밀쳤을 때 마찰력 때문에 서로 계속 밀어서 움직이지 않았다.
중력이 엄청 세지 않아서 그런 것도 같았다. (gravity scale 10)
결국 마찰력을 0으로 한 Physics Material 2D를 만들어 Player Collider에 연결해줌으로써 문제를 해결했다!

| 벡터 내적 활용 : 몬스터가 캐릭터 시야에 있는지 확인하기(Field of View) (0) | 2026.01.03 |
|---|---|
| [2D Platformer] 2. 사다리 로직 구현 (Climbing Ladder) (0) | 2025.12.26 |
| [2D Platformer] 1. START & 좌우 이동 구현 (0) | 2025.12.22 |
| 유니티에서 Oculus Meta Quest3 빌드하기 (1) | 2024.02.14 |
| 유니티 2D게임 만드는중ㅋㅋ (1) | 2024.02.11 |