방향버튼을 터치하면 해당 방향으로 한칸씩 이동하면서 90도 회전하는걸 만들고 있거든요.
이동은 멀쩡하게 잘되고 회전도 돌아는 가는데 문제가 뭐냐면 영상보시면 아시겠지만 회전이 처음엔 잘되다가 축이 이상하게 바뀌어요.
예를 들어서 앞으로만 쭊 이동하면 x축 기준으로 90도 회전하면서 앞으로 굴러가는듯한 움직임을 보여주는데 여기서 좌,우로 이동하면 좌우로 굴러가는게 아니라 갑자기 회전축이 y축 기준으로 회전을 한다던가 이렇게 회전축이 바뀌어서 회전을해서 굴러가는 움직임이 안나옴....
대체 왜그럴까요 ㅠㅠ 저거 이동하는 부분 주석처리해도 똑같음
혹시 도형이 앞으로 90도 회전된 상태에서 z축 기준 회전을하면 그게 사람눈에는 y축기준으로 회전한것처럼 보이는건가. 그거같은데.... 어떻게 해결해야할까요
검색키워드: 짐벌락, 해결법: 쿼터니온
짐벌락은 3D 환경에서 회전축이 겹쳐져서 원하는 회전 축으로 회전을 못하는 현상으로, 위에서 지적하는 변경된 회전축으로 회전하는 현상과는 다른 현상인 거 같고. 글쓴이가 질문한 현상은 단순히 오일러각을 이용한 회전 연산(post-multiplication)으로 발생한 자연스러운 현상이야. 글쓴이가 원하는 회전 연산을 하려면 pre-multiplication 연산(ex. Roll Pitch Yaw)으로 회전을 처리해야 할 거 같아
Post-Multiplication과 Pre-Multiplication 회전 연산의 차이
:
https://taeyoung96.github.io/mathematics/Euler/
https://kmooc.udemy.com/course/graphics-with-modern-opengl/
이 강의 추천드려요