HDR(High Dynamic Range) 콘텐츠는 일반 화질 콘텐츠보다 색 영역과 밝기 범위가 더 넓습니다.
URP는 그러한 기능을 지원하는 디스플레이에__ HDR__하이 다이내믹 레인지
See in Glossary 콘텐츠를 출력할 수 있습니다.
참고: HDR 출력은 선형 색 공간에서만 사용할 수 있습니다. Unity의 색 공간에 대한 상세 내용은 색 공간을 참고하십시오.
Unity의 HDR 출력은 다음 단계와 순서로 진행됩니다.
톤 매핑은 HDR 출력 프로세스의 첫 번째 단계입니다. 이 단계에서 Unity는 타겟 디스플레이의 동적 범위에 따라 씬의 노출과 색조의 균형을 맞춥니다. 동적 범위는 다음 프로퍼티에 따라 결정됩니다.
이러한 프로퍼티에 대한 상세 내용은 중요한 톤 매핑 값을 참조하십시오.
이와 동시에 Unity는 색 공간 변환을 수행합니다. Unity는 기본 Rec. 709 컬러 공간의 컬러를 타겟 디스플레이의 색 공간으로 변환합니다. 이렇게 하면 씬의 컬러가 타겟 디스플레이의 더욱 광범위한 색 영역에 매핑되며, Unity가 디스플레이에서 사용할 수 있는 전체 색 영역을 활용할 수 있습니다.
자세한 내용은 URP의 HDR 톤 매핑과 HDR 톤 매핑 설정을 참조하십시오.
HDR 출력의 두 번째 단계는 전송 함수입니다. 전송 함수는 렌더링 프로세스의 출력을 주어진 디스플레이의 밝기 레벨로 전환합니다. Unity는 디스플레이에 맞는 올바른 전송 함수를 결정하고 이를 사용하여 디스플레이가 예상하는 표준에 맞게 출력을 인코딩합니다. 그러면 Unity가 감마에 대해 올바른 수준의 정밀도를 사용하며 타겟 디스플레이에 정확한 노출 수준을 생성할 수 있습니다.
Allow HDR Display Output을 활성화한 후에는 HDR 입력을 위한 톤 매핑 설정을 지정해야 합니다.
이 설정을 효과적으로 지정하려면 톤 매핑과 관련된 특정 값이 HDR 출력의 시각적 특성을 결정하는 방식을 이해해야 합니다.
HDR 디스플레이의 기능을 제대로 활용하려면 톤 매핑 설정에서 타겟 디스플레이의 기능, 특히 다음의 세 가지 값(니트 단위)을 고려해야 합니다.
참고: LDR(Low Dynamic Range) 및 HDR(High Dynamic Range)는 Paper White 값이 동일한 디스플레이에서 똑같이 밝게 표시되지 않습니다. 이는 디스플레이가 LDR(Low Dynamic Range) 콘텐츠에 추가 처리를 적용하여 밝기 수준을 높이기 때문입니다. 이러한 이유로 애플리케이션에 보정 메뉴를 구현하는 것이 좋습니다.
언릿 머티리얼은 조명 변화에 반응하지 않으므로 사용자 인터페이스에는 언릿 머티리얼을 사용하는 것이 일반적입니다. HDR 디스플레이를 특별히 대상으로 하지 않는 경우 언릿 머티리얼 렌더링에 대한 계산은 0–1 범위의 값으로 밝기를 정의합니다. 여기서 값이 1이면 흰색을 의미하고 값이 0이면 검은색을 의미합니다.
하지만 HDR 모드에서 URP는 Paper White 값을 사용하여 언릿 머티리얼의 밝기를 결정합니다. 이는 HDR 값이 0–1 범위를 초과할 수 있기 때문입니다.
그 결과, Paper White 값은 HDR 모드에서__ UI__(사용자 인터페이스) 사용자가 애플리케이션과 상호 작용하도록 해 줍니다. Unity는 현재 3개의 UI 시스템을 지원합니다. 자세한 정보
See in Glossary 요소의 밝기, 특히 밝기가 Paper White 값과 일치하는 흰색 요소의 밝기를 결정합니다.
Tonemapping Volume 컴포넌트 설정에서 톤 매핑 모드를 선택하고 조정할 수 있습니다. 또한 스크립트를 사용하여 HDR 톤 매핑 설정의 일부를 조정할 수도 있습니다. 이에 대한 상세 내용은 HDROutputSettings API를 참조하십시오.
Allow HDR Display Output을 활성화하면 HDR 톤 매핑 옵션이 Volume 컴포넌트에 표시됩니다.
URP는 두 가지 톤 매핑 모드 (중립 및 ACES)를 제공합니다. 각 톤 매핑 모드에는 고유의 프로퍼티가 있습니다.
이러한 모드에 대한 상세 내용은 톤 매핑 볼륨 오버라이드의 HDR 출력 섹션 레퍼런스를 참고하십시오.
HDROutputSettings API를 사용하면 HDR 모드를 활성화 및 비활성화하고 특정 값(예: Paper White)을 쿼리할 수 있습니다.
이러한 값들은 렌더링 디버거의 HDR 출력 표시 테이블에도 표시됩니다. 해당 테이블에 액세스하려면 Window > Analysis > Render Pipeline Debugger > Rendering > HDR Output로 이동하십시오.
오프스크린 렌더링 기법을 사용할 경우, 씬의 모든 카메라가 디스플레이에 직접 출력하지는 않습니다. 예컨대 Unity가 렌더 텍스처에 출력을 렌더링하는 경우가 이에 해당합니다. 이 경우 포스트 프로세싱을 렌더링하기 전에 카메라의 출력을 사용하십시오.
Unity는 오프스크린 렌더링 기법을 사용하는 카메라의 출력에 HDR 출력 처리를 적용하지 않습니다. 이렇게 하면 HDR 출력 처리가 카메라의 출력에 두 번 적용되지 않습니다.
HDR 출력은 HDR 렌더링에 의존하여 톤 매핑 및 컬러 인코딩에 적합한 포맷의 픽셀 값을 제공합니다. HDR 톤 매핑 이후의 값은 니트 단위이며 1을 초과합니다. 이는 픽셀 값이 0–1 범위인 SDR 렌더링과는 다릅니다. 따라서 SDR 렌더링을 HDR 출력과 함께 사용하면 렌더링된 이미지는 노출 부족 또는 과채도 상태로 보일 수 있습니다.
HDR 출력을 활성화한 경우 카메라별 SDR 렌더링을 사용할 수 있는데, 이는 미니 맵 렌더링 같이 언릿 머티리얼만 렌더링하는 카메라에 유용할 수 있습니다. 하지만 SDR 렌더링을 HDR 출력과 함께 사용하면 몇 가지 제한 사항이 있습니다.
SDR 렌더링을 HDR 출력과 함께 사용할 때 올바른 렌더링을 보장하려면 포스트 프로세싱 후에 발생하는 모든 렌더 패스를 피해야 합니다. 여기에는 포스트 프로세싱 후 렌더 패스를 삽입하는 URP의 빌트인 효과가 포함됩니다. 이로 인해 HDR 출력을 사용하는 SDR 렌더링은 다음 기능과 호환되지 않습니다.
2D 렌더러에서 SDR 렌더링을 HDR 출력과 함께 사용하려면 포스트 프로세싱이 꺼져 있는지 확인해야 합니다.
URP는 다음 플랫폼에서만 HDR 출력을 지원합니다.
참고: DirectX 11은 플레이어의 HDR 출력만 지원하고, 에디터의 HDR 출력은 지원하지 않습니다.