Version: Unity 6.0 (6000.0)
言語 : 日本語
ビルトインレンダーパイプラインで最終色のモディファイアを使用するサーフェスシェーダーの例
ビルトインレンダーパイプラインのラップされた拡散サーフェスシェーダーの例

ビルトインレンダーパイプラインのデカールサーフェスシェーダーの例

デカールは一般的に、ランタイムにマテリアルにディテールを追加するために使用します (例えば、弾丸の衝撃など)。特にディファードレンダリングでは GBuffer を変更してからライティングを行うため、パフォーマンスの節約につながり便利です。

通常の場合は、デカールは不透明なオブジェクトの後にレンダリングされるべきであり、以下のシェーダーラボの “Tags” に示すように、影の投影 (Shadow Casting) をすべきではありません。

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
    }
}
ビルトインレンダーパイプラインで最終色のモディファイアを使用するサーフェスシェーダーの例
ビルトインレンダーパイプラインのラップされた拡散サーフェスシェーダーの例
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961