(2)-2 카메라 회전 실험 Quaternion.AngleAxis
1. transform.Rotate()의 계속
이전 기사는, 취득했지만 Quaternion 전혀 사용하고 있지 않은 것을 깨달았습니다.
Quaternion은 축으로 돌 정도의 지식 밖에 가지고 있지 않기 때문에 실험해 보고 싶었습니다.
그렇다면 어떤 것을 실현하고 싶습니까?
①Quaternion을 선언·취득하고 싶다
→ 현재 각도를 얻으려면,
Quaternion myQuaternion = this.transform.rotation;
👆 왼쪽, ,, 변수 이름 (고집)은 myQuaternion에.👆 오른쪽, , , 어태치하고 있는 객체의 회전 정보(transform.rotation)를 넣어라.
② Quaternion을 업데이트하고 싶습니다.
・마우스를 가미해 갱신하고 싶습니다.
오른쪽으로 움직이는 자신의 최대의 무기 GetAxis를 사용하지 않고. .
· 마우스를 가미하는 것은
if (Input.GetKey(KeyCode.W))
👆 키보드의 W 버튼을 누르면 구현됩니다.・AngleAxis 함수의 등장
Quaternion rot = Quaternion.AngleAxis(2, Vector3.right);
업데이 트에있는 "업데이트 요소"같은 것으로 이해했습니다.👆 왼쪽, ,, 변수 이름 rot에.
👆 우측, , , 초당 2도 d에서, x축을 축으로 하여 회전시킨다
여기서 의문이 나왔다. x축을 축으로 하여 Vector3(1,0,0)을 걸는 것은?
아니 이거 오일러 뿔이야. . . 코유토코 덮고 진행한다. . .
· 마지막으로 합성
this.transform.rotation = myQuaternion * rot;
👆 왼쪽,,,, 자신에게👆우측, ,, 자신에게 「갱신 요소」의 rot 변수를 걸어 대입해 줘.
,,, 감동,,,
움직일 수 있었습니다. 조금. .
· 그리고 마지막으로
Quaternion rot = Quaternion.AngleAxis(2, Vector3.right);
의 말미의 right를 바꾸면 다른 방향으로 회전해 줍니다.right, left, up, down은 사용하는 느낌이 있지만
그 외는 넣어 보면 거동에 놀라운 마무리에. . .
Vector3.zero; → Vector3(0,0,0) 부동
Vector3.right; → Vector3(1,0,0) 상회전
Vector3.left; → Vector3(-1,0,0) 하회전
Vector3.up; → Vector3(0,1,0) 오른쪽 회전
Vector3.down; → Vector3(0,-1,0) 좌회전
Vector3.forward; → Vector3(0,0,1) 우회전, 지구가
Vector3.back; → Vector3(0,0,-1) 좌회전, 지구가
Vector3.one; → Vector3(1,1,1)――, 뭐라고 할 수 없는 오른쪽 회전,
void Update()
{
if (Input.GetKey(KeyCode.W))
{
//Quaternionで回転するとこ
Quaternion myQuaternion = this.transform.rotation;
Quaternion rot = Quaternion.AngleAxis(2, Vector3.zero);
this.transform.rotation = myQuaternion * rot;
//オイラー角をDebug.Logで。
float quat_x = myQuaternion.eulerAngles.x;
float quat_y = myQuaternion.eulerAngles.y;
float quat_z = myQuaternion.eulerAngles.z;
Debug.Log("X=" + quat_x);
Debug.Log("Y=" + quat_y);
Debug.Log("Z=" + quat_z);
}
}
}
참고로 한 사이트입니다 : 감동에 감사드립니다.
【Unity】Quaternion으로 오브젝트를 회전시키는 방법
【Unity】Vector3의 사용법과 객체의 이동이나 회전을 표현하는 방법
Reference
이 문제에 관하여((2)-2 카메라 회전 실험 Quaternion.AngleAxis), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/egiheiIsono/items/bbb47e20b9e01412e11d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)