Version: Unity 6.0 (6000.0)
언어 : 한국어
빌트인 렌더 파이프라인에서 머티리얼 확인 및 수정
빌트인 렌더 파이프라인용 Material Validator 창 레퍼런스

빌트인 렌더 파이프라인에서 머티리얼 검증기와 호환되는 셰이더 만들기

머티리얼 검증기는 Unity의 스탠다드 셰이더 또는 표면 셰이더를 사용하는 모든 머티리얼에서 작동합니다. 그러나 커스텀 셰이더에는 “META”라는 이름의 패스가 필요합니다. 라이트매핑을 지원하는 대부분의 커스텀 셰이더에는 이미 이 패스가 정의되어 있습니다. 자세한 내용은 라이트매핑 및 셰이더에 대한 기술 자료를 참조하십시오.

커스텀 셰이더가 머티리얼 유효성 검사와 호환되도록 하려면 다음 절차를 수행하십시오.

  1. 메타 패스에 다음 pragma를 추가합니다. #pragma shader_feature EDITOR_VISUALIZATION
  2. UnityMetaInput 구조에서 아래 코드 예시와 같이 머티리얼의 스페큘러 컬러를 SpecularColor라는 필드에 할당합니다.

다음은 커스텀 meta 패스의 예입니다.

Pass
{
    Name "META" 
    Tags { "LightMode"="Meta" }

    Cull Off

    CGPROGRAM
    #pragma vertex vert_meta
    #pragma fragment frag_meta

    #pragma shader_feature _EMISSION
    #pragma shader_feature _METALLICGLOSSMAP
    #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
    #pragma shader_feature ___ _DETAIL_MULX2
    #pragma shader_feature EDITOR_VISUALIZATION

    float4 frag_meta(v2f_meta i) : SV_TARGET
    {
        UnityMetaInput input;
        UNITY_INITIALIZE_OUTPUT(UnityMetaInput, input);
        float4 materialSpecularColor = float4(1.0f, 0.0f, 0.0f, 1.0f);
        float4 materialAlbedo = float4(0.0f, 1.0f, 0.0f, 1.0f);
        input.SpecularColor = materialSpecularColor;
        input.Albedo = materialAlbedo;

        return UnityMetaFragment(input);
    }  
}
빌트인 렌더 파이프라인에서 머티리얼 확인 및 수정
빌트인 렌더 파이프라인용 Material Validator 창 레퍼런스