Add contrast to projector/light? OR add fade in/out to projector/multiply
Hello,
I am trying to integrate fading in/out with the projector/multiply shader. I've seen a few shader examples around, but none seem to work. Using the projector/light, the alpha can be changed but the image from a projector/light shader has weak contrast. When using the projector/light the blacks of my projected image are grey.
Thank you, Tegan
               Comment
              
 
               
              Answer by teigsy · Nov 20, 2017 at 04:42 PM
Figured it out. Here is my shader code below if someone else runs into a similar problem
 Shader "Projector/MultiplyAlpha" {
     Properties {
         _ShadowTex ("Cookie", 2D) = "gray" {}
         _Alpha ("Alpha", Range (0, 1.0)) = 0.5
     }
     Subshader {
         Tags {"Queue"="Transparent"}
         Pass {
             ZWrite Off
             ColorMask RGB
             Blend DstColor Zero
             Offset -1, -1
 
             CGPROGRAM
             #pragma vertex vert
             #pragma fragment frag
             #pragma multi_compile_fog
             #include "UnityCG.cginc"
             
             struct v2f {
                 float4 uvShadow : TEXCOORD0;
                 float4 uvFalloff : TEXCOORD1;
                 UNITY_FOG_COORDS(2)
                 float4 pos : SV_POSITION;
             };
             
             float4x4 unity_Projector;
             float4x4 unity_ProjectorClip;
             
             v2f vert (float4 vertex : POSITION)
             {
                 v2f o;
                 o.pos = UnityObjectToClipPos(vertex);
                 o.uvShadow = mul (unity_Projector, vertex);
                 o.uvFalloff = mul (unity_ProjectorClip, vertex);
                 UNITY_TRANSFER_FOG(o,o.pos);
                 return o;
             }
             
             sampler2D _ShadowTex;
             float _Alpha;
             
             fixed4 frag (v2f i) : SV_Target
             {
                 fixed4 texS = tex2Dproj (_ShadowTex, UNITY_PROJ_COORD(i.uvShadow));
                 texS.a = 1.0-texS.a;
 
                 fixed4 res = lerp(fixed4(1,1,1,0), texS, _Alpha);
 
                 UNITY_APPLY_FOG_COLOR(i.fogCoord, res, fixed4(1,1,1,1));
                 return res;
             }
             ENDCG
         }
     }
 }
 
Your answer
 
 
             Follow this Question
Related Questions
Projecting hole in Unity 5 0 Answers
Transparent Shader Ignores Background 0 Answers
Why I couldnt control alpha in Surface shader? 3 Answers
How to change parts of an objects color through scripting? 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
               
 
			 
                