版本:Unity 6 (6000.0)
语言:English
内置渲染管线中的自定义数据表面着色器示例
内置渲染管线中的贴花表面着色器示例

内置渲染管线中的最终颜色修改器表面着色器示例

可以使用“最终颜色修改器”函数来修改由着色器在 GPU 上运行的程序。 更多信息
参见 术语表
计算的最终颜色。表面着色器用于内置渲染管线的着色器编写的一种简化方法。 更多信息
参见 术语表
编译指令finalcolor:functionName用于此目的,它使用一个函数,该函数采用Input IN, SurfaceOutput o, inout fixed4 color参数。

这是一个简单的着色器,它将色调应用于最终颜色。这与仅将色调应用于表面漫反射颜色不同:此色调也将影响来自光照贴图预渲染的纹理,其中包含场景中静态对象上的光源效果。光照贴图叠加在场景几何体上以创建照明效果。 更多信息
参见 术语表
光探针光探针存储有关光线如何穿过场景空间的信息。在给定空间内排列的光探针集合可以改善该空间内移动对象和静态 LOD 场景的照明。 更多信息
参见 术语表
和其他类似额外来源的任何颜色。

  Shader "Example/Tint Final Color" {
    Properties {
      _MainTex ("Texture", 2D) = "white" {}
      _ColorTint ("Tint", Color) = (1.0, 0.6, 0.6, 1.0)
    }
    SubShader {
      Tags { "RenderType" = "Opaque" }
      CGPROGRAM
      #pragma surface surf Lambert finalcolor:mycolor
      struct Input {
          float2 uv_MainTex;
      };
      fixed4 _ColorTint;
      void mycolor (Input IN, SurfaceOutput o, inout fixed4 color)
      {
          color *= _ColorTint;
      }
      sampler2D _MainTex;
      void surf (Input IN, inout SurfaceOutput o) {
           o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;
      }
      ENDCG
    } 
    Fallback "Diffuse"
  }
内置渲染管线中的自定义数据表面着色器示例
内置渲染管线中的贴花表面着色器示例