Unity 멀티 디스플레이 사용 가이드
개요
Unity에서는 최대 8개의 서로 다른 모니터에 다양한 카메라 뷰를 표시할 수 있는 멀티 디스플레이 기능을 제공합니다. 이 기능은 PC 게임, 아케이드 기계 및 공개 디스플레이 설치 등에 유용하게 활용할 수 있습니다.
지원되는 플랫폼
Unity는 다음 플랫폼에서 멀티 디스플레이를 지원합니다:
- 데스크톱 플랫폼 (Windows, macOS X, Linux)
- Android (OpenGL ES 및 Vulkan)
- iOS
참고: 일부 기능은 특정 플랫폼에서만 작동합니다. 호환성에 대한 자세한 내용은 "디스플레이", "화면", "FullScreenMode API"를 참조하십시오.
멀티 디스플레이 활성화
Unity의 기본 디스플레이 모드는 하나의 모니터로 설정되어 있습니다. 애플리케이션을 실행할 때 Display.Activate()
메서드를 사용하여 추가 디스플레이를 활성화할 수 있습니다. 디스플레이를 한 번 활성화하면 비활성화할 수 없습니다.
활성화 방법
- 추가 디스플레이는 애플리케이션이 새 씬을 만들 때 활성화하는 것이 좋습니다.
- 기본 카메라에 스크립트 컴포넌트를 연결하고,
Display.Activate()
를 한 번만 호출합니다. - 작은 초기 씬을 만들어 스크립트를 테스트하는 것도 유용합니다.
예제 스크립트
아래는 모든 연결된 디스플레이를 활성화하는 예제 스크립트입니다.
using UnityEngine;
using System.Collections;
public class ActivateAllDisplays : MonoBehaviour
{
void Start ()
{
Debug.Log ("displays connected: " + Display.displays.Length);
for (int i = 1; i < Display.displays.Length; i++)
{
Display.displays[i].Activate();
}
}
void Update()
{
}
}
멀티 디스플레이 미리보기
다른 카메라 뷰를 미리 보려면 다음 절차를 따릅니다:
- 카메라의 인스펙터에서 해당 카메라의 Target Display를 선택합니다.
- 카메라 인스펙터의 타겟 디스플레이 옵션이 게임 뷰 안에 있는지 확인합니다.
- 왼쪽 상단 모서리의 Display 메뉴에서 미리 볼 Display를 선택합니다.
API 지원
Unity는 다음의 UnityEngine.Display API 메서드를 지원합니다.
메서드 | 설명 |
---|---|
public void Activate() |
현재 모니터의 너비와 높이에 특정 디스플레이를 활성화합니다. 새 씬을 시작할 때 한 번만 호출해야 합니다. |
public void Activate(int width, int height, int refreshRate) |
Windows 전용으로, 커스텀 너비 및 높이의 특정 디스플레이를 활성화합니다. Linux와 macOS X에서는 보조 디스플레이가 항상 현재 해상도를 사용합니다. |
모니터 디스플레이 포지션 제어
기본적으로 사용자 컴퓨터는 x, y 가상 데스크톱에 따라 디스플레이 모니터의 상대적 포지션을 정렬합니다. 이를 오버라이드하여 애플리케이션이 정렬 없이 표시하도록 하려면, 커맨드 라인에서 애플리케이션을 시작하고 -multidisplay
커맨드 라인 플래그를 활용합니다.
결론
Unity의 멀티 디스플레이 기능은 여러 화면을 활용해야 하는 다양한 프로젝트에서 큰 도움이 될 수 있습니다. 이 가이드를 통해 기본적인 세팅 및 API 활용법을 배우고, 필요한 경우 더 깊은 활용 방안을 탐구해보시기 바랍니다.