- 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