Version: Unity 6.0 (6000.0)
言語 : 日本語
ビルトインレンダーパイプラインのデカールサーフェスシェーダーの例
ビルトインレンダーパイプラインのトゥーンシェーディングサーフェスシェーダーの例

ビルトインレンダーパイプラインのラップされた拡散サーフェスシェーダーの例

以下は、Wrapped Diffuse の例です。Wrapped Diffuse は照明がオブジェクトのエッジを “包む”ように Diffuse ライティングを変更したものです。サブサーフェススキャタリング効果のシミュレーションに役立ちます。変更は CGPROGRAM セクションだけで、ここでも周囲のシェーダーコードは省略されます。

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

    half4 LightingWrapLambert (SurfaceOutput s, half3 lightDir, half atten) {
        half NdotL = dot (s.Normal, lightDir);
        half diff = NdotL * 0.5 + 0.5;
        half4 c;
        c.rgb = s.Albedo * _LightColor0.rgb * (diff * 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...

これは、シーンにディレクショナルライトが 1つあるとき、テクスチャがある場合とない場合の見え方の違いです。

ビルトインレンダーパイプラインのデカールサーフェスシェーダーの例
ビルトインレンダーパイプラインのトゥーンシェーディングサーフェスシェーダーの例
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961