본문 바로가기
개발 공식/Unity

Unity URP Overlay Camera 한 화면에 두 개의 카메라

by JinCoding 2022. 11. 29.
반응형

URP Overlay Camera

유니티 프로젝트를 URP로 생성했을 때 한 화면에 두 개의 카메라가 필요한 경우가 있다.

예를 들면 메인 카메라는 3D 화면을 비추고

다른 카메라는 UI Canvas를 비추어

사용자 입장에서는 3D 화면 위에 UI Canvas가 올라간 모습이 있다.

3D 게임에서 인벤토리를 킨 모습

 

Main Camera는 sphere Layer를 가진 오브젝트를 제외한 모든 것을 비추고

Sub Camera는 sphere Layer를 가진 오브젝트만을 비추도록 설정해보겠다.


Layer

유니티 카메라는 레이어를 통해 카메라가 해당 오브젝트를 화면에 표시할 것인지 말 것인지 설정할 수 있다.

UI Canvas에 종속되는 오브젝트는 생성할 때 Layer UI이며

그 외 큐브와 같은 오브젝트는 아무런 설정이 없다는 의미로 Default를 가진 채 생성된다.

 

Layer에는 본인이 설정한 Custom Layer를 지정할 수 있다.

sphere Layer를 10번 위치에 설정하였다.

 

sphere 오브젝트에 sphere layer를 설정


Culling Mask

기본적으로 Camera object를 생성하면 Culling Mask 옵션에 everything이란 것을 볼 수 있다.

이는 해당 카메라가 어떤 레이어를 표시할 것인지에 대한 옵션 인대

everything은 모든 레이어를 화면에 비추겠다는 뜻이다.

 

Main Camera는 sphere를 제외하고

Sub Camera는 sphere만을 체크하자


Overlay

Sub Camera는 Culling Mask를 sphere만을 체크한 후,

Render Type을 Overlay로 바꿔주자

Overlay Camera는 다른 카메라 뷰 위에 자신의 카메라 화면을 덮을 수 있는 것이다.

전체 화면에서 비율 별로 카메라를 나눠 쓰는 것이 아니라

전체 화면에 또 다른 화면을 덮어서 겹쳐 보이게 한다고 생각하면 된다.

 

이제 Main Camera화면에 Sub Camera화면을 덮을 것이니

Main Camera에서 Sub Camera를 Stack Camera로 추가해주자.

해당 항목은 Overlay 카메라가 아니면 추가하지 못한다.


Camera 마다 비추는 것은 다르지만

한 화면에 같이 나오는 것을 확인할 수 있다.

반응형

댓글