2017-05-23 1 views
1

제가 화성의 회전에 대해 알고있는 것은 Quaternion을 사용하는 장면 뒤에서 검사원에게 각도를 보여줍니다. 그러나 검사기 값이 양수에서 음수로 바뀌면 내 오일러 각도와 검사기 회전 y가 같지 않다는 사실에 놀랐습니다. 나는 지역 오일러 각도를 얻기 위해이LocalEulerAngle이 검사관과 다릅니다

transform.localEulerAngles.y 

을 사용하고 왜

.

경위 : 코드 LocalEulerAngle

97.04301 : 나는이 같은 긍정적 인 증가 것으로 나타났습니다 97.04301 // 일치

158.659

: 158.659 //

-179.094

일치 : 180.9064 // 일치하지 않음

-170.812 : 189.1875 // 일치하지 않음

+3

음수 값은 고려하지 않습니다. -179.094는 실제 각도가 아니지만 180.906입니다. 이것은 기본적으로 360 - 179.094입니다. 이는 LocalEulerAngle에서 볼 수있는 180.906과 같습니다. 그래서 기술적으로 180.906은 당신이 찾고있는 각도이고, 그것은 단지 음의 각도를주지 않을 것입니다. – Alox

+0

그렇다면 그 값을 보여주는 내 수사관은 어떨까요? 어떤 감찰관이 실제로 무엇을 나타내는가 –

답변

0

유니티와 모든 인기있는 게임 엔진은 모든 종류의 회전 표현과 계산에 Quaternions을 사용합니다. 오일러 각도를 사용하면 Gimbal lock과 같은 문제가 발생하기 때문에 내부적으로 사용되지 않습니다.

귀하가 본 인스펙터의 내용은 귀하가 이해하고 시각화 한 것입니다. 쿼터니언은 이해하기 어렵습니다 (나는 그것을 의미합니다!) 그래서 그들은 수학적이지 않은 천재 공통 사용자로부터 항상 숨겨져 있습니다. 코드에서 검색된 값은 오일러로 표시된 쿼터니언이며 관리자 속성 값은 관리자 속성 값입니다.

+0

이 farhan은 무엇입니까? 반면 감찰관 값은 잘 감찰관 수치입니다. " –

+0

그건 내가 당신이 자유롭게 회전 할 수 있다는 것을 의미합니다. -900 in X. 이 값은 2.5 풀 360 회전을 의미하지만 내부적으로 쿼터니언 표현과 완전히 다른 것입니다. 다음을 참조하십시오 : http://answers.unity3d.com/questions/645903/please-explain-quaternions.html – Farhan

0

localEulerAnglesdocumentation.에 간략하게 설명 된대로 0에서 360 사이의 값을 사용합니다. 대부분 정보가 풍부합니다.

+0

그러면 인스펙터 값은 무엇입니까? –

+0

인스펙터 값은 Quaternion에서 각도 변환됩니다 (localEulerAngles와 동일). 그러나 'localEulerAngles'와 달리 속성 값은 0과 360 사이에 고정되지 않습니다. 속성 값을 속성으로 변환하려면 값이 0에서 360 사이가 될 때까지 360을 더하거나 뺍니다. –