transform.rotation은 Quaternion형태인 (x, y, z, w)의 형태로 표시된다.
Quaternion.Euler에 Vector3 값을 넣으면 Quaternion 값으로 변환된다.
transfomr.rotation = Quaternion.Euler(new Vector3(30,50,20));
transform.rotation = Quaternion.Euler(30,50,20); // 위와 동일
eulerAngles
float rotY = transform.rotation.eulerAngles.y;
1. Vector3 값으로 변환 후 더한 다음 Quaternion으로 다시 변환.
Quaternion originalRot = transform.rotation;
Vector3 originalRotVec3 = originalRot.eulerAngles;
Vector3 newRotation = originalRotVec3 + new Vector3(10, 50, 20);
transform.rotation = Quaternion.Euler(newRotation);
2. Quaternion 값 더하기(=곱하기)
Quaternion originalRot = Quaternion.Euler(new Vector3(5, 20, 40));
Quaternion addRot = Quaternion.Euler(new Vector3(25, 10 ,5));
Quaternion newRot = originRot * addRot; //곱하기가 합을 의미
transform.rotation = newRot;
1. Quaternion.Slerp
this.transform.rotation = Quaternion.Slerp(transform.rotation, quaternion.Euler(new Vector3(0,0,0)), turnSpeed);)
유니티 Scene 감지하기 노트 (0) | 2020.08.23 |
---|---|
유니티 PlayerPrefs 이용하여 데이타 저장하기 노트 (0) | 2020.08.23 |
유니티 scene 불러오기 노트 (0) | 2020.08.15 |
유니티 script 로 layer 바꾸기 (1) | 2020.08.14 |
유니티 list 사용법 노트 (0) | 2020.08.13 |
댓글 영역