본문 바로가기

볼봇의 코딩 생활/언리얼한 엔진

UE4 렌더 타깃을 사용하여 CCTV 를 만들어보자

 

이번 포스팅에서는, 렌더타깃을 사용해서 CCTV 와 같이, 인 게임에서 실시간으로 씬을 캡쳐해서

게임 내에서 출력 해보는 과정을 알아 볼 것이다.

 

우선 과정을 마치면 아래와 같은 결과를 얻을 수 있다.

 

수영장을 실시간으로 캡쳐하여 인 게임 TV 에 보여주고 있다.

 

 

Scene Capture 액터 두기

모드 탭에서, 'Scene' 이라고 검색하면 두가지의 캡쳐 방식이 나온다.

 

2D 캡쳐는 말 그대로, 화면을 2D 로 캡쳐 한다는 것을 의미한다.

이는 CCTV 와 같은 평면의 화면에 출력할때 좋다.

 

큐브 캡쳐는 입체로 캡쳐를 하게 되는데, VR 과 같이 360도 화면에서 사용 할 수 있다.

 

우리의 목적은 CCTV 를 만드는것 이므로, 2D 캡쳐를 사용하도록 하겠다.

 

 

 

 

 

배치해보면, 카메라가 나온다. 이 카메라를 적절히 배치하여 원하는 방향을 비추도록 설정한다.

 

 

 

 

 

적절히 배치 했다면, 카메라의 텍스처 타깃을 설정해야 한다.

카메라의 디테일 창으로 이동하면, Scene Capture - Texture Target 항목이 비어 있음을 알 수 있다.

 

 

 

 

새로운 렌더 타깃을 만들도록 하자.

저장을 하면 렌더 타깃 텍스쳐가 만들어진다, 이 텍스쳐를 머티리얼로 만들어서 메시에 적용하면 끝

 

 

 

 

새로운 머티리얼을 만들었다.

구성은 한없이 간단한데, 방금 만든 렌더 타깃 텍스쳐를 불러와 이미시브 컬러에 적용하였다.

그리고, 셰이딩 모델은 Unlit (라이팅 없음) 으로 설정하였다.

 

그 이유는, TV 의 경우 대게 빛을 내기 때문에 특정 부분이 그림자가 지거나 하지는 않기 때문이다.

외계의 TV 를 구성하고 있다면, 필자와 다르게 해야 할 것이다.

 

머티리얼을 저장하고, 레벨로 돌아간다.

 

 

 

 

월드에 평면 (Plane) 을 배치하고, 방금 생성한 머티리얼을 적용해준다.

 

씬을 캡쳐하여 평면에 월드가 그려지는 것을 볼 수 있다.

 

실시간으로 렌더링됨으로 카메라가 비추는 범위 내에 다른 물체가 지나가면 그 모습이 그대로 찍힌다.

이를 사용하면 CCTV 와 같은 기능을 구현 할 수 있을것 이다.