내일배움캠프

내일배움캠프: RenderTexture를 활용한 UI

pracumj 2024. 11. 29. 20:12

RenderTexture를 사용하게 된 이유

콜라이더를 사용해 UI인 듯 아닌 동전 주머니를 만들었는데, 해당 오브젝트를 화면에 계속해서 보여줘야 하는 상황을 구현하기 위해 OverlayCamera로 해당 작업을 처리했다. 이 과정에서 Culling Mask에 Defalut가 포함돼있지 않으면 동전 주머니 스프라이트가 검은색으로 보이는 현상이 생겨 튜터님을 찾아갔다.

 

하지만 다른 더 큰 문제가 존재했다. 해상도를 변경할 경우 Camera 위치는 고정되니 동전 주머니 위치가 일정하지 않을 수도 있다고 말씀해 주셨다. 청천벽력 같은 소리였다. 그래도 튜터님께서 RenderTexture를 한번 활용해 보라고 말씀해 주셔서 RenderTexture를 통해 UI를 제작하고 앵커를 콕 하고 박아줬더니 원하는 느낌으로 잘 구현됐다.

 

그렇다면 문제를 쉽게 해결하게 도와준  RenderTexture는 어떻게 사용하는 것일까?

답은 유니티 공식 메뉴얼에 있었다! 

 

설정 단계  

  1. Assets >Create >Render Texture 를 통해 새 렌더 텍스처 에셋을 생성합니다.
  2. GameObject > Camera 를 통해 새 카메라를 생성합니다.
  3. 렌더 텍스처를 새 카메라의 Target Texture 에 할당합니다.

해당 단계를 마치면 이제 RenderTexture를 사용할 준비가 완료된다. 이제 RenderTexture를 사용하기 위해

캔버스를 만드고 안에 RawImage를 넣어주면 된다. 일반 Image의 경우에는 RenderTexture 사용이 불가능 하다. 

렌더 텍스처를 적용한 카메라를 활용해, 원하는 오브젝트를 실시간으로 캡처해 RenderTexture에 출력하면 설정이 완료된다. 미니맵이나 CCTV 등에서도 활용할 수 있을 것 같다.