Unity 6.3
0 онлайн 130 гостей 3 в системе
Вход
Материалы и шейдеры Шаг 320 из 442

Пример шейдера поверхности наклеек во встроенном Render Pipeline

Наклейки обычно используются для добавления деталей к материалам во время выполнения (например, удар пули). Они особенно полезны в отложенном рендеринге, потому что они изменяют GBuffer до того, как он включается, экономия на производительности.

В типичном сценарии, наклейки должны быть отображены после непрозрачных объектов и не должны быть теней, как видно в ShaderLab “Метки” в примере ниже.

Shader "Example/Decal" {
  Properties {
    _MainTex ("Base (RGB)", 2D) = "white" {}
  }
  SubShader {
    Tags { "RenderType"="Opaque" "Queue"="Geometry+1" "ForceNoShadowCasting"="True" }
    LOD 200
    Offset -1, -1
    
    CGPROGRAM
    #pragma surface surf Lambert decal:blend
    
    sampler2D _MainTex;
    
    struct Input {
      float2 uv_MainTex;
    };
    
    void surf (Input IN, inout SurfaceOutput o) {
        half4 c = tex2D (_MainTex, IN.uv_MainTex);
        o.Albedo = c.rgb;
        o.Alpha = c.a;
      }
    ENDCG
    }
}