본문 바로가기
Engine/UNITY

쿼터니언 (Quaternion)함수를 사용하여 Look At 쉽게 만들기~

by tartist 2015. 12. 31.

유니티 스크립트에서는 기본적으로 쿼터니언을 제공한다.

스크립트 에디터에서 Quternion을 치고 F12를 누르면~ 

 

쿼터니언에 관련된 다양한 함수를 확인할 수 있다.

 

 

이중 SetLookRotation을 활용하면 편리하게 룩앳 함수를 만들수 있다.

 

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

 [SerializeField] private GameObject targetObj;

 void Start () { 
 }


 void Update () {
  lookTarget(); 
 }

 void lookTarget()
 {
  Quaternion lookAt = Quaternion.identity;    // Querternion 함수 선언
  Vector3 lookatVec = (targetObj.transform.position - transform.position).normalized; //타겟 위치 - 자신 위치 -> 노멀라이즈
  lookAt .SetLookRotation (lookatVec);  // 쿼터니언의 SetLookRotaion 함수 적용
  transform.rotation = lookAt ;   //최종적으로 Quternion  적용
 }
}

위와 같이 코딩을 하고 바라볼 타겟 오브젝트를 지정해 주면 아래처럼 작동하는 룩앳함수가 완성된다.