Unity 씬이 생성되면 단일 카메라만 포함되며, 이는 대부분의 상황에 필요합니다. 하지만 씬에 원하는 만큼 카메라를 포함할 수 있으며, 아래 설명대로 다양한 방식으로 뷰를 결합할 수 있습니다.
기본적으로 카메라는 전체 화면으로 표시되기 위해 뷰를 렌더링하므로 한 번에 하나의 카메라 뷰만 볼 수 있습니다(보이는 카메라는 depth 프로퍼티에 대해 가장 높은 값을 가진 카메라). 한 카메라를 비활성화하고 스크립트에서 다른 카메라를 활성화하면 한 카메라에서 다른 카메라로 ‘컷’하여 씬에 다른 뷰를 제공할 수 있습니다. 예를 들어 오버헤드 맵 뷰와 1인칭 뷰를 전환할 수 있습니다.
using UnityEngine;
public class ExampleScript : MonoBehaviour {
public Camera firstPersonCamera;
public Camera overheadCamera;
// Call this function to disable FPS camera,
// and enable overhead camera.
public void ShowOverheadView() {
firstPersonCamera.enabled = false;
overheadCamera.enabled = true;
}
// Call this function to enable FPS camera,
// and disable overhead camera.
public void ShowFirstPersonView() {
firstPersonCamera.enabled = true;
overheadCamera.enabled = false;
}
}
일반적으로 전체 화면에 표시되는 카메라 뷰를 하나 이상 원하지만(기본 설정), 화면의 작은 영역 내에서 다른 뷰를 표시하는 것이 유용합니다. 예를 들어 주행 게임에서 후면 뷰 미러를 표시하거나 메인 뷰가 1인칭인 상태에서 화면 모서리에 오버헤드 미니맵을 표시할 수 있습니다. Viewport Rect 프로퍼티를 사용하여 카메라의 화면 사각형 크기를 설정할 수 있습니다.
뷰포트 사각형의 좌표는 화면에 대해 ‘정규화’됩니다. 하단 및 왼쪽 가장자리 좌표는 0.0, 상단 및 오른쪽 가장자리는 1.0입니다. 좌표 값 0.5는 중간값입니다. 뷰포트 크기 외에도 작은 뷰 내 카메라의 depth 프로퍼티를 배경 카메라보다 높은 값으로 설정해야 합니다. 정확한 값은 중요하지 않지만, 뎁스값이 높은 카메라는 값이 낮은 카메라 위에 렌더링됩니다.