Frontend/Unity

[유니티 트랜스폼] 회전 (Rotate)

에반황 2016. 8. 4. 17:14


이 글은 PC 버전 TISTORY에 최적화 되어있습니다.


서론

3D 게임에서 회전이라는 요소는 굉장히 중요합니다. 앞만 보고 달리는 오버워치 캐릭터를 생각해보면 아찔합니다. 이번에는 마우스의 좌, 우 움직임에 따라 오브젝트가 회전하는 것을 구현함으로서 회전에 대해서 알아보도록 하겠습니다.









회전 구현하기


유니티에서 회전을 할 수 있게 해주는 함수는 transform.Rotate 입니다. 3가지 사용법이 있으나 Y축을 기준으로 회전한다는 결과는 같습니다. 



1. transform.Rotate(Vector3.up * Time.deltaTime);

2. transform.Rotate(0, Time.deltaTime, 0);

3. transform.Rotate(Vector3.up, Time.deltaTime);







위에서 첫 번째 방법을 사용해보도록 하겠습니다. 인자에 대한 설명은 아래와 같습니다.



transform.Rotate(회전할 기준 좌표 축 * Time.deltaTime * 회전 속도 * 변위 값)







위와 같이 이전 이동 스크립트에 마우스 좌, 우의 변위 값을 통해 회전하는 코드를 추가합니다.













마우스를 좌, 우로 움직이면 잘 동작하는 것을 볼 수 있습니다. 속도를 조절하고 싶다면 rotSpeed 값을 조절하시면 되겠습니다.








반응형