(2)-3 카메라 회전 실험 eulerAngles
eulerAngles를 사용하고 싶습니다.
eulerAngles를 사용해야하기 때문에 기록합니다.
참조를 살펴보기
・오일러각으로서의 각도
· x, y, z의 각도는 z축에 z도, x축에 x도, y축에 y도 순으로 회전합니다.
·이 변수는 읽거나 절대 값의 각도를 설정할 때만 사용하십시오.
・각도가 360도를 넘었을 때에는 실패하므로 증분하지 않도록 하십시오. 대신 Transform.Rotate를 사용하십시오.
이름 그대로 오일러로, Vector3형으로, z→x→y의 순서로 회전한다고 이해.
스크립트 참조
다른 사이트에서 사용법을 조사합시다.
transform.eulerAngles = new Vector3(45, 45, 0);
회전
흠흠.
각 XYZ의 값 변경이 어떻게되는지 실험
void Update()
{
//ボタン押しながら実験したいのでAボタンを押したら、、、
if (Input.GetKeyDown(KeyCode.A))
{
transform.eulerAngles = new Vector3(45, 45, 0);
//どうなるかの確認用
Debug.Log(this.transform.eulerAngles);
}
}
현재 좌표는 (0,10,0)에서 (45,45,0)이어야 하기 때문에
화살표 방향으로 붉은 원이 갈 예상
A 버튼을 누르면 그런 느낌으로 회전하고 있습니다.
Debug.Log 결과
처음 (0,10,0)에서 (45,45,0)에 버튼 누르면 워프하는 느낌.
버튼을 누르면 누른 만큼 회전하고 싶다
⚡ 혹시 1로 하면 좋지 않아? 작전transform.eulerAngles = new Vector3(1, 0, 0);
언제까지 지나도, (1, 0, 0)이 되기 때문에 다르다(-_-;)
transform.eulerAngles + = new Vector3(0, 0, 1);
+를 넣으면 된다
⚡갱신작전
뭔가 이동할 때 Vectoe3를 업데이트하는 글을 본 것 같다. .Vector3 rightArrow = new Vector3(0.1f, 0f, 0f);
this.transform.eulerAngles(rightArrow);
eulerAngles는 메소드처럼 사용할 수없는 오류 (-_-;)
⚡ 만책 다해 Googl 선생님에게 듣기
eulerAngles는 지정된 좌표로 회전합니다. 과연-!
순식간에 각도 바꿀 때 전용이라는 것.
[Unity] transform.eulerAngles 정보
⚡라도 Vector3.forward라든지 실현할 수 있을지도transform.eulerAngles += Vector3.forward;
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
transform.eulerAngles += Vector3.forward;
Debug.Log(this.transform.eulerAngles);
}
}
이외에 할 수 있어 놀랍다.
eulerAngles 및 localEulerAngles
eulerAngles는 세계 좌표로 localEulerAngles는 부모로부터의 각도.
Debug.Log에서는 eulerAngles도 localEulerAngles도 같은 값을 돌려주고 있었다.
eulerAngles 쪽만 공식적으로 360도를 넘었을 때에는 실패한다고 써 있었기 때문에
어떻게 실패하는지 보고 싶어지고 360회 연타하지만 실패는 보이지 않았다. 죄송합니다. .
요약
・순간에 각도 바꿀 때 전용으로 사용해야 한다
・누른 분만도 Vector3.forward라든지 가능하지만 Rotate를 사용한다.
참고로 한 사이트
스크립트 참조
Unity 회전 주변 정보
회전
[Unity] transform.eulerAngles 정보
Reference
이 문제에 관하여((2)-3 카메라 회전 실험 eulerAngles), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/egiheiIsono/items/442d51274df48da0310b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
transform.eulerAngles = new Vector3(45, 45, 0);
void Update()
{
//ボタン押しながら実験したいのでAボタンを押したら、、、
if (Input.GetKeyDown(KeyCode.A))
{
transform.eulerAngles = new Vector3(45, 45, 0);
//どうなるかの確認用
Debug.Log(this.transform.eulerAngles);
}
}
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
transform.eulerAngles += Vector3.forward;
Debug.Log(this.transform.eulerAngles);
}
}
Reference
이 문제에 관하여((2)-3 카메라 회전 실험 eulerAngles), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/egiheiIsono/items/442d51274df48da0310b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)