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 마다 비추는 것은 다르지만
한 화면에 같이 나오는 것을 확인할 수 있다.
'개발 공식 > Unity' 카테고리의 다른 글
유니티 unity monobehaviour 상속 override start 이벤트 (1) | 2022.11.25 |
---|---|
unity transform rotation Rotate RotateAround (0) | 2022.11.22 |
[Unity/UI] 텍스트 배경크기조절하는법("Parent has a type of layout group" error) (0) | 2022.01.27 |
댓글