The one thing

[유니티 무료 버전으로 놀아보자 (7)]

- 따라다니는 카메라 구현 -


  몇칠 전부터 어떻게 해면 유니티에서 카메라가 캐릭터를 따라다니게 할까 무척 고심했었습니다.


  지금 만들고 있는 2D 상황에서 Y 축은 고정하고 X 축만 따라 카메라를 이동시키고 싶었죠. Y 축까지 카메라가 따라 이동하면 자전거 점프에 따라 화면이 위아래로 요동칠 테니까요. 어떻게 하면 이것을 간단한 코드로 구현할까 여기저기 찾아 보고 만져 보다가 드디어 성공했습니다.



  카메라 이동에 따른 효과를 살펴보기 위해서 그림판을 이용해 자동차를 그리고 에셋에 추가시켰습니다. (나날이 그림 그리는 실력이 발전하는 것 같지 않습니까. ㅋ_ㅋ)


  또한 자동차에도 Box Collider 2D 속성을 주어 충돌을 감지하도록 만들었죠. 이제 카메라 스크립트를 만들어 봅시다. 이름은 그냥 Camera라고 지었습니다.


using UnityEngine;

using System.Collections;


public class Camera : MonoBehaviour {


GameObject player;

/* 유니티에서 사용되는 게임 오브젝트 속성의 변수를 만들어 주었습니다. */


// Use this for initialization

void Start () {

player = GameObject.FindWithTag ("Player");

/* 시작함과 동시에 변수에 태그 이름 Player로 된 오브젝트를 넣어 줍니다. */

}

// Update is called once per frame

void Update () {

}


void LateUpdate () {

/* 카메라의 자연스러운 워킹을 위해서 살짝 더딘 LateUpdate를 사용한다고 합니다. */


    transform.position = new Vector3 (player.transform.position.x, 4.7f, -10f);

/* 핵심인 이동 명령, 플레이어의 X 좌표를 따라가고 Y, Z 좌표는 고정하여주었습니다. */

/* Y 축과 Z 축의 값은 편집화면을 참고하여 나름대로 정하면 됩니다. */


}

}


  위 스크립트에서 반드시 필요한 오브젝트의 태그 이름은 다음과 같은 설정 창에서 마음대로 지정해 줄 수 있습니다.



  이제 이 스크립트를 카메라에 집어 놓고 실행시켜 보면 다음과 같습니다.



  성공 ~

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading