1

Unity で単純な拡散シェーダーを作成しようとしていますが、グローバル アルファ値を使用しています。したがって、テクスチャ (アルファなし) を追加してから、シェーダーでアルファ値を定義します (0 から 1 の間で浮動小数点数を指定します)。これにより、テクスチャ全体が透明になります。

これは私がすでに持っているものです。これは、イメージできる最も基本的な拡散シェーダーにすぎませんが、アルファを追加することに行き詰まっています。

Properties
{
    _Alpha ("Alpha", Range (0.0,1.0)) = 0.0 
    _MainTex ("Base (RGB) Transparency (A)", 2D) = "" { }
}

SubShader
{
    Pass
    {
        SetTexture [_MainTex] { combine texture }
    }
} 

ありがとう、

4

1 に答える 1

1

私がこれを行ってからしばらく経ちましたが、次のようなものが必要だと思います:

SubShader
{
    Tags { "Queue" = "Transparent" }

    Pass
    {
        Blend SrcAlpha OneMinusSrcAlpha

        SetTexture [_MainTex] {
           constantColor (1, 1, 1, [_Alpha])
           combine texture * constant
        }
    }
} 

ここから Unity 用のビルトイン シェーダーをダウンロードできることに注意してください。学習するのに非常に役立ちます。

于 2012-11-16T13:51:53.637 に答える