版本:Unity 6 (6000.0)
语言:英语
内置渲染管线中的最终颜色修改器表面着色器示例
内置渲染管线中的包裹漫反射表面着色器示例

内置渲染管线中的贴花表面着色器示例

贴花通常用于在运行时为材质添加细节(例如,子弹撞击)。它们在延迟渲染中特别有用,因为它们在光照之前改变了 GBuffer,因此节省了性能。

在典型情况下,贴花应该在不透明物体之后渲染,并且不应该是阴影投射器,如以下示例中的 ShaderLabUnity 用于定义着色器对象结构的语言。 更多信息
参见 术语表
“标签”部分所示。

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
    }
}
内置渲染管线中的最终颜色修改器表面着色器示例
内置渲染管线中的包裹漫反射表面着色器示例