Unity 물리 기반 렌더링 머티리얼 유효성 검사 가이드
이 문서는 Unity에서 물리 기반 렌더링(PBR) 머티리얼의 유효성을 검사하는 방법에 대해 설명합니다. 특정 머티리얼이 권장 범위 내에 있는지 확인하여, 시각적으로 문제를 파악할 수 있도록 도와줍니다.
1. 머티리얼 유효성 검사란?
머티리얼 유효성 검사(Physically Based Rendering Material Validator)는 장면 뷰에서 드로우 모드를 통해 사용됩니다. 이 기능은 머티리얼의 픽셀 값이 권장되는 범위 안에 있는지를 확인하고, 범위를 벗어난 경우 경고 색상으로 표시합니다.
사용 방법
- 드로우 모드 선택: Unity 에디터의 씬 뷰에서 드로우 모드 드롭다운 메뉴를 선택합니다.
- 모드 설정: “Material Validation” 옵션에서 Validate Albedo 및 Validate Metal Specular 모드 중 하나를 선택합니다.
2. 알베도 확인 모드
알베도 확인 모드에서는 PBR 머티리얼의 알베도 색상이 올바른 범위 내에 있는지를 검사합니다. 이때 다음 사항을 확인할 수 있습니다.
프로퍼티 설명
프로퍼티 | 기능 |
---|---|
Check Pure Metals | 금속성으로 정의된 픽셀 중 알베도 값이 0이 아닌 경우 노란색으로 강조 표시 |
Luminance Validation | 미리 설정된 머티리얼 유효성 검사 설정을 조정 |
Hue Tolerance | 색조 간의 오차 허용 범위 설정 |
Saturation Tolerance | 농도 간의 오차 허용 범위 설정 |
색상 레전드
색상 | 설명 |
---|---|
빨간색 | 최소 밝기 값보다 낮은 픽셀 |
파란색 | 최대 밝기 값보다 높은 픽셀 |
노란색 | 금속성 정의 시 알베도 값이 0이 아닌 픽셀 |
3. 금속 스페큘러 확인 모드
Validate Metal Specular 모드는 어두운 픽셀을 강조하여 잠재적인 스페큘러 값 문제를 감지합니다.
프로퍼티 설명
프로퍼티 | 기능 |
---|---|
Check Pure Metals | 금속성 픽셀 중 알베도 값이 0이 아닌 경우 노란색으로 강조 표시 |
Minimum Specular Value | 비금속성의 최소 스페큘러 값: 40, 금속성: 155 |
Maximum Specular Value | 비금속성의 최대 스페큘러 값: 75, 금속성: 255 |
색상 레전드
색상 | 설명 |
---|---|
빨간색 | 최소 스페큘러 값보다 낮은 픽셀 |
파란색 | 최대 스페큘러 값보다 높은 픽셀 |
노란색 | 금속성 정의 시 알베도 값이 0이 아닌 픽셀 |
4. 구현 방법
유효성 검사를 지원하는 머티리얼에는 Unity의 스탠다드 셰이더 또는 Surface Shader를 사용하는 것이 이상적입니다. 커스텀 셰이더의 경우, 다음의 단계를 따라야 합니다.
- META 패스 추가:
csharp #pragma shader_feature EDITOR_VISUALIZATION
- 스페큘러 컬러 할당:
csharp input.SpecularColor = materialSpecularColor;
- 커스텀 meta 패스 작성
예시: csharp Pass { Name "META" Tags { "LightMode"="Meta" } Cull Off CGPROGRAM // ... metadata initialization return UnityMetaFragment(input); }
이 코드와 프로세스는 커스텀 머티리얼이 유효성 검사를 지원하도록 설정하는 중요한 단계입니다.
결론
이 가이드는 Unity에서 PBR 머티리얼의 유효성을 검증하고 문제가 있는 픽셀을 시각적으로 강조하는 방법에 대해 설명했습니다. 이를 통해 개발자는 머티리얼의 품질을 보장할 수 있습니다.