通常テクスチャを表示する Shader では Alpha のあるテクスチャを利用すると
下図のようにAlpha部分は無く表示がおかしくなってしまいます
Shader "Custom/Texture" { Properties { [NoScaleOffset] _MainTex("Texture", 2D) = "white" {} } SubShader { Tags { "RenderType" = "Opaque" } Pass { CGPROGRAM #pragma vertex vert_img #pragma fragment frag #include "UnityCG.cginc" sampler2D _MainTex; fixed4 frag (in v2f_img i) : SV_Target { return tex2D(_MainTex, i.uv); } ENDCG } } }
そのため、Queue
の変更と Alpha Blend の設定をしてあげる必要があります
SubShader { Tags { "RenderType" = "Opaque" }
上記を下記に書き換える
SubShader { Tags {"Queue"="Transparent"} Blend SrcAlpha OneMinusSrcAlpha
そうすると正しくアルファが表示されます