- 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
![](https://koobas.hobune.stream/wayback/20220612172757im_/https://answers.unity.com/themes/thub/images/avi.jpg)
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