목표

  • LookAt을 사용하여, Target Object를 바라보는 방법에 대해 알아보자

GameObject의 Vector

  • 물체는 기본적으로 up vector, right vector, forward vector를 가진다.

샘플 코드

  • LookAtCamera 이라는 스크립트를 생성하고, 해당 스크립트를 Main Camera에 붙인다.
  • 이때 바라볼 물체는 TargetObject이다. 바라볼 물체인 Sphere를 하나 생성하자.
  • 정확한 카메라 위치를 표시하기 위해, 카메라는 Cube를 붙였다.

 

using UnityEngine;

public class LookAtCamera : MonoBehaviour
{

    public GameObject TargetObject;

    // Use this for initialization
    void Start()
    {

    }


    void FixedUpdate()
    {
        this.transform.LookAt(TargetObject.transform);
    }
}
  • 생성한 Sciprt의 targetObject에 Sphere를 넣어준다.
  • 하이러키창의 Sphere를 드래그&드롭으로 이동시키거나, 스크립트 이름이 표시된 창에서 오른쪽 끝에 있는 작은 동그라미를 누르면  선택창이 나온다.

LookAt

  • 설정한 transform을 바라본다.

  • 이때 Pivot 설정이 Global이냐 Local이냐에 따라, 회전하는 물체의 Vector 표시에 차이가 발생한다.

  • Global : 물체가 회전해도, 물체의 up, right, forward를 표시하는 기지모가 월드로 고정된다.

  • Local : 물체의 회전에 따라, 물체의 up, right, forward 기지모가 회전한다.

+ Recent posts