- Home /
Is there a shader that will give me a range of transparencies for an unlit texture?
Currently, I have a lot of small signs in my scene that use the Unlit -> Texture shader. I would like to make these signs transparent, and I would also like to programmatically set transparency values for each sign at run time (to allow things like fade in/fade out, etc.). However, most transparency shaders I've found aren't intended for this use. Is there an easy way to do this?
Thanks :)
Answer by jjrobert · Aug 27, 2012 at 04:05 PM
The best shader I found is listed here:
Shader "Tinted Alpha Blend" {
Properties {
_Color ("Tint (A = Opacity)", Color) = (1,1,1,1)
_MainTex ("Texture (A = Transparency)", 2D) = ""
}
SubShader {
Tags {Queue = Transparent}
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
Pass {
SetTexture[_MainTex] {
ConstantColor [_Color]
Combine texture * constant
}
}
}
}
Answer by ScroodgeM · Aug 25, 2012 at 09:12 PM
Shader "Unity Answers/Unlit With Color"
{
Properties
{
_Color ("Main Color", Color) = (1, 1, 1, 1)
_MainTex ("Main Texture", 2D) = "white" { }
}
SubShader
{
Tags { "Queue" = "Transparent" }
Cull Off
ZWrite Off
Fog { Mode Off }
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
fixed4 _Color;
sampler2D _MainTex;
struct appdata
{
float4 vertex : POSITION;
float4 color : COLOR;
float4 texcoord : TEXCOORD0;
};
struct v2f
{
float4 pos : SV_POSITION;
fixed4 color : COLOR;
float2 uv : TEXCOORD0;
};
v2f vert (appdata v)
{
v2f o;
o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
o.color = v.color;
o.uv = v.texcoord.xy;
return o;
}
half4 frag(v2f i) : COLOR
{
return i.color * _Color * tex2D (_MainTex, i.uv);
}
ENDCG
}
}
}
Thanks for the response, I really appreciate it. Unfortunately, applying this shader to the signs makes them completely transparent, no matter what the alpha value is set to :(
this shader uses also vertex colors, may be in your case there's alpha is zero?
Your answer
Follow this Question
Related Questions
Make transparency ignore meshes inside? 1 Answer
transparent shader objects disappear on certain camera angles 6 Answers
How do I blend or overlay a texture over the main texture? 1 Answer
Adding transparency to a 2 texture blending shader...noobie. 1 Answer
[ problem ] transparent shader !!! 1 Answer