Unity

메인 카메라 이동 (Unity)

힘법사 2020. 12. 21. 19:14
728x90

 게임을 하다 보면 메인 카메라를 이동해야할 필요가 있습니다. 슈퍼마리오만 플레이 해봐도 마리오를 따라 카메라가 이동하는 것을 알 수 있습니다.

그림. 슈퍼 마리오 게임

 이번 시간에는 메인 카메라를 유니티에서 이동하는 방법에 대해서 이야기하고자 합니다.

 

0. C# script 만들어주기

 

먼저 C# script를 만들어줍니다.

그림. 메인 카메라 제어를 위한 Script

 저는 CameraController라는 이름으로 C# Script를 만들어 줬습니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraController : MonoBehaviour
{
    GameObject player;
    // Start is called before the first frame update
    void Start()
    {
        player = GameObject.Find("cat"); // game object cat을 찾아서 객체에 지정
    }

    // Update is called once per frame
    void Update()
    {
        Vector3 PlayerPos = player.transform.position; // 플레이어가 조종중인 게임 오브젝트의 위치를 계산
        transform.position = new Vector3(transform.position.x, PlayerPos.y, transform.position.z); // 플레이어가 조종중인 오브젝트의 y 값만 카메라의 좌표에 넘김
    }
}

 

코드는 다음과 같이 구성했습니다. 주석으로 기능을 설명해두었으니 차근 차근 따라오시면 이해가 되실겁니다.

해당 코드 내용을 실행시키면 카메라가 플레이어를 따라 움직일 것으로 예상됩니다. 이제 해당 코드를 MainCamera에 upload한 후 게임을 실행시켜 보겠습니다.

그림. 만들어진 Script를 Main Camera에 드래그 해서 넣음

동영상. 시연 영상

 시연 결과 플레이어의 위치에 따라 코딩된 것과 같이 카메라가 찍는 y축이 변하는 것을 볼 수 있습니다.

다음에도 유용한 정보로 돌아오겠습니다. 감사합니다. ^^

728x90