여러 카메라에서 동일한 렌더 타겟에 렌더링
유니버설 렌더 파이프라인(URP)에서는 여러 개의 베이스 카메라 또는 카메라 스택이 동일한 렌더 타겟에 렌더링할 수 있습니다. 이를 활용하면 분할 화면 렌더링 같은 효과를 구현할 수 있습니다.
두 개 이상의 베이스 카메라 또는 카메라 스택이 렌더 타겟의 동일한 영역에 렌더링하는 경우 Unity는 겹치는 영역에 각 픽셀을 여러 번 그립니다. Unity는 이전에 그린 픽셀 위에 가장 높은 우선 순위가 마지막에 오도록 하여 베이스 카메라와 카메라 스택을 그립니다. 오버드로우에 대한 자세한 내용은 고급 정보를 참조하십시오.
베이스 카메라의 Output Target 프로퍼티를 사용하여 렌더 타겟을 정의하고, Viewport Rect 프로퍼티를 사용하여 렌더링할 렌더 타겟의 영역을 정의할 수 있습니다. 뷰포트 좌표에 대한 자세한 내용은 Unity 매뉴얼과 API 문서를 참조하십시오.
분할 화면 렌더링 설정
- 씬에서 카메라를 생성합니다. 해당 Render Mode가 Base로 기본 설정되며 베이스 카메라가 됩니다.
- 카메라를 선택합니다. 인스펙터에서 Output 섹션으로 스크롤합니다. Output Target을 Camera로 설정하고 Viewport rect 값을 다음으로 변경합니다.
- X: 0
- Y: 0
- W: 0.5
- H: 1
- 씬에 카메라를 하나 더 생성합니다. 해당 Render Mode가 Base로 기본 설정되며 베이스 카메라가 됩니다.
- 카메라를 선택합니다. 인스펙터에서 Output 섹션으로 스크롤합니다. Output Target을 Camera로 설정하고 Viewport rect 값을 다음으로 변경합니다.
- X: 0.5
- Y: 0
- W: 0.5
- H: 1
Unity가 화면 왼쪽의 첫 번째 카메라를 렌더링하고, 화면 오른쪽의 두 번째 카메라를 렌더링합니다.
스크립트에서 rect
프로퍼티를 다음과 같이 설정하여 카메라의 Viewport rect를 변경할 수 있습니다.
myUniversalAdditionalCameraData.rect = new Rect(0.5f, 0f, 0.5f, 0f);