Shader "MyShader/FlowingLight" { Properties { _MainTex ("MainTex", 2D) = "white" {} _Color ("Color", Color) = (0.5,0.5,0.5,1) _Brighteen ("Brighteen", Range(0, 10)) = 1 _Uspeed ("U speed", Range(-10, 10)) = 0 _VSpeed ("V Speed", Range(-10, 10)) = 1 } SubShader { Tags { "IgnoreProjector"="True" "Queue"="Transparent" "RenderType"="Transparent" } LOD 200 Pass { Name "FORWARD" Tags { "LightMode"="ForwardBase" } Blend SrcAlpha One Cull Off ZWrite Off Fog { Mode off } CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" #pragma multi_compile_fwdbase #pragma target 3.0 uniform float4 _TimeEditor; uniform sampler2D _MainTex; uniform fixed4 _MainTex_ST; uniform fixed4 _Color; uniform fixed _Brighteen; uniform half _Uspeed; uniform half _VSpeed; struct VertexInput { float4 vertex : POSITION; float2 texcoord0 : TEXCOORD0; fixed4 vertexColor : COLOR; }; struct VertexOutput { float4 pos : SV_POSITION; float2 uv0 : TEXCOORD0; fixed4 vertexColor : COLOR; }; VertexOutput vert (VertexInput v) { VertexOutput o = (VertexOutput)0; o.vertexColor = v.vertexColor * _Color; o.pos = UnityObjectToClipPos(v.vertex ); float t = _Time.g + _TimeEditor.g; float2 uv = v.texcoord0 + float2(_Uspeed,_VSpeed) * t; o.uv0 = TRANSFORM_TEX(uv, _MainTex); return o; } fixed4 frag(VertexOutput i) : SV_Target { fixed4 mainColor = tex2D(_MainTex, i.uv0); fixed3 emissive = ((_Brighteen*mainColor.rgb)*i.vertexColor.rgb); return fixed4(emissive * mainColor.a * i.vertexColor.a, 1); } ENDCG } } }