Quaternion
position은 익숙한데 Quaternion은 영 어색하다.
아직 삐약🐣
유니티 공식 문서로 검색해 보면
쿼터니언(Quaternions)은 회전을 표현하기 위해 사용됩니다.
이라고 나와 있다.
사실 저번에도 찾아봤다. 기억이 안났을 뿐... 이번에 확실히 이해해내고 말꺼다!
positon이랑 친구인데 위치가 아니라 회전을 관리해주는 친구다
사용 예제
- identity : Quaternion을 쓰긴 써야 하지만 굳이 필요 없을 때, 형식적으로 필요할 때 사용한다
GameObject go = Instantiate<GameObject>(effectPrefabs[index], position, Quaternion.identity);
- Euler(x,y,z) : 각 축으로 회전
왜 사용해야 하는가?
사실 이 글에 핵심. 내가 다시는 구글에 Quaternion을 검색하지 않기 위해 쓰는 글.
아까 위에서 나왔던 오일러 연산(Euler
)이 Quaternion을 쓰는 이유다. 오일러 계산이 짐벌락 현상을 막아주기 때문
- 짐벌 락(Gimbal Lock) :
3개의 짐벌을 이용해 회전하는 3차원에서 두 개의 짐벌이 겹쳐질 경우 회전축 하나가 사라지는 현상
(그래서 2D 게임보다 3D 게임에서 quaternion을 훨씬 많이 봤나보다)
오일러 연산은 스크립팅을 통해서 회전하는 축의 순서를 정해줄 수 있기 때문에 겹치게 되지 않는 모양이다. 나도 실제로 여기까지 써본적이 없어서 아직 모르겠다;;;
써보게 되면 추가해야징!
Author And Source
이 문제에 관하여(Quaternion), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@stingray/Quaternion저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)