본문 바로가기

코딩/UNITY

유니티 플랫포머 개발중 y값 이동에 문제가 생기는 버그 해결법

유니티로 플랫포머게임을 제작하실때 중력이나 addforce같은 y값 이동과 관련이 있는 코드가 제대로 작동하지 않는 문제가 있습니다.

 

float xinput = Input.GetAxis("Horizontal");
rigi.velocity = new Vector2(xinput * spd,0f);

아마 그런 문제를 겪으시는 분 대부분은 이런 코드를 사용하여 이동을 처리하실텐데요.

이러면 y값의 velocity가 0으로 고정되어 y값에 이동과 관련한 모든 코드가 먹히지 않습니다

rigidbody의 velocity.y가 0으로 고정

이런 경우에는 단순히

rigi.velocity = new Vector2(xinput * spd, rigi.velocity.y);

로 바꿔주시면 됩니다!