본문 바로가기
Unity

[Unity, C#] Quaternion 종류 및 간단한 사용법

by 코모's 2023. 12. 12.
반응형

Quaternion.Euler
오브젝트 회전값 변경합니다.

Vector3 eulerAngles = new Vector3(45f, 90f, 0f);
Quaternion rotation = Quaternion.Euler(eulerAngles);



Quaternion.AngleAxis

축 axis 주위를 angle 만큼 회전한 rotation을 생성하고 리턴한다.

axis의 값은 변하지 않는다.

Vector3 axis = Vector3.up;
float angle = 45f;
Quaternion rotation = Quaternion.AngleAxis(angle, axis);



Quaternion.LookRotation
오브젝트가 지정된 방향을 바라보게하는 회전을 만듭니다.

Vector3 targetPosition = new Vector3(5f, 0f, 0f);
Vector3 upVector = Vector3.up;
Quaternion rotation = Quaternion.LookRotation(targetPosition, upVector);


Quaternion.eulerAngles
Qurternion을 오일러각으로 변환시킨다. 즉 Vectoer3로 변환한다.

Quaternion rotation = Quaternion.identity;
Vector3 eulerAngles = rotation.eulerAngles;



Quaternion.Lerp

오브젝트를 t만큼 보간하여 움직이는 거리를 가져옵니다.

Lerp -> 선형 보간법

Slerp -> 구면 선형 보간법, 주로 회전이나 방향을 보간할때 주로 사용

 

Quaternion startRotation = Quaternion.identity;
Quaternion endRotation = Quaternion.Euler(0f, 90f, 0f);
float t = 0.5f;
Quaternion interpolatedRotation = Quaternion.Lerp(startRotation, endRotation, t);

 

반응형

'Unity' 카테고리의 다른 글

[Unity] 유니티 간단한 조이스틱 캐릭터 조작  (0) 2023.10.16