알파 출력
성능을 극대화하고 대역폭 사용을 최소화하기 위해 기본적으로 HDRP는 R11G11B10 포맷으로 이미지 프레임을 렌더링합니다. 하지만 이 포맷에는 다른 이미지에 HDRP 출력을 합성하려는 애플리케이션에서 필요할 수도 있는 알파 채널이 없습니다.
HDRP를 설정하여 알파 채널을 출력하려면 HDRP 에셋 (메뉴: Edit > Project Settings > Graphics > Scriptable Render Pipeline Asset))을 열어서 Rendering 섹션으로 이동한 다음 Color Buffer Format을 R16G16B16A16로 설정합니다. 하지만 이 옵션을 활성화하면 성능 오버헤드가 발생할 수 있습니다. HDRP에서 알파 클리핑을 활성화하지 않으면 불투명 머티리얼은 항상 알파 채널에 1을 출력합니다. 불투명 머티리얼의 알파를 익스포트하고자 하는 경우 한 가지 해결 방안으로는 Alpha Clipping을 활성화하여 임계값을 0으로 설정하는 것입니다.
또한 포스트 프로세싱이 활성화되면 포스트 프로세싱 작업을 알파 채널에 적용하기 위해 해당 작업의 Buffer Format도 R16G16B16A16으로 설정되어야 합니다. 이것은 HDRP 에셋의 포스트 프로세싱 섹션에서 선택할 수 있습니다. 포스트 프로세싱 포맷을 R11G11B10으로 설정하면 HDRP는 포스트 프로세싱이 적용되지 않은 알파 채널 사본을 출력합니다.
다음 표는 출력 프레임의 알파 채널과 관련된 HDRP 동작이 요약되어 있습니다.
렌더링 버퍼 포맷 | 포스트 프로세싱 버퍼 포맷 | 알파 출력 |
---|---|---|
R11G11B10 | R11G11B10 | 알파 출력 지원 안 함 |
R16G16B16A16 | R11G11B10 | 포스트 프로세싱 미적용 알파 채널(AlphaCopy) |
R16G16B16A16 | R16G16B16A16 | 포스트 프로세싱 적용 알파 채널 |
알파 출력은 패스트레이싱에서도 지원됩니다.
DoF 및 알파 출력
알파 채널의 포스트 프로세싱이 필요한 또 다른 경우는 뎁스오브필드(피사계심도)를 사용하는 씬에서 입니다. 이 경우 알파가 처리되지 않으면 합성으로 인해 흐릿하게 나와야 하는 오브젝트가 선명하게 컷 오프됩니다. 이는 아래 이미지에 설명이 잘 되어 있습니다.
렌더링과 포스트 프로세싱 모두에 R16G16B16A16 버퍼 포맷을 사용하여 파란색 배경 위에 합성한 초점이 맞지 않은 구체입니다. 이 경우 DoF는 알파 채널에 적용되며 알맞게 합성됩니다(합성에 사용된 출력 알파는 삽입된 이미지에 표시됨).
AlphaCopy를 사용하여 파란색 배경 위에 합성된 초점이 맞지 않은 구체입니다. 이 경우 DoF는 알파 채널에 적용되지 않으며 합성된 구체 주변에 선명한 윤곽선이 생깁니다(합성에 사용된 출력 알파는 삽입된 이미지에 표시됨).
TAA(Temporal Anti-Aliasing) 및 알파 출력
TAA(Temporal Anti-Aliasing)가 활성화되면 알파 채널에 대해 포스트 프로세싱을 활성화하는 편을 적극 권장합니다(렌더링과 포스트 프로세싱 모두에 R16G16B16A16 포맷). 알파 채널이 포스트 프로세싱되지 않으면 아래 이미지에서 볼 수 있듯이 알파 마스크에 지터가 발생합니다.
AlphaCopy를 사용하여 TAA로 렌더링한 구체이며 알파 채널을 사용하여 파란색 배경 위에 합성되었습니다. 알파 채널은 TAA로 인해 일시적으로 안정화되지 않아 최종 이미지에 지터가 발생합니다.
TAA(렌더링과 포스트 프로세싱에 R16G16B16A16 사용)로 렌더링된 구체이며 알파 채널을 사용하여 파란색 배경 위에 합성되었습니다. TAA는 또한 알파 채널에 적용되어 안정적으로 합성합니다.