Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Inspired by Nintendo's Animal Crossing and UI Shader by Mix and Jam
- // Support Metkis https://www.patreon.com/metkis
- // Support Mix & Jam https://www.patreon.com/mixandjam
- Shader "UIOffset"
- {
- Properties
- {
- [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
- _Color ("Tint", Color) = (1,1,1,1)
- [HideInInspector] _StencilComp ("Stencil Comparison", Float) = 8
- [HideInInspector] _Stencil ("Stencil ID", Float) = 0
- [HideInInspector] _StencilOp ("Stencil Operation", Float) = 0
- [HideInInspector] _StencilWriteMask ("Stencil Write Mask", Float) = 255
- [HideInInspector] _StencilReadMask ("Stencil Read Mask", Float) = 255
- [HideInInspector] _ColorMask ("Color Mask", Float) = 15
- [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
- _Strength("Strength", Float) = 10
- _Scale("Scale", Float) = 3
- _Speed("Speed", Float) = 0.2
- [HideInInspector] _texcoord( "", 2D ) = "white" {}
- }
- SubShader
- {
- LOD 0
- Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" "CanUseSpriteAtlas"="True" }
- Stencil
- {
- Ref [_Stencil]
- ReadMask [_StencilReadMask]
- WriteMask [_StencilWriteMask]
- CompFront [_StencilComp]
- PassFront [_StencilOp]
- FailFront Keep
- ZFailFront Keep
- CompBack Always
- PassBack Keep
- FailBack Keep
- ZFailBack Keep
- }
- Cull Off
- Lighting Off
- ZWrite Off
- ZTest [unity_GUIZTestMode]
- Blend SrcAlpha OneMinusSrcAlpha
- ColorMask [_ColorMask]
- Pass
- {
- Name "Default"
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #pragma target 3.0
- #include "UnityCG.cginc"
- #include "UnityUI.cginc"
- #pragma multi_compile __ UNITY_UI_CLIP_RECT
- #pragma multi_compile __ UNITY_UI_ALPHACLIP
- #include "UnityShaderVariables.cginc"
- struct appdata_t
- {
- float4 vertex : POSITION;
- float4 color : COLOR;
- float2 texcoord : TEXCOORD0;
- UNITY_VERTEX_INPUT_INSTANCE_ID
- };
- struct v2f
- {
- float4 vertex : SV_POSITION;
- fixed4 color : COLOR;
- half2 texcoord : TEXCOORD0;
- float4 worldPosition : TEXCOORD1;
- UNITY_VERTEX_INPUT_INSTANCE_ID
- UNITY_VERTEX_OUTPUT_STEREO
- };
- uniform fixed4 _Color;
- uniform fixed4 _TextureSampleAdd;
- uniform float4 _ClipRect;
- uniform sampler2D _MainTex;
- uniform float _Speed;
- uniform float _Scale;
- uniform float _Strength;
- uniform float4 _MainTex_ST;
- float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
- float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
- float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); }
- float snoise( float2 v )
- {
- const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 );
- float2 i = floor( v + dot( v, C.yy ) );
- float2 x0 = v - i + dot( i, C.xx );
- float2 i1;
- i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 );
- float4 x12 = x0.xyxy + C.xxzz;
- x12.xy -= i1;
- i = mod2D289( i );
- float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) );
- float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 );
- m = m * m;
- m = m * m;
- float3 x = 2.0 * frac( p * C.www ) - 1.0;
- float3 h = abs( x ) - 0.5;
- float3 ox = floor( x + 0.5 );
- float3 a0 = x - ox;
- m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h );
- float3 g;
- g.x = a0.x * x0.x + h.x * x0.y;
- g.yz = a0.yz * x12.xz + h.yz * x12.yw;
- return 130.0 * dot( m, g );
- }
- v2f vert( appdata_t IN )
- {
- v2f OUT;
- UNITY_SETUP_INSTANCE_ID( IN );
- UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
- UNITY_TRANSFER_INSTANCE_ID(IN, OUT);
- OUT.worldPosition = IN.vertex;
- float4 ase_clipPos = UnityObjectToClipPos(IN.vertex);
- float4 screenPos = ComputeScreenPos(ase_clipPos);
- float4 ase_screenPosNorm = screenPos / screenPos.w;
- ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5;
- float2 temp_cast_0 = (( _Time.y * _Speed )).xx;
- float2 uv05 = IN.texcoord.xy * float2( 1,1 ) + temp_cast_0;
- float simplePerlin2D6 = snoise( uv05*_Scale );
- simplePerlin2D6 = simplePerlin2D6*0.5 + 0.5;
- OUT.worldPosition.xyz += ( ase_screenPosNorm + ( simplePerlin2D6 * _Strength ) ).xyz;
- OUT.vertex = UnityObjectToClipPos(OUT.worldPosition);
- OUT.texcoord = IN.texcoord;
- OUT.color = IN.color * _Color;
- return OUT;
- }
- fixed4 frag(v2f IN ) : SV_Target
- {
- float2 uv_MainTex = IN.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
- half4 color = ( tex2D( _MainTex, uv_MainTex ) * _Color * IN.color);
- #ifdef UNITY_UI_CLIP_RECT
- color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);
- #endif
- #ifdef UNITY_UI_ALPHACLIP
- clip (color.a - 0.001);
- #endif
- return color;
- }
- ENDCG
- }
- }
- CustomEditor "ASEMaterialInspector"
- }
- /*ASEBEGIN
- Version=17800
- 1117.6;799.2;1832;551;-770.4377;457.9857;1.324218;True;True
- Node;AmplifyShaderEditor.RangedFloatNode;2;472.0559,283.983;Inherit;False;Property;_Speed;Speed;2;0;Create;True;0;0;False;0;0.2;0.2;0;0;0;1;FLOAT;0
- Node;AmplifyShaderEditor.SimpleTimeNode;1;487.2901,134.2589;Inherit;False;1;0;FLOAT;1;False;1;FLOAT;0
- Node;AmplifyShaderEditor.Vector2Node;27;642.5088,-108.3966;Inherit;False;Constant;_Vector1;Vector 1;5;0;Create;True;0;0;False;0;1,1;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
- Node;AmplifyShaderEditor.SimpleMultiplyOpNode;3;725.4282,184.6313;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
- Node;AmplifyShaderEditor.TextureCoordinatesNode;5;945.0638,-39.03014;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
- Node;AmplifyShaderEditor.RangedFloatNode;8;966,249.5;Inherit;False;Property;_Scale;Scale;1;0;Create;True;0;0;False;0;3;3;0;0;0;1;FLOAT;0
- Node;AmplifyShaderEditor.NoiseGeneratorNode;6;1238.955,10.7599;Inherit;False;Simplex2D;True;False;2;0;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT;0
- Node;AmplifyShaderEditor.RangedFloatNode;10;1377,250.5;Inherit;False;Property;_Strength;Strength;0;0;Create;True;0;0;False;0;10;10.06;0;0;0;1;FLOAT;0
- Node;AmplifyShaderEditor.TemplateShaderPropertyNode;37;1507.915,-602.8209;Inherit;False;0;0;_MainTex;Shader;0;5;SAMPLER2D;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
- Node;AmplifyShaderEditor.SimpleMultiplyOpNode;9;1509.457,-9.171837;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
- Node;AmplifyShaderEditor.SamplerNode;44;1892.943,-625.6439;Inherit;True;Property;_TextureSample1;Texture Sample 1;3;0;Create;True;0;0;False;0;-1;None;None;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
- Node;AmplifyShaderEditor.TemplateShaderPropertyNode;39;1910.176,-371.289;Inherit;False;0;0;_Color;Shader;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
- Node;AmplifyShaderEditor.ScreenPosInputsNode;49;1268.344,-307.0249;Float;False;0;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
- Node;AmplifyShaderEditor.SimpleMultiplyOpNode;45;2189.959,-401.6519;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
- Node;AmplifyShaderEditor.SimpleAddOpNode;14;1726.319,-45.76727;Inherit;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;0;False;1;FLOAT4;0
- Node;AmplifyShaderEditor.PosVertexDataNode;32;1449.611,-290.5601;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
- Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;35;2550.877,-68.04276;Float;False;True;-1;2;ASEMaterialInspector;0;4;UIOffset;5056123faa0c79b47ab6ad7e8bf059a4;True;Default;0;0;Default;2;True;2;5;False;-1;10;False;-1;0;5;False;-1;10;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
- WireConnection;3;0;1;0
- WireConnection;3;1;2;0
- WireConnection;5;0;27;0
- WireConnection;5;1;3;0
- WireConnection;6;0;5;0
- WireConnection;6;1;8;0
- WireConnection;9;0;6;0
- WireConnection;9;1;10;0
- WireConnection;44;0;37;0
- WireConnection;45;0;44;0
- WireConnection;45;1;39;0
- WireConnection;14;0;49;0
- WireConnection;14;1;9;0
- WireConnection;35;0;45;0
- WireConnection;35;1;14;0
- ASEEND*/
- //CHKSM=E561CBDDAC1458210326A1DFAFC7F7FEFFE21D97
Add Comment
Please, Sign In to add comment