노출
물리 기반 조명과 머티리얼로 작업하려면 씬 노출을 올바르게 설정해야 합니다. 고해상도 렌더 파이프라인(HDRP)에는 대부분의 사용 사례에 적합하도록 노출을 계산하기 위한 몇 가지 방법이 포함되어 있습니다. HDRP는 EV100에서 사용하는 모든 노출값을 표시합니다.
노출 사용
Exposure는 볼륨 프레임워크를 사용합니다. 따라서 Exposure 프로퍼티를 활성화하고 수정하려면 씬의 볼륨에 Exposure 오버라이드를 추가해야 합니다. 볼륨에 Exposure를 추가하려면 다음 단계를 따르십시오.
- 씬 또는 계층 구조 뷰에서 Volume 컴포넌트가 포함된 게임 오브젝트를 선택하여 인스펙터에서 확인합니다.
- 인스펙터에서 Add Override로 이동한 후 Exposure를 클릭합니다. 그러면 HDRP가 이 볼륨이 영향을 주는 모든 카메라에 Exposure 수정 사항을 적용합니다.
API
런타임 시 이 오버라이드에 액세스하여 제어하려면 볼륨 스크립팅 API를 사용합니다. 볼륨 시스템이 작동하는 방식으로 인해 표준 Unity 컴포넌트에 다른 방식으로 프로퍼티를 편집합니다. 각 프로퍼티에 오버라이드 상태가 있는 것과 마찬가지로 주의해야 할 다른 미묘한 차이가 있습니다. 이는 설정한 프로퍼티 값을 사용해야 하는지 또는 볼륨 프로파일에 저장된 기본값을 사용해야 하는지 볼륨 시스템에 알려줍니다. API를 올바르게 사용하는 방법에 대한 자세한 내용은 볼륨 스크립팅 API를 참조하십시오.
프로퍼티
모든 Volume 컴포넌트 오버라이드에서 프로퍼티를 편집하려면 프로퍼티 왼쪽에 있는 체크박스를 활성화합니다. 이는 또한 HDRP가 기본값이 아닌 Volume 컴포넌트에 대해 지정한 프로퍼티 값을 사용하도록 지시합니다. 체크박스를 비활성화하는 경우 HDRP는 설정한 프로퍼티를 무시하고, 해당 프로퍼티에 대한 볼륨의 기본값을 대신 사용합니다.
프로퍼티 | 설명 |
---|---|
Mode | 드롭다운을 사용하여 HDRP가 노출을 처리하기 위해 사용하는 방법을 선택합니다. • Fixed: 씬 노출을 수동으로 설정할 수 있습니다. • Automatic: 화면에 표시된 내용에 따라 노출을 자동으로 설정합니다. • Automatic Histogram: 히스토그램 제어로 자동 노출을 확장합니다. • Curve Mapping: 현재 씬 노출을 커스텀 커브로 매핑합니다. • Use Physical Camera: 현재 물리적 카메라 설정을 사용하여 씬 노출을 설정합니다. |
수정된 사항
이는 노출을 계산하는 데 가장 간단하고도 가장 유연하지 않은 방법이지만 상대적으로 균일한 노출을 가진 씬이 있거나 정적 영역에서 이미지를 가져오고자 할 때 매우 유용합니다. 또한 로컬 볼륨을 사용하여 씬에서 다양한 고정 노출값 사이를 블렌딩할 수 있습니다.
프로퍼티
프로퍼티 | 설명 |
---|---|
Fixed Exposure | 이 볼륨이 영향을 주는 카메라에 대한 노출값을 설정합니다. |
자동
사람의 눈은 매우 어두운 영역과 매우 밝은 영역에서 모두 기능합니다. 하지만 매번 눈은 전체 범위의 백만분의 일의 명암비만 감지할 수 있습니다. 눈은 검은색을 조정하고 다시 정의하여 여러 광원 수준에서 잘 기능합니다.
Automatic Mode는 화면 상의 밝기 수준의 범위에 따라 노출을 유연하게 조정합니다. 점진적으로 적응하기 때문에 사용자가 어두운 영역에서 밝은 야외로 나왔을 때 잠시 눈이 부실 수 있습니다. 마찬가지로 밝은 씬에서 어두운 씬으로 이동할 때 카메라가 조정되는 데 시간이 걸립니다.
프로퍼티
프로퍼티 | 설명 |
---|---|
Metering Mode | 드롭다운을 사용하여 HDRP가 휘도 소스를 필터링하기 위해 사용하는 측광 방법을 선택합니다. 사용할 수 있는 Metering Mode에 대한 자세한 내용은 자동 섹션 사용을 참조하십시오. |
Luminance Source | 드롭다운을 사용하여 HDRP가 현재의 씬 노출을 계산하기 위해 사용하는 휘도 소스를 설정합니다. HDRP는 현재 Lighting Buffer 옵션을 지원하지 않습니다. |
Compensation | 카메라가 자동으로 계산된 노출값을 보정하는 데 사용하는 값을 설정합니다. 씬을 과도하게 또는 적게 노출하고자 하는 경우 유용합니다. |
Limit Min | 씬 노출이 설정될 수 있는 최소값을 설정합니다. |
Limit Max | 씬 노출이 설정될 수 있는 최대값을 설정합니다. |
Mode | 드롭다운을 사용하여 카메라가 어두운 영역에서 밝은 영역으로 이동하거나 그 반대의 경우에 HDRP가 노출을 변경하기 위해 사용하는 방법을 선택합니다. • Progressive: 노출은 Speed Dark to Light 프로퍼티 필드와 Speed Light to Dark 프로퍼티 필드에 정의된 기간동안 변경됩니다. • Fixed: 노출이 즉시 변경됩니다. 참고: 씬 뷰는 Fixed를 사용합니다. |
Speed Dark to Light | 카메라가 어두운 영역에서 밝은 영역으로 이동할 때 노출이 변경되는 속도를 설정합니다. 이 프로퍼티는 Mode를 Progressive로 설정한 경우에만 표시됩니다. |
Speed Light to Dark | 카메라가 밝은 영역에서 어두운 영역으로 이동할 때 노출이 변경되는 속도를 설정합니다. 이 프로퍼티는 Mode를 Progressive로 설정한 경우에만 표시됩니다. |
Target Mid Gray | 자동 노출이 사용하는 원하는 중간 회색 수준을 설정합니다(예: 자동 노출 시스템이 평균 씬 휘도를 매핑하는 회색 값). HDRP에서 사용되는 렌즈 모델은 완벽하지 않으므로 선택된 값에 정확하게 매핑되지 않습니다. |
자동 히스토그램
자동 히스토그램은 Automatic 모드의 확장입니다. 더 안정적인 노출 결과를 얻기 위해 이 모드는 노출 계산에서 이미지의 일부를 제외할 수 있는 이미지의 히스토그램을 계산합니다. 이는 화면의 가장 밝은 영역이나 가장 어두운 영역을 버릴 때 유용합니다.
이 프로세스를 제어하기 위해 Automatic 모드에 대한 프로퍼티 외에도 이 모드에는 다음의 프로퍼티가 포함됩니다.
프로퍼티
프로퍼티 | 설명 |
---|---|
Histogram Percentages | 이 필드를 사용하여 자동 노출 계산을 위해 고려할 히스토그램의 범위를 선택합니다. 이 필드의 값은 백분위수입니다. 즉, 예를 들어 X에 낮은 백분위수를 설정한 경우 픽셀이 화면의 모든 픽셀의 (100-X)%보다 더 낮은 강도인 경우 HDRP는 노출 계산에서 이를 버립니다. 유사하게 Y에 더 높은 백분위수를 설정하는 경우 즉 픽셀이 Y%보다 더 높은 강도라면 HDRP는 노출 계산에서 이를 버립니다. 이렇게 하면 노출 계산은 그림자와 하이라이트 영역에서 원치 않는 외부 값을 버릴 수 있습니다. |
Use Curve Remapping | 이 노출 모드 위에 커브 매핑을 적용할지 여부를 지정합니다. 커브 매핑 프로퍼티에 대한 자세한 내용은 [커브 매핑 섹션](#Curve Mapping)을 참조하십시오 |
자동 모드 사용
Automatic Mode를 설정하려면 Metering Mode를 선택합니다. 이를 통해 카메라에 현재 씬 노출을 측정하는 방법을 알립니다. Metering Mode를 다음과 같이 설정할 수 있습니다.
- Average: 노출을 측정하기 위해 카메라가 전체 휘도 버퍼를 사용합니다.
- Spot: 노출을 측정하기 위해 카메라가 버퍼의 중심만 사용합니다. 이는 씬의 중심에 있는 것에 대해 빛을 노출하고자 하는 경우에만 유용합니다.
- Center Weighted: 카메라는 버퍼의 모든 픽셀에 가중치를 적용한 다음 노출을 측정하는 데 사용합니다. 중심에 있는 픽셀은 최대 가중치가 적용되며 화면 경계의 픽셀에는 최소 가중치가 적용되고 그 사이의 픽셀에는 화면 경계에 가까울수록 점차 더 낮은 가중치가 적용됩니다.
Mask Weighted: 카메라는 버퍼의 모든 픽셀에 가중치를 적용한 다음 노출을 측정하는 데 가중치를 사용합니다. 가중치를 지정하기 위해 이 기술은 Weight Texture Mask 필드에 설정된 텍스처를 사용합니다. 텍스처를 제공하지 않는 경우 이 측광 모드는 Average와 같습니다.
Procedural Mask: 카메라는 버퍼의 모든 픽셀에 가중치를 적용한 다음 노출을 측정하는 데 가중치를 사용합니다. 가중치는 절차적으로 다음의 파라미터로 생성된 마스크를 사용하여 생성됩니다.
프로퍼티 설명 Center Around Exposure target 절차적 마스크가 카메라에서 노출 타겟으로 설정된 게임 오브젝트를 중심으로 두는지 여부입니다. Center 절차적 측광 마스크의 중심([0,0]은 화면 왼쪽 하단, [1,1]은 화면 오른쪽 상단)을 설정합니다. Center Around Exposure target이 비활성화된 때에만 사용할 수 있습니다. Offset 마스크를 중심으로 하는 위치에 오프셋을 설정합니다. Center Around Exposure target이 활성화된 경우에만 사용할 수 있습니다. Radii 화면 절반의 비율로 절차적 마스크의 반지름(수평 및 수직)을 설정합니다(예: 0.5는 화면 절반을 양방향으로 늘이는 마스크를 의미). Softness 마스크의 부드러움을 설정합니다. 값이 높을수록 마스크의 가장자리에 있는 픽셀에 영향을 더 적게 미칩니다. Mask Min Intensity 이 임계값(EV100 단위) 아래의 모든 픽셀에 측광 마스크에서 가중치가 0으로 할당됩니다. Mask Max Intensity 이 임계값(EV100 단위) 위의 모든 픽셀에 측광 마스크에서 가중치가 0으로 할당됩니다.
다음으로 Limit Min과 Limit Max를 설정하여 최소 노출값과 최대 노출값을 각각 정의합니다. 씬의 밝은 영역과 어두운 영역 사이를 이동하고 씬에 완벽한 값을 찾을 때까지 각 프로퍼티를 바꿉니다.
현재 Compensation 프로퍼티를 사용하면 씬을 과도하거나 적게 노출합니다. 이는 노출 보정이 대부분의 카메라에 적용되는 방식과 유사합니다.
마지막으로 적응 속도를 미세하게 조정할 수 있습니다. 이는 노출이 노출 변경 사항에 적응하는 속도를 제어합니다. 사람의 눈은 밝기보다 어둠에 더 느리게 적응하므로 Speed Dark to Light보다 Speed Light to Dark에 더 낮은 값을 사용합니다.
커브 매핑
Curve Mapping Mode는 Automatic Mode의 배리언트입니다. 제한을 설정하는 대신 x축이 현재 씬 노출을 나타내고 y축이 원하는 노출을 나타내는 커브를 사용합니다. 이렇게 하면 모든 조명 조건에 한 번에 더 정밀하고 통제된 방식으로 노출을 설정할 수 있습니다.
프로퍼티
프로퍼티 | 설명 |
---|---|
Curve Map | 커브를 사용하여 원하는 노출(y축)에 씬의 노출(x축)을 다시 매핑합니다. |
물리 카메라 사용
이 모드는 주로 Camera의 Physical Settings에 의존합니다. 이 Mode가 노출하는 유일한 프로퍼티를 사용하면 씬을 과도하거나 적게 노출할 수 있습니다.
프로퍼티
프로퍼티 | 설명 |
---|---|
Compensation | 카메라가 자동으로 계산된 노출값을 보정하는 데 사용하는 값을 설정합니다. 씬을 과도하게 또는 적게 노출하고자 하는 경우 유용합니다. 이는 노출 보정이 대부분의 카메라에 적용되는 방식과 유사합니다. |
노출 디버그 모드
HDRP는 씬에 알맞은 노출을 설정하는 데 도움이 되는 몇 가지 디버그 모드를 제공합니다. 이러한 모드는 Debug 창에서 활성화할 수 있습니다.
씬 EV100값
이 디버그 모드는 씬 전체에서 EV100 단위로 전환된 씬 휘도의 히트 맵을 보여줍니다. 이는 씬 전체에 강도의 분포를 결정하는 데 유용하며 알맞은 노출 제한을 설정했는지 식별하는 데 도움이 될 수 있습니다. 이는 또한 씬에 밝기가 분포되어 있는 방법에 대해 유익한 뷰이기도 합니다.
또한 이 디버그 뷰는 화면 중심에 있는 픽셀의 숫자 값을 보여줍니다. 또한 이 값을 화면 하단에 있는 히트 맵 표시기에도 나타내어 전체 범위에 관한 위치를 보여줍니다.
히스토그램 뷰
Automatic Histogram 모드에서 레퍼런스 없이 상위 밝기 백분율과 하위 밝기 백분율을 설정하기가 어려울 수 있습니다. 이에 도움이 되도록 HDRP에는 씬 밝기 분포의 모습에 대한 개요를 보여주는 히스토그램 디버그 뷰가 포함되어 있습니다.
이 디버그 모드는 화면과 화면 하단의 히스토그램에 정보를 표시합니다. 이러한 방법은 모두 노출 알고리즘이 특정 밝기 값을 허용하는지 제외하는지를 보여줍니다. 화면에서 이 동작을 하려면 디버그 모드는 제외된 픽셀을 특정 컬러로 오버레이합니다. 히스토그램은 밝기의 범위와 유효성을 보여주기 위해 동일한 컬러를 사용하는 막대를 드로우합니다. 컬러는 다음과 같습니다.
- Blue: 밝기 값은 낮은 백분위수 값 아래에 있으며 제외됩니다.
- ** Red**: 밝기 값은 높은 백분위수 값 위에 있으며 제외됩니다.
- ** White**: 밝기 값은 상위 백분위수와 하위 백분위수 값 사이에 있으며 허용됩니다.
히스토그램 하단에서 노란색 화살표는 타겟 노출을 가리키며 회색 화살표는 현재 노출을 가리킵니다.
Show Tonemap Curve 옵션을 활성화하는 경우 디버그 뷰는 톤 맵에 사용되는 커브를 히스토그램 뷰에 오버레이합니다.
기본적으로 x축의 값은 고정되어 있지만 현재 노출 근처로 히스토그램을 고정할 수도 있습니다. 그렇게 하려면 Center Around Exposure 옵션을 활성화해야 합니다. 이는 톤 맵 커브 오버레이를 고정하고 씬이 해당 커브 아래에서 분포하는 방법에 대한 명확한 뷰를 가지는 데 유용합니다.
측광 가중치
측광 가중치 디버그 뷰는 HDRP가 측광 마스크로 가중치를 적용한 후 씬의 모습에 대한 그림과 함께 씬을 표시합니다. 이는 절차적 측광 마스크를 설정하거나 적절한 텍스처 마스크를 결정하는 데 특히 유용합니다.
최종 이미지 히스토그램
최종 이미지 히스토그램 디버그 뷰는 모든 포스트 프로세싱(톤 매핑, 감마 보정 포함)이 적용된 후 이미지의 히스토그램을 나타내는 오버레이와 함께 씬을 표시합니다. 이 히스토그램에는 8비트 이미지 값으로 매핑하는 빈이 256개 있습니다. 이 뷰는 개별적으로 나타내는 휘도 히스토그램이나 RGB 채널을 표시할 수 있습니다.