UISequenceFrame.shader 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. // Made with Amplify Shader Editor
  2. // Available at the Unity Asset Store - http://u3d.as/y3X
  3. Shader "RO/UI_Effect_01"
  4. {
  5. Properties
  6. {
  7. [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
  8. _Color ("Tint", Color) = (1,1,1,1)
  9. _StencilComp ("Stencil Comparison", Float) = 8
  10. _Stencil ("Stencil ID", Float) = 0
  11. _StencilOp ("Stencil Operation", Float) = 0
  12. _StencilWriteMask ("Stencil Write Mask", Float) = 255
  13. _StencilReadMask ("Stencil Read Mask", Float) = 255
  14. _ColorMask ("Color Mask", Float) = 15
  15. [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
  16. _UV_Animation("UV_Animation", Vector) = (1,1,1,1)
  17. }
  18. SubShader
  19. {
  20. LOD 0
  21. Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" "CanUseSpriteAtlas"="True" }
  22. Stencil
  23. {
  24. Ref [_Stencil]
  25. ReadMask [_StencilReadMask]
  26. WriteMask [_StencilWriteMask]
  27. CompFront [_StencilComp]
  28. PassFront [_StencilOp]
  29. FailFront Keep
  30. ZFailFront Keep
  31. CompBack Always
  32. PassBack Keep
  33. FailBack Keep
  34. ZFailBack Keep
  35. }
  36. Cull Off
  37. Lighting Off
  38. ZWrite Off
  39. ZTest [unity_GUIZTestMode]
  40. Blend SrcAlpha OneMinusSrcAlpha
  41. ColorMask [_ColorMask]
  42. Pass
  43. {
  44. Name "Default"
  45. CGPROGRAM
  46. #pragma vertex vert
  47. #pragma fragment frag
  48. #pragma target 3.0
  49. #include "UnityCG.cginc"
  50. #include "UnityUI.cginc"
  51. #pragma multi_compile __ UNITY_UI_CLIP_RECT
  52. #pragma multi_compile __ UNITY_UI_ALPHACLIP
  53. #include "UnityShaderVariables.cginc"
  54. struct appdata_t
  55. {
  56. float4 vertex : POSITION;
  57. float4 color : COLOR;
  58. float2 texcoord : TEXCOORD0;
  59. UNITY_VERTEX_INPUT_INSTANCE_ID
  60. };
  61. struct v2f
  62. {
  63. float4 vertex : SV_POSITION;
  64. fixed4 color : COLOR;
  65. half2 texcoord : TEXCOORD0;
  66. float4 worldPosition : TEXCOORD1;
  67. UNITY_VERTEX_INPUT_INSTANCE_ID
  68. UNITY_VERTEX_OUTPUT_STEREO
  69. };
  70. uniform fixed4 _Color;
  71. uniform fixed4 _TextureSampleAdd;
  72. uniform float4 _ClipRect;
  73. uniform sampler2D _MainTex;
  74. uniform float4 _UV_Animation;
  75. v2f vert( appdata_t IN )
  76. {
  77. v2f OUT;
  78. UNITY_SETUP_INSTANCE_ID( IN );
  79. UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
  80. UNITY_TRANSFER_INSTANCE_ID(IN, OUT);
  81. OUT.worldPosition = IN.vertex;
  82. OUT.worldPosition.xyz += float3( 0, 0, 0 ) ;
  83. OUT.vertex = UnityObjectToClipPos(OUT.worldPosition);
  84. OUT.texcoord = IN.texcoord;
  85. OUT.color = IN.color * _Color;
  86. return OUT;
  87. }
  88. fixed4 frag(v2f IN ) : SV_Target
  89. {
  90. float2 uv03 = IN.texcoord.xy * float2( 1,1 ) + float2( 0,0 );
  91. // *** BEGIN Flipbook UV Animation vars ***
  92. // Total tiles of Flipbook Texture
  93. float fbtotaltiles4 = _UV_Animation.x * _UV_Animation.y;
  94. // Offsets for cols and rows of Flipbook Texture
  95. float fbcolsoffset4 = 1.0f / _UV_Animation.x;
  96. float fbrowsoffset4 = 1.0f / _UV_Animation.y;
  97. // Speed of animation
  98. float fbspeed4 = _Time.y * _UV_Animation.z;
  99. // UV Tiling (col and row offset)
  100. float2 fbtiling4 = float2(fbcolsoffset4, fbrowsoffset4);
  101. // UV Offset - calculate current tile linear index, and convert it to (X * coloffset, Y * rowoffset)
  102. // Calculate current tile linear index
  103. float fbcurrenttileindex4 = round( fmod( fbspeed4 + _UV_Animation.w, fbtotaltiles4) );
  104. fbcurrenttileindex4 += ( fbcurrenttileindex4 < 0) ? fbtotaltiles4 : 0;
  105. // Obtain Offset X coordinate from current tile linear index
  106. float fblinearindextox4 = round ( fmod ( fbcurrenttileindex4, _UV_Animation.x ) );
  107. // Multiply Offset X by coloffset
  108. float fboffsetx4 = fblinearindextox4 * fbcolsoffset4;
  109. // Obtain Offset Y coordinate from current tile linear index
  110. float fblinearindextoy4 = round( fmod( ( fbcurrenttileindex4 - fblinearindextox4 ) / _UV_Animation.x, _UV_Animation.y ) );
  111. // Reverse Y to get tiles from Top to Bottom
  112. fblinearindextoy4 = (int)(_UV_Animation.y-1) - fblinearindextoy4;
  113. // Multiply Offset Y by rowoffset
  114. float fboffsety4 = fblinearindextoy4 * fbrowsoffset4;
  115. // UV Offset
  116. float2 fboffset4 = float2(fboffsetx4, fboffsety4);
  117. // Flipbook UV
  118. half2 fbuv4 = uv03 * fbtiling4 + fboffset4;
  119. // *** END Flipbook UV Animation vars ***
  120. half4 color = ( _Color * tex2D( _MainTex, fbuv4 ) );
  121. #ifdef UNITY_UI_CLIP_RECT
  122. color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);
  123. #endif
  124. #ifdef UNITY_UI_ALPHACLIP
  125. clip (color.a - 0.001);
  126. #endif
  127. return color;
  128. }
  129. ENDCG
  130. }
  131. }
  132. CustomEditor "ASEMaterialInspector"
  133. }
  134. /*ASEBEGIN
  135. Version=17500
  136. 2211;1;1618;1010;1196.562;270.86;1.1823;True;True
  137. Node;AmplifyShaderEditor.TextureCoordinatesNode;3;-1068.507,22.47659;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  138. Node;AmplifyShaderEditor.SimpleTimeNode;7;-995.2363,406.1075;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0
  139. Node;AmplifyShaderEditor.Vector4Node;8;-1002.756,198.9695;Inherit;False;Property;_UV_Animation;UV_Animation;0;0;Create;True;0;0;False;0;1,1,1,1;4,4,30,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  140. Node;AmplifyShaderEditor.TFHCFlipBookUVAnimation;4;-650.4561,139.6695;Inherit;False;0;0;6;0;FLOAT2;0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;3;FLOAT2;0;FLOAT;1;FLOAT;2
  141. Node;AmplifyShaderEditor.TemplateShaderPropertyNode;11;-629.01,-18.2664;Inherit;False;0;0;_MainTex;Shader;0;5;SAMPLER2D;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  142. Node;AmplifyShaderEditor.SamplerNode;5;-345.4561,110.6695;Inherit;True;Property;_TextureSample0;Texture Sample 0;1;0;Create;True;0;0;False;1;Source Image;-1;68b14a17ced865043a441b2b0aa667fd;68b14a17ced865043a441b2b0aa667fd;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  143. Node;AmplifyShaderEditor.TemplateShaderPropertyNode;13;-262.9222,-83.92506;Inherit;False;0;0;_Color;Shader;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  144. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;12;18.10223,81.65778;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
  145. Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;10;351.8512,83.66402;Float;False;True;-1;2;ASEMaterialInspector;0;4;RO/UI_Effect_01;5056123faa0c79b47ab6ad7e8bf059a4;True;Default;0;0;Default;2;True;2;5;False;-1;10;False;-1;0;1;False;-1;0;False;-1;False;False;True;2;False;-1;True;True;True;True;True;0;True;-9;True;True;0;True;-5;255;True;-8;255;True;-7;0;True;-4;0;True;-6;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;True;2;False;-1;True;0;True;-11;False;True;5;Queue=Transparent=Queue=0;IgnoreProjector=True;RenderType=Transparent=RenderType;PreviewType=Plane;CanUseSpriteAtlas=True;False;0;False;False;False;False;False;False;False;False;False;False;True;2;0;;0;0;Standard;0;0;1;True;False;;0
  146. WireConnection;4;0;3;0
  147. WireConnection;4;1;8;1
  148. WireConnection;4;2;8;2
  149. WireConnection;4;3;8;3
  150. WireConnection;4;4;8;4
  151. WireConnection;4;5;7;0
  152. WireConnection;5;0;11;0
  153. WireConnection;5;1;4;0
  154. WireConnection;12;0;13;0
  155. WireConnection;12;1;5;0
  156. WireConnection;10;0;12;0
  157. ASEEND*/
  158. //CHKSM=DF8889AA6B1CFD472AEA565B5D727CEA791AFEB8