최적화 기법으로 쓰일 수 있는 기능이다. 거울, 물, 애니메이션, CCTV 등 다양한 기능들을 렌더 텍스쳐로 구현해보자
유니티 - 렌더 텍스쳐

렌더 텍스쳐

  • Render Texture
  • 렌더링텍스쳐가 혼합된 것. 화면을 그려주는 텍스쳐 라는 뜻
  • 2D 이미지로 구성된 특정 오브젝트의 전개도를 텍스쳐라고 한다
  • 텍스쳐에는 버텍스위치 정보를 담는다
  • 카메라에 렌더링 되고 있는 것을 이미지화 할 때 렌더 텍스쳐로 구현한다. 게임 내의 CCTV 화면을 예시로 들 수 있다

텍스쳐(Texture)

  • 도형의 전개도와 같다. 정육면체의 전개도를 실제 크기가 같은 정육면체의 표면에 맞춰 붙일 수 있는 것처럼, 텍스쳐는 모델이 가지고 있는 꼭지점(버텍스)위치(텍스쳐 좌표 u, v) 매칭(매핑)되는 전개도이며, 이는 2D 이미지로 구성된다.

렌더 텍스쳐

  • 렌더링 되고 있는 화면을 텍스쳐 형태로 저장한 것
  • 예시로 물이 흐르는 것을 유체역학으로 알고리즘을 짜서 구현하는 것이 아니라, 미리 물이 흐르는 영상을 미리 녹화해두는 방식으로 구현한다. 그러면 연산량이 많이 줄어 최적화에 도움이 된다
  • 거울, 그림자, 광원, 화면 캡쳐의 목적 등 게임에서 발생하는 실시간 연산을 줄일수 있기에, 사용법을 알고 있다면 게임 최적화 수단으로도 활용될 수 있다.

예시) 미니맵

  • FPS게임에서 자주 쓰이는 우상단의 실시간 미니맵을 구현해보자

카메라 추가

  • 씬에서 미니맵으로 쓰일 카메라를 추가한다

렌더 텍스쳐 추가하기

  • 프로젝트 창에서 다음과 같이 렌더 텍스쳐를 추가할 수 있다

Target Texture에 추가

  • 만들어진 Renter Texture를 카메라의 Target Texture에 참조시킨다

Raw Image 추가

  • 미니맵으로 쓰일 이미지로 Raw Image를 씬에 추가한다
  • TextureRender Texture를 참조시킨다
  • 그러면 위와 같이 미니맵 카메라의 화면Raw Image UI에 실시간으로 나오게 된다

예시2) 캐릭터 선택 창 구현

  • 위와 같이 캐릭터는 움직이고 있는 캐릭 선택창을 구현해보자

  • 미니맵을 만들던 과정과 거의 동일하다

  • 이와 같이 배경의 색까지 같이 나오는 것이 맘에 안들면 다음과 같이 바꾸자

  • Clear Flag 기능을 사용해서 바꿀 수 있다. Solid Color를 사용하면 게임 오브젝트를 제외하고 나머지는 투명 처리된다

profile
개발 박살내자

0개의 댓글