[Unity] 미니맵 만들기 - 3. 렌더러 텍스처(Render Texture)를 이용하여 3D 공간에 미니맵 만들기
로 이미지(Raw Image)로 UI에 미니맵을 띄우던 이전 포스팅이랑 거의 동일합니다.
단지 3D 오브젝트에 표시한다는 차이가 있을 뿐이죠.
그래서 엄밀하게 말하면 미니맵을 구현한다기보다는 카메라를 3D오브젝트에 표시하는 것입니다.
1. 텍스처 생성
카메라가 보는 화면을 렌더링할 택스처를 생성해야 합니다.
프로젝트 창에서
오른쪽 클릭 > 생성 > 렌더 텍스처
를 선택하여 원하는 이름으로 텍스처를 만듭니다.
2. 카메라 생성
미니맵용 카메라를 생성합니다.
미니맵의 확대 축소와 같은 기능을 넣으려면 '투사(Projection)'를 원근(Perspective)으로 설정해야 합니다.
'타겟 텍스처(Target Texture)'를 위에서 생성한 텍스처로 설정해 줍니다.
3. 텍스처를 출력할 오브젝트 만들기
3D 오브젝트를 생성합니다.(이 포스팅에서는 '큐브'를 생성했습니다.)
프로젝트 창에서 위에서 생성한 텍스처를 드래그하여 '계층 구조'에 있는 3D 오브젝트에 넣습니다.
3D 오브젝트이다 보니 광원이 없으면 안보이거나 검은색으로 나올 수 있습니다.
4. 메인 카메라와 다른 미니맵의 표시
1) 오브젝트에 레이어를 설정하고
2) 카메라의 '컬링 마스크(Culling Mask)'를 설정해 줍니다.
이 부분은 이전 글에서 자세히 다루었습니다.
참고 : "[Unity] 미니맵 만들기 - 1. 개요 및 카메라 설정" 의 '4. 메인 카메라와 다른 미니맵의 표시'챕터
마무리
테스트 프로젝트 : github - dang-gun/UnitySamples/MiniMapTest
3D게임을 만들 때 백밀러와 같은 것을 구현할 때나 연출용이 아니면 3D오브젝트에 표시할 일이 얼마나 있나 싶긴 한데 말이죠 ㅎㅎ