Version: 6000.3
语言: 中文
内置渲染管线中的包裹漫反射表面着色器示例
内置渲染管线中的全局光照表面着色器示例

内置渲染管线中的卡通着色表面着色器示例

以下示例显示了一个“渐变”光照模型,该模型使用纹理渐变来定义表面如何响应光源和法线之间的角度。这可用于多种效果,与卡通照明一起使用时尤其有效。

    ...ShaderLab code...
    CGPROGRAM
    #pragma surface surf Ramp

    sampler2D _Ramp;

    half4 LightingRamp (SurfaceOutput s, half3 lightDir, half atten) {
        half NdotL = dot (s.Normal, lightDir);
        half diff = NdotL * 0.5 + 0.5;
        half3 ramp = tex2D (_Ramp, float2(diff)).rgb;
        half4 c;
        c.rgb = s.Albedo * _LightColor0.rgb * ramp * atten;
        c.a = s.Alpha;
        return c;
    }

    struct Input {
        float2 uv_MainTex;
    };
    
    sampler2D _MainTex;
    
    void surf (Input IN, inout SurfaceOutput o) {
        o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;
    }
    ENDCG
    ...ShaderLab code...

下面是有纹理和没有纹理的外观,在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
:

同时使用光照渐变纹理和漫反射纹理的着色器。 仅使用光照渐变纹理的着色器。

光照渐变纹理示例。
光照渐变纹理示例。
内置渲染管线中的包裹漫反射表面着色器示例
内置渲染管线中的全局光照表面着色器示例