Minimap in Unity
유니티에서 게임뷰에 미니맵 출력하기
유니티 게임뷰에 2개의 영상을 출력해야 하므로 2개의 카메라가 필요하며, 디폴트로 존재하는 Main Camera 외에 개발자가 카메라 한개를 더 추가해야 한다. 한개의 장면에 2개 이상의 카메라가 존재하는 경우에는 depth 속성을 서로 달리하여 높은 숫자의 depth를 가진 카메라의 영상이 위에 출력되도록 할 수 있다.
Main Camera 의 depth 가 0 이므로 추가하는 카메라의 depth 를 1 으로 설정하면 Main Camera 의 영상 위에 새로운 카메라의 영상이 출력되므로 Main Camera 의 영상은 보이지 않게 된다. 그러므로 새로운 카메라의 영상의 크기를 줄이고 게임뷰에서 출력될 위치를 지정해 주면 Main Camera 영상의 일부만 가려지게 되므로 게임뷰에서 2개의 카메라 영상을 동시에 볼 수 있게 된다.
여기서는 카메라를 Scene 뷰에 추가하고 지형의 중앙 위쪽에 카메라를 위치한 다음 지형을 향하여 카메라의 방향을 아래쪽으로 90도 회전하도록 설정하고 게임뷰의 우 상단의 작은 뷰포트에 추가된 카메라 영상이 보여지도록 설정하려고 한다
GameObject > Create Other > Camera 를 선택하여 Scene 뷰에 카메라를 생성하고 Inspector 뷰에서 아래 그림과 같이 설정하면 된다
[메인 카메라의 영상과 새로 추가된 카메라의 영상이 게임뷰에 동시에 출력되는 장면]
Inspector 뷰의 Transform콤포넌트
Position : 지형의 중앙에서 위쪽으로 카메라를 위치시키고 지형을 향하여 아래쪽으로 90도 회전하도록 설정한다
Clear Flags : Depth only 으로 설정하면 스카이박스는 보이지 않게 된다
Clipping Planes : 카메라가 위쪽으로 멀리 위치하게 되므로 Far 항목이 너무 낮으면 지형이 보이지 않게 된다
위의 그림에서 Viewport Rect 는 새로운 카메라의 영상이 출력될 게임뷰 상의 영역에 대한 위치와 크기 정보이다
X, Y : 새로운 카메라의 영상이 출력될 게임뷰 상의 좌표(게임뷰는 2차원 평면이므로 2차원 좌표로 지정함)
W, H : 새로운 카메라의 영상이 출력될 영역의 크기
Depth : 1으로 설정하면 Main Camera의 Depth 가 0 이므로 그 위에 영상이 출력된다