Version: 2018.1
카메라
카메라 트릭

두 개 이상의 카메라 사용

Unity 씬이 생성될 때는 하나의 카메라만 포함되며 대다수의 경우 이것만으로도 충분합니다. 하지만 원하는 경우 씬에서 많은 카메라를 사용할 수 있으며 카메라의 뷰를 다양한 방식으로 결합할 수도 있는데 아래에서 설명하겠습니다.

카메라 전환

기본적으로 카메라는 전체 씬을 커버하도록 뷰를 렌더링하기 때문에 한 번에 하나의 카메라 뷰(depth 프로퍼티 값이 가장 높은 카메라가 보이는 카메라)만 보입니다. 씬에서 다른 뷰를 주기 위해 스크립트에서 한 카메라를 비활성화하며, 다른 카메라를 활성화해 한 카메라를 “컷”하고 다른 카메라로 옮겨갈 수 있습니다. 예를 들어, 오버헤드 맵 뷰와 1인칭 뷰 사이에서 전환할 때 활용할 수 있습니다.

using UnityEngine;
using System.Collections;

public class ExampleScript : MonoBehaviour {
    public Camera firstPersonCamera;
    public Camera overheadCamera;

    public void ShowOverheadView() {
        firstPersonCamera.enabled = false;
        overheadCamera.enabled = true;
    }
    
    public void ShowFirstPersonView() {
        firstPersonCamera.enabled = true;
        overheadCamera.enabled = false;
    }
}

C# 스크립트 예제

var firstPersonCamera: Camera;
var overheadCamera: Camera;

function ShowOverheadView() {
    firstPersonCamera.enabled = false;
    overheadCamera.enabled = true;
}

function ShowFirstPersonView() {
    firstPersonCamera.enabled = true;
    overheadCamera.enabled = false;
}

JS 스크립트 예제

큰 카메라 뷰 안의 작은 카메라 뷰 렌더링

일반적으로 전체 씬을 커버하는 카메라 뷰가 최소 한 개 필요하지만(디폴트 설정), 많은 경우 화면의 작은 영역 안에 또 다른 뷰를 나타내면 유용합니다. 예를 들어, 주행 게임에서 백미러를 보여준다거나 메인 뷰는 1인칭을 유지하면서도 화면 구석에 오버헤드 미니 맵을 보여주는 방식입니다. 카메라 화면의 사각형 크기를 Viewport Rect 프로퍼티로 설정할 수 있습니다.

뷰포트 사각형의 좌표는 화면에 대해 “정규화”됩니다. 아래와 왼쪽 에지는 좌표 0.0이며 위와 오른쪽 에지는 1.0, 중간의 좌표값은 0.5입니다. 뷰포트 크기 외에 카메라의 depth 프로퍼티도 작은 뷰는 배경 카메라보다 높은 값으로 설정해야합니다. 정확한 값은 중요하지 않지만 뎁스 값이 더 높은 카메라가 낮은 값의 카메라에 렌더링됩니다.

카메라
카메라 트릭