Unity는 왼쪽 좌표 시스템을 사용합니다.Unity에서는 오일러 각과 쿼터니언을 모두 사용하여 회전과 방향을 나타낼 수 있습니다.이러한 표현은 동일하지만 용도와 한계가 다릅니다.
보통 씬에서는 방향을 오일러 각으로 표시하는 트랜스폼 컴포넌트를 사용하여 오브젝트를 회전합니다. 그러나 Unity는 회전과 방향을 내부적으로 쿼터니언으로 저장하므로 짐벌 락으로 이어질 수도 있는 더 복잡한 모션에 유용할 수 있습니다.
좌표 시스템은 3차원 공간에서 오브젝트의 포지션을 설명합니다.Unity는 왼쪽 좌표 시스템을 사용합니다. 양수인 X축은 오른쪽을 가리키고, 양수인 Y축은 위쪽을 가리키며, 양수인 Z축은 앞쪽을 가리킵니다.Unity 왼쪽 좌표 시스템으로, 양수 x축에서 양수 y축으로 회전하는 방향은 양수 z축을 따라 볼 때 시계 반대 방향입니다.
트랜스폼 좌표에서 Unity는 벡터 프로퍼티 Transform.eulerAngles
X, Y, Z를 사용하여 회전을 표시합니다. 노멀 벡터와는 달리 이 값은 X, Y, Z 축에 대한 실제 회전 각도(단위: 도)를 나타냅니다.
오일러 각 회전은 3개의 축을 중심으로 3개의 개별 회전을 수행합니다. Unity는 Z축, X축, Y축을 중심으로 오일러 회전을 순차적으로 수행합니다. 이 회전 방법은 외부 회전입니다. 회전하는 동안 원래 좌표계가 변경되지 않습니다.
게임 오브젝트를 회전하려면 각 축이 트랜스폼 컴포넌트로 회전할 각의 크기를 입력할 수 있습니다. 스크립트로 게임 오브젝트를 회전하려면 Transform.eulerAngles
를 사용합니다. 오일러 각으로 변환하여 계산하고 회전하려면 짐벌 락 문제가 발생할 위험이 있습니다.
3D 공간에 있는 오브젝트가 자유도를 잃고 2차원 내에서만 회전할 수 있는 경우를 짐벌 락이라고 합니다. 두 축이 평행하면 오일러 각으로 짐벌 락이 발생할 수 있습니다. 스크립트에서 회전 값을 오일러 각으로 변환하지 않으면 쿼터니언을 사용하여 짐벌 락을 방지해야 합니다.
짐벌 락 문제가 있는 경우 Transform.RotateAround
를 사용하면 오일러 각을 피할 수 있습니다. 각 축에 Quaternion.AngleAxis
를 사용하여 함께 곱할 수도 있습니다(쿼터니언 곱셈은 각 회전에 차례로 적용됩니다).
쿼터니언은 3D 공간에서 공간 방향과 회전의 고유한 표현을 위한 수학적 표기법을 제공합니다. 쿼터니언은 4개의 숫자를 사용하여 3D에서 단위 축을 중심으로 회전 방향과 각도를 인코딩합니다. 이 4개의 값은 각이나 각의 크기가 아닌 복소수입니다. 자세한 내용은 쿼터니언의 수학을 참조하십시오.
쿼터니언 회전은 계산이 효율적이고 안정적이기 때문에 Unity는 회전 값을 쿼터니언으로 전환하여 저장합니다.단일 쿼터니언은 어떤 축에 대해서도 360도보다 큰 회전을 나타낼 수 없기 때문에 Unity 에디터는 회전을 쿼터니언으로 표시하지 않습니다.
Quaternion 클래스를 사용하면 쿼터니언을 직접 사용할 수 있습니다.회전에 스크립트를 사용하는 경우 쿼터니언 클래스와 함수를 사용하여 회전 값을 생성하고 변경할 수 있습니다.회전 값은 오일러 각으로 적용할 수 있지만 문제를 방지하려면 쿼터니언으로 저장해야 합니다.
다음 스크립트를 사용하여 쿼터니언과 오일러 각 간을 변환하고 원하는 방식으로 회전을 보고 편집할 수 있습니다.
Quaternion.Euler
함수를 사용하여 오일러 각도에서 쿼터니언으로 변환할 수 있습니다.Quaternion.eulerAngles
함수를 사용하여 쿼터니언을 오일러 각으로 변환할 수 있습니다.Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.
방문하는 모든 웹사이트의 정보가 브라우저에서 쿠키 형태로 저장되거나 수집될 수 있습니다. 본 정보는 귀하와 귀하의 선호도, 기기에 대한 것이며, 귀하의 선호도에 따라 사이트가 동작하도록 하는 데 사용됩니다. 본 정보는 귀하를 직접적으로 식별하지 않으나 보다 개인화된 웹 경험을 제공하기 위해 사용됩니다. 그러나 일부 쿠키를 거부할 수 있습니다. 더 자세한 정보를 확인하고 기본 설정을 변경하려면 해당 카테고리의 제목을 클릭하세요. 그러나 일부 쿠키를 차단하면 귀하의 사이트 경험과 회사에서 제공하는 서비스에 영향을 미칠 수 있습니다.
추가 정보
본 쿠키는 동영상 및 실시간 채팅과 같은 고급 기능과 개인화를 허용합니다. 쿠키는 회사 또는 회사 페이지에 추가된 제3 서비스 사업자가 설정할 수 있습니다. 쿠키를 허용하지 않으면 일부 기능이 정상 작동하지 않을 수 있습니다.
이 쿠키는 방문자 수, 데이터 트래픽 정보를 확인해 회사 사이트의 성능을 측정하고 개선할 수 있도록 합니다. 또한 가장 인기가 많거나 인기가 적은 페이지를 확인하며 방문자가 사이트를 이동하는 방법을 확인할 수 있도록 합니다. 쿠키가 수집하는 모든 정보는 누적되며 익명 처리됩니다. 쿠키를 허용하지 않으면 귀하가 회사 사이트에 방문한 시기를 알 수 없습니다.
이 쿠키는 회사의 광고 협력사가 회사 사이트에 설정한 것입니다. 해당 협력사는 귀하의 관심사에 대한 프로파일을 만들고 다른 사이트에서도 관련 광고를 표시하기 위해 이 쿠키를 사용합니다. 이 쿠키는 귀하의 브라우저와 기기를 식별함으로써 동작합니다. 이 쿠키를 허용하지 않으면 다른 웹사이트에서 회사가 제공하는 맞춤형 광고를 경험할 수 없습니다.
이 쿠키는 웹사이트의 기능을 위해 필수적이며, 회사 시스템 내에서 종료할 수 없습니다. 이 쿠키는 개인정보 선호도, 로그인 또는 양식 작성과 같은 서비스 요청에 해당하는 귀하의 행위에 따라서만 주로 설정됩니다. 귀하의 브라우저에서 이 쿠키를 차단하거나 쿠키에 대해 알림 설정을 할 수 있지만, 이 경우 해당 사이트의 일부 기능이 동작하지 않을 수 있습니다.