본문 바로가기
[ Unity ]/- 유니티 실습

유니티 - [rotation, LookRotation, Quaternion, Slerp]

by MRG 2022. 4. 7.
728x90
반응형

▣ 안녕하세요. 이번장에서는 LookRotation, Quaternion, Slerp을 사용하여 

타깃을 향해서 회전을 하는 코드를 공부해보겠습니다.

 

▣ 우선 3D 프로젝트를 만들어서 캡슐 오브젝트로 Player와 큐브로 Enemy오브젝트를  만들어주세요.

그리고 player오브젝트에는 PlayerManager라는 스크립트를 생성해주세요.

 

 

728x90

 

▣ obj 게임오브젝트로 바라볼 오브젝트를 지정해주시고, 

업데이트 함수에서 transform.rotation을 지정하겠습니다.

이건 현재 나의 회전 값을 지정하는 코드입니다. 

여기에 Quaternion.LookRotation()함수를 사용하겠습니다.

이 함수는 해당 백터를 바라보는 함수입니다. 

여기에 우리가 바라볼 오브젝트에 포지션값을 넣게 되면 플레이어가 obj를 바라보며 회전하게 됩니다.

저장하고 

 

 

▣ 플레이를 하고 Enemy 포지션을 바꿔보면 플레어가 적을 보며 회전하는 걸 확인할 수 있습니다. 

 

▣ 이번에는 Quaternion.Slerp()함수를 사용하겠습니다.

이건 일정 시간을 두고 목표하는 방향으로 회전하는 코드입니다. 

처음에 나의 회전값, 내가 볼 오브젝트, 시간을 넣어주면 됩니다. 

Time.deltaTime만 넣게 되면 너무 느리게 회전하는 것처럼 보이기 때문에 speed 값도 값이 곱했습니다.

저장을 하고 

 

 

▣ 회전을 하면 아까와 다르게 부르럽게 회전이 되는 걸 확인할 수 있습니다. 

728x90
반응형

댓글