[unity] 짐벌락 현상

jh Seo·2024년 5월 23일
0

유니티

목록 보기
42/50

플레이어의 회전을 다루는 데 , 우주선 prefab을 transform에서 x축으로 -90도 회전시킨 후,
y축으로 45도를 회전하고 싶었는 데, y축으로 45도 회전결과가 z축으로 45도 회전한 것과 같은 방향이였다.

왜 이러지 생각하다가 수업 때 배운 짐벌락이 떠올랐다.
x축으로 -90만큼 회전했을 때, y축과 z축이 겹쳐져서 같이 움직이게 되는 것이였다.

검색해보니 Quaternion.euler을 사용해야된다 했고
제일 간단하게

transform.rotation = Quaternion.Euler(-90, CalDegree(joystickManager.joystickDir),0);

이렇게 해봤으나 똑같았다.
따라서 더 검색해보니 Quaternion.Euler을 사용하려면 두번에 걸쳐 써야했다.

transform.rotation = Quaternion.Euler(-90, 0,0);
transform.rotation *= Quaternion.Euler(0, CalDegree(joystickManager.joystickDir), 0);

Quaternion에서 곱셈은 선후관계를 나타낸다고 한다.
x축으로 -90도 만큼 회전시키고, 조이스틱의 방향만큼 y축으로 회전시켰다.

y축을 축으로 잘 돌아간다.

profile
코딩 창고!

0개의 댓글