(25/08/18)Camera To Texture Rendering

허윤·2025년 8월 18일

0. 목차

  1. 카메라를 텍스처(Render Texture)로 렌더링한 실제 게임 사례
  2. Unity에서 카메라 출력을 Texture로 구현하는 절차


1. 카메라를 텍스처로 렌더링한 실제 게임 사례

Fallout 4의 TV

  • Fallout 4에서 TV 화면에 실제 게임 내 다른 공간이 실시간 렌더링되어 보여집니다.
  • TV에 비치는 장면은 맵 내에 별도로 구현된 공간을 각각의 카메라가 촬영하여, 해당 화면을 텍스처로 TV에 출력합니다.
  • 해당 공간에 오브젝트를 추가하면 TV 화면에도 실시간으로 반영되는 것을 확인할 수 있습니다.

게임 속 CCTV

  • 일반적으로 CCTV처럼 구현되는 화면도 카메라로 특정 공간을 촬영하여, 해당 영상을 Texture로 렌더링 후 모니터 오브젝트 등에 매핑합니다.
  • 주로 플레이어가 돌아다니는 공간에 별도의 카메라를 설치해 촬영하고, 이 결과를 Texture로 표시합니다.

Portal 시리즈

  • Portal 게임에서는 포탈(게이트)을 연결한 두 지점에서, 각각의 포탈을 렌더링합니다.
  • 예를 들어, 파란 포탈에서는 주황 포탈의 시점을 실시간으로 Texture에 렌더링해, 실제로 공간이 연결된 듯한 효과를 줍니다.
  • 이 때, 각 포탈 텍스처는 서로 수직인 방향으로 렌더링되는 특징이 있습니다.


(Portal 시리즈의 포탈 텍스처 구현 예시)


2. Unity에서 카메라 출력을 Texture로 구현하는 방법

Unity에서는 별도의 코드 없이 에디터만으로 카메라를 텍스처로 렌더링할 수 있습니다.

1단계. Render Texture 생성

  • Project 뷰에서 새 Render Texture를 만듭니다.

2단계. 새로운 카메라 생성 및 Output 설정

  • 새로운 카메라를 만들어서 Output Texture 항목에 위에서 만든 Render Texture를 지정합니다.
  • 이때 RenderType을 "Base"로 지정해야 Output 탭이 노출됩니다.

3단계. Render Texture 세부 설정

  • Render Texture의 Dimension은 2D, 필요한 해상도를 입력합니다.
  • Depth Stencil Format도 설정해주는 것이 좋습니다.

4단계. 새로운 Material 생성 및 셰이더 지정

  • 새로운 Material을 만들고, Shader를 Unlit/Texture로 선택합니다.
  • 이 Material의 "Texture" 슬롯에 Render Texture를 넣어줍니다.

5단계. 오브젝트에 Material 적용

  • 원하는 3D 오브젝트(예: TV, 모니터)의 Material 슬롯에 위에서 만든 Material을 할당하면 끝입니다.


정리
이 방식은 여러 게임에서 사용되는 대표적인 카메라-텍스처 렌더링 기법으로, Unity에서도 매우 쉽게 구현이 가능합니다. 직관적으로 카메라 시점을 Texture처럼 활용하여 다양한 연출이 가능합니다.

profile
C# 클라이언트 프로그래밍 지망

0개의 댓글