컴포짓 패스(Compositing Pass)는 컴포짓 엘리먼트(Compositing Element)에 속하는 오브젝트입니다. 패스는 엘리먼트를 렌더링할 때 실행되는 개별 단계로, 순차적으로 실행됩니다.
컴포짓 패스는 다음 세 가지 유형으로 나뉩니다.
-
입력(Inputs)
-
트랜스폼(Transforms)
-
출력(Outputs)

대부분의 패스는 이미지 렌더링을 담당합니다. 입력과 트랜스폼의 경우, 이러한 이미지는 후속 패스에서 사용할 수 있으며 렌더링 머티리얼에서 레퍼런스할 수 있습니다.
블루프린트에서 구현 가능
패스는 블루프린트에서 구현할 수 있으므로 자신만의 패스를 생성하고 컴포지팅 시스템과 함께 사용할 수 있습니다. 이렇게 하려면 블루프린트를 생성하고 CompositingElementInput, CompositingElementTransform 또는 CompositingElementOutput 을 상속하기만 하면 됩니다.
공유 세팅
모든 패스는 자체 프로퍼티 세트를 갖추고 있으며 아래 프로퍼티를 공유합니다.
프로퍼티 | 설명 |
---|---|
활성화됨(Enabled) | 각 패스는 엘리먼트와 마찬가지로 비활성화할 수 있습니다. 비활성화된 경우 엘리먼트는 패스가 존재하지 않는 것처럼 작동합니다. |
패스 이름(Pass Name) | 패스는 다른 후속 패스에 의해 레퍼런스할 수 있도록 이름을 갖습니다. 렌더 머티리얼에서 레퍼런스되어야 하는 패스는 고유한 이름을 가져야 합니다. |
중간(Intermediate) | 각 렌더 패스에는 렌더 타깃이 할당되어 있습니다. 기본적으로 다음 패스를 통해서만 해당 결과가 필요하다고 가정합니다. 그런 다음 렌더 리소스를 절약하기 위해 렌더 타깃을 다른 패스에서도 사용할 수 있도록 릴리즈합니다. 패스 결과를 더 오래 액세스해야 하면 이 박스의 체크를 해제하세요. |
입력
미디어 텍스처 컴포지팅 입력
'미디어 텍스처 컴포지팅 입력(Media Texture Compositing Input)'은 비디오를 컴포지팅 시스템으로 라우팅하는 역할을 하며, 레퍼런스할 미디어 텍스처가 필요합니다. 미디어 소스(Media Source)는 패스의 머티리얼을 통해 처리됩니다.

미디어 소스 가 없으면 미디어 패스는 비어 있게 됩니다. 하지만 디폴트 스틸 이미지를 게임 환경설정 파일에 구성할 수 있습니다. [/Script/Composure.ComposureGameSettings] StaticVideoPlateDebugImage="/Game/Path/To/My/TextureAsset"
텍스처 입력
'텍스처 입력(Texture Input)'은 간단한 방법을 통해 스태틱 텍스처를 컴포지팅 시스템으로 소싱합니다.

트랜스폼
'트랜스폼'은 입력 이미지를 취해 처리된 이미지를 출력하는 역할을 합니다. 일반적으로 여기에서 컴포지팅이 수행되며, 하위 엘리먼트를 레퍼런스하여 결합하는 머티리얼 패스(Material Pass)입니다.
컴포짓 엘리먼트 머티리얼 패스
'컴포짓 엘리먼트 머티리얼 패스(Compositing Element Material Pass)'는 다른 엘리먼트/패스를 레퍼런스할 수 있는 커스텀 머티리얼을 작성할 수 있게 해 줍니다. 이것은 컴포지팅 시스템의 주 역할이나 다름없습니다.

컴포지팅 포스트 프로세스 패스
'컴포지팅 포스트 프로세스 패스(Compositing Post Process Pass)'는 포스트 프로세싱 이펙트 세트를 이전 패스에 적용하며, 패스가 첫 번째 패스인 경우 적용되지 않습니다.

블룸 및 톤매핑 같은 특정 이펙트만 사용할 수 있습니다. ComposurePostProcessPassPolicy 의 서브 클래스를 생성하여 더 많은 이펙트를 생성할 수 있습니다.
컴포지팅 톤맵 패스
'컴포지팅 톤맵 패스(Compositing Tonemap Pass)'는 최종 포스트 프로세스 톤매핑을 이전 패스에 적용합니다.

이미지를 선형 컬러 스페이스에서 다시 변환하는 데 유용합니다. 프리뷰 트랜스폼에서 또는 출력 패스로 유용하며, 중간 머티리얼 작업에는 선형 컬러가 필요합니다.
멀티 패스 크로마 키어
'멀티 패스 크로마 키어(Multi Pass Chroma Keyer)'는 미디어 플레이트(Media Plate) 엘리먼트에서 이미지를 키 지정하는 데 사용합니다. 키 컬러(Key Colors) 프로퍼티는 투명해질 컬러를 지정합니다.

필요한 경우 필수 머티리얼 파라미터(Required Material Parameters) 필드에 나열된 파라미터를 사용하여 크로마 키어에 대한 머티리얼을 변경할 수 있습니다.
이 패스는 각 키 컬러마다 한 번씩 여러 번 실행됩니다.
멀티 패스 번짐제거
'멀티 패스 번짐제거(Multi Pass Despill)'는 이미지에서 크로마 바운스(그린 스크린의 '번짐 현상')을 제거합니다.

크로마 키어 패스(Chroma Keyer Pass) 에서처럼 제거할 키 컬러 를 지정할 수 있습니다. 또한 크로마 키어 패스 에서와 같이 이 패스는 키마다 한 번씩 여러 번 실행됩니다. 번짐제거 프로세스에 사용할 머티리얼을 변경할 수 있으며, '필수 머티리얼 파라미터' 필드에 나열된 파라미터만 있으면 됩니다.
언리얼 엔진의 크로마 키와 번짐제거에 대한 자세한 내용은 이 블로그 포스트를 참고하세요.
OpenColorIO 패스
'OpenColorIO 패스(OpenColorIO Pass)'는 컬러 변환(컬러 스페이스 트랜스폼)을 입력 이미지 픽셀 컬러에 적용하는 데 사용합니다.

출력
'출력' 패스는 엘리먼트의 완전히 처리된 이미지가 브로드캐스트될 대상을 정의합니다. 일부 출력은 이미지를 라우팅하기 전에 자체적으로 트랜스폼을 수행합니다.
컴포지팅 미디어 캡처 출력
'컴포지팅 미디어 캡처 출력(Compositing Media Capture Output)'은 엘리먼트 결과를 미디어 캡처 타깃으로 라우팅합니다. 캡처 출력(Capture Output) 필드에는 미디어 출력 에셋, 즉 캡처 카드, 포트 ID, 픽셀 포맷 같이 이미지 라우팅 대상을 자세히 설명하는 환경설정 파일이 필요합니다.

이 패스는 컬러 변환(Color Conversion) 트랜스폼이 관련된 패스로, 이미지 출력에 앞서 실행됩니다.
EXR 파일 컴포지팅 출력
'EXR 파일 컴포지팅 출력(EXRFile Compositing Output)'은 엘리먼트가 렌더링하는 프레임마다 .EXR 이미지 파일을 하드 드라이브에 저장합니다.

이 패스는 출력 디렉터리(Output Directory) 가 지정되는 즉시 이미지를 프레임마다 하나씩 작성하기 시작합니다. 더 많은 제어 권한이 필요한 경우 이 패스를 비활성화하세요.
플레이어 뷰포트 컴포지팅 출력
'플레이어 뷰포트 컴포지팅 출력(Player Viewport Compositing Output)'은 게임 내 플레이어의 뷰포트를 취하여 디스플레이를 엘리먼트의 결과로 대체합니다.

컬러 변환 트랜스폼이 관련된 패스로, 이미지 디스플레이에 앞서 실행됩니다. 작동하는 모습을 확인하려면 '에디터에서 플레이(Play in Editor)'를 사용하면 됩니다.
렌더 타깃 컴포지팅 출력
'렌더 타깃 컴포지팅 출력(Render Target Compositing Output)'은 렌더 타깃에 엘리먼트 결과를 작성합니다.

대상 에셋을 지정하려면 렌더 타깃(Render Target) 영역을 사용하면 됩니다.