- Home /
Shader Overlay Texture
Hi,
I'm trying to learn shaders, and I'm looking to achieve the follow effect: https://youtu.be/r_w4tiHDuCg?t=81
The effect you see on the "B" and "S" where the lines scroll across the condo. I've been looking at shaders to achieve this and have this so far:
 Shader "Custom/Text"
 {
  
     Properties
     {
         // main
         _ColorMain ("Base Tint", Color) = (1,1,1,1)
         _MainTex ("Base Texture", 2D) = "white" {}
  
         // overlay
         _ColorOverlay ("Overlay Tint", Color) = (1,1,1,1)
         _OverlayTex ("Overlay Texture", 2D) = "white" {}
  
     }
  
     SubShader
     {
         Tags {
             "IgnoreProjector"="True"
             "Queue"="Transparent"
             "RenderType"="Transparent"
         }
         ZWrite Off
         Lighting Off
         Cull Off
         Fog { Mode Off }
         Blend SrcAlpha OneMinusSrcAlpha
        
         Pass
         {
             CGPROGRAM
             #pragma vertex vert
             #pragma fragment frag
  
             #pragma fragmentoption ARB_precision_hint_fastest
             #include "UnityCG.cginc"
  
             // variables
             fixed4 _ColorMain;
             fixed4 _ColorOverlay;
  
             sampler2D _MainTex;
             sampler2D _OverlayTex;
  
  
             // input
             struct vertexIn
             {
                 float4 vertex : POSITION;
                 float2 texcoord : TEXCOORD0;
                 float2 texcoord1 : TEXCOORD1;
             };
  
             // output
             struct vertexOut
             {
                 float4 vertex : SV_POSITION;
                 float4 texcoord01 : TEXCOORD0;
                 float4 texcoord02 : TEXCOORD1;
             };
  
             vertexOut vert(vertexIn v)
             {
                 vertexOut OUT;
                 OUT.vertex = UnityObjectToClipPos(v.vertex);
                 OUT.texcoord01.xy = v.texcoord;
                 OUT.texcoord02.xy = v.texcoord1;
                 return OUT;
             }
  
             // frag
             fixed4 frag(vertexOut IN) : SV_Target
             {
     fixed4 mainTexture = tex2D(_MainTex, IN.texcoord01.xy);
     fixed4 overlayTexture = tex2D(_OverlayTex, IN.texcoord02.xy);
     fixed4 returnTexture = mainTexture * _ColorMain;
     overlayTexture.rgb *= _ColorOverlay.rgb;
     returnTexture.rgb = overlayTexture.a * _ColorOverlay.a * (overlayTexture.rgb-returnTexture.rgb) + returnTexture.rgb;
     returnTexture.a = mainTexture.a;
     return returnTexture;
             }
  
             ENDCG
         }
     }
 }
However it's not looking anything like i'm trying to achieve, is there any insights on how to help fix this?
Thanks
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
Why CYAN is default object color (with default materials & shaders) 0 Answers
How to lighten/darken a greyscale shader 0 Answers
Any idea how to get object rotation or transformMatrix in the vertex shader? 0 Answers
How to do 2D graphics like this ? 1 Answer
Shadergraph & Transparency Issues 0 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
               
 
			 
                