summaryrefslogtreecommitdiff
path: root/Assets/Art/Vfx/Sword slash VFX/Shaders
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Art/Vfx/Sword slash VFX/Shaders')
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Add_CenterGlow.shader239
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Add_CenterGlow.shader.meta9
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Add_Fresnel.shader160
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Add_Fresnel.shader.meta9
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/BlendDistort.shader304
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/BlendDistort.shader.meta9
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_CenterGlow.shader245
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_CenterGlow.shader.meta9
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_TwoSides.shader201
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_TwoSides.shader.meta9
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/DissolveNoise.shader306
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/DissolveNoise.shader.meta9
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Distortion.shader148
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Distortion.shader.meta9
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Explosion.shader333
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Explosion.shader.meta12
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Ice.shader193
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Ice.shader.meta9
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Scroll.shader313
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/Scroll.shader.meta11
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/SwordSlash.shader280
-rw-r--r--Assets/Art/Vfx/Sword slash VFX/Shaders/SwordSlash.shader.meta14
22 files changed, 2831 insertions, 0 deletions
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_CenterGlow.shader b/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_CenterGlow.shader
new file mode 100644
index 00000000..b31eb35e
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_CenterGlow.shader
@@ -0,0 +1,239 @@
+Shader "Hovl/Particles/Add_CenterGlow"
+{
+ Properties
+ {
+ _MainTex("MainTex", 2D) = "white" {}
+ _Noise("Noise", 2D) = "white" {}
+ _Flow("Flow", 2D) = "white" {}
+ _Mask("Mask", 2D) = "white" {}
+ _SpeedMainTexUVNoiseZW("Speed MainTex U/V + Noise Z/W", Vector) = (0,0,0,0)
+ _DistortionSpeedXYPowerZ("Distortion Speed XY Power Z", Vector) = (0,0,0,0)
+ _Emission("Emission", Float) = 2
+ _Color("Color", Color) = (0.5,0.5,0.5,1)
+ [Toggle]_Usecenterglow("Use center glow?", Float) = 0
+ [MaterialToggle] _Usedepth ("Use depth?", Float ) = 0
+ _Depthpower ("Depth power", Float ) = 1
+ [Enum(Cull Off,0, Cull Front,1, Cull Back,2)] _CullMode("Culling", Float) = 0
+ [Enum(One,1,OneMinuSrcAlpha,6)] _Blend2 ("Blend mode subset", Float) = 1
+ [HideInInspector] _texcoord( "", 2D ) = "white" {}
+ }
+
+ Category
+ {
+ SubShader
+ {
+ Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
+ Blend One[_Blend2]
+ ColorMask RGB
+ Cull[_CullMode]
+ Lighting Off
+ ZWrite Off
+ ZTest LEqual
+
+ Pass {
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma target 2.0
+ #pragma multi_compile_particles
+ #pragma multi_compile_fog
+ #include "UnityShaderVariables.cginc"
+ #include "UnityCG.cginc"
+
+ struct appdata_t
+ {
+ float4 vertex : POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_FOG_COORDS(1)
+ #ifdef SOFTPARTICLES_ON
+ float4 projPos : TEXCOORD2;
+ #endif
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ UNITY_VERTEX_OUTPUT_STEREO
+ };
+
+ #if UNITY_VERSION >= 560
+ UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture );
+ #else
+ uniform sampler2D_float _CameraDepthTexture;
+ #endif
+
+ //Don't delete this comment
+ // uniform sampler2D_float _CameraDepthTexture;
+
+ uniform sampler2D _MainTex;
+ uniform float4 _MainTex_ST;
+ uniform float _Usecenterglow;
+ uniform float4 _SpeedMainTexUVNoiseZW;
+ uniform sampler2D _Flow;
+ uniform float4 _DistortionSpeedXYPowerZ;
+ uniform float4 _Flow_ST;
+ uniform sampler2D _Mask;
+ uniform float4 _Mask_ST;
+ uniform sampler2D _Noise;
+ uniform float4 _Noise_ST;
+ uniform float4 _Color;
+ uniform float _Emission;
+ uniform fixed _Usedepth;
+ uniform float _Depthpower;
+
+ v2f vert ( appdata_t v )
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ UNITY_TRANSFER_INSTANCE_ID(v, o);
+
+ v.vertex.xyz += float3( 0, 0, 0 ) ;
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ #ifdef SOFTPARTICLES_ON
+ o.projPos = ComputeScreenPos (o.vertex);
+ COMPUTE_EYEDEPTH(o.projPos.z);
+ #endif
+ o.color = v.color;
+ o.texcoord = v.texcoord;
+ UNITY_TRANSFER_FOG(o,o.vertex);
+ return o;
+ }
+
+ fixed4 frag ( v2f i ) : SV_Target
+ {
+ float lp = 1;
+ #ifdef SOFTPARTICLES_ON
+ float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
+ float partZ = i.projPos.z;
+ float fade = saturate ((sceneZ-partZ) / _Depthpower);
+ lp *= lerp(1, fade, _Usedepth);
+ i.color.a *= lp;
+ #endif
+
+ float2 appendResult21 = (float2(_SpeedMainTexUVNoiseZW.x , _SpeedMainTexUVNoiseZW.y));
+ float2 uv0_MainTex = i.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
+ float2 panner107 = ( 1.0 * _Time.y * appendResult21 + uv0_MainTex);
+ float2 appendResult100 = (float2(_DistortionSpeedXYPowerZ.x , _DistortionSpeedXYPowerZ.y));
+ float3 uv0_Flow = i.texcoord.xyz;
+ uv0_Flow.xy = i.texcoord.xy * _Flow_ST.xy + _Flow_ST.zw;
+ float2 panner110 = ( 1.0 * _Time.y * appendResult100 + (uv0_Flow).xy);
+ float2 uv_Mask = i.texcoord.xy * _Mask_ST.xy + _Mask_ST.zw;
+ float4 tex2DNode33 = tex2D( _Mask, uv_Mask );
+ float Flowpower102 = _DistortionSpeedXYPowerZ.z;
+ float4 tex2DNode13 = tex2D( _MainTex, ( panner107 - ( (( tex2D( _Flow, panner110 ) * tex2DNode33 )).rg * Flowpower102 ) ) );
+ float2 appendResult22 = (float2(_SpeedMainTexUVNoiseZW.z , _SpeedMainTexUVNoiseZW.w));
+ float2 uv0_Noise = i.texcoord.xy * _Noise_ST.xy + _Noise_ST.zw;
+ float2 panner108 = ( 1.0 * _Time.y * appendResult22 + uv0_Noise);
+ float4 tex2DNode14 = tex2D( _Noise, panner108 );
+ float4 temp_output_30_0 = ( tex2DNode13 * tex2DNode14 * _Color * i.color * tex2DNode13.a * tex2DNode14.a * _Color.a * i.color.a );
+ float4 temp_cast_0 = ((1.0 + (uv0_Flow.z - 0.0) * (0.0 - 1.0) / (1.0 - 0.0))).xxxx;
+ float4 clampResult38 = clamp( ( tex2DNode33 - temp_cast_0 ) , float4( 0,0,0,0 ) , float4( 1,1,1,1 ) );
+ float4 clampResult40 = clamp( ( tex2DNode33 * clampResult38 ) , float4( 0,0,0,0 ) , float4( 1,1,1,1 ) );
+
+
+ fixed4 col = ( lerp(temp_output_30_0,( temp_output_30_0 * clampResult40 ),_Usecenterglow) * _Emission );
+ UNITY_APPLY_FOG_COLOR(i.fogCoord, col, fixed4(0,0,0,1));
+ return col;
+ }
+ ENDCG
+ }
+ }
+ }
+}
+/*ASEBEGIN
+Version=16700
+696;164;1906;1004;2971.996;633.0641;2.191415;True;False
+Node;AmplifyShaderEditor.CommentaryNode;104;-4130.993,490.5418;Float;False;1910.996;537.6462;Texture distortion;12;91;33;100;102;99;94;95;103;92;59;98;110;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.Vector4Node;99;-3968.293,619.481;Float;False;Property;_DistortionSpeedXYPowerZ;Distortion Speed XY Power Z;5;0;Create;True;0;0;False;0;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.TextureCoordinatesNode;98;-3920.299,848.9976;Float;False;0;91;3;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.DynamicAppendNode;100;-3535.482,654.5021;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ComponentMaskNode;59;-3583.603,566.496;Float;False;True;True;False;False;1;0;FLOAT3;0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.PannerNode;110;-3339.196,596.5295;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SamplerNode;33;-3146.373,763.0061;Float;True;Property;_Mask;Mask;3;0;Create;True;0;0;False;0;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.SamplerNode;91;-3152.937,567.9764;Float;True;Property;_Flow;Flow;2;0;Create;True;0;0;False;0;None;61c0b9c0523734e0e91bc6043c72a490;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.CommentaryNode;109;-3401.27,-330.4436;Float;False;1037.896;533.6285;Textures movement;7;107;108;29;21;89;22;15;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.Vector4Node;15;-3351.27,-101.4007;Float;False;Property;_SpeedMainTexUVNoiseZW;Speed MainTex U/V + Noise Z/W;4;0;Create;True;0;0;False;0;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.RegisterLocalVarNode;102;-3556.945,748.0421;Float;False;Flowpower;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;92;-2762.212,550.0183;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ComponentMaskNode;94;-2609.926,543.6367;Float;False;True;True;False;False;1;0;COLOR;0,0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;29;-2856.788,-280.4436;Float;False;0;13;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.DynamicAppendNode;21;-2778.501,-153.1786;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TFHCRemapNode;36;-2530.289,1355.094;Float;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;1;False;4;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.GetLocalVarNode;103;-2605.07,630.9626;Float;False;102;Flowpower;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;95;-2388.997,542.6455;Float;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;37;-2289.906,1280.763;Float;False;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.DynamicAppendNode;22;-2766.722,70.18491;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.PannerNode;107;-2570.374,-239.5098;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;89;-2861.858,-55.04038;Float;False;0;14;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.ClampOpNode;38;-2130.64,1280.587;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;1,1,1,1;False;1;COLOR;0
+Node;AmplifyShaderEditor.PannerNode;108;-2577.237,-21.63752;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;96;-1989.684,-41.77601;Float;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;39;-1937.593,1156.593;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SamplerNode;14;-1804.579,119.2214;Float;True;Property;_Noise;Noise;1;0;Create;True;0;0;False;0;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.SamplerNode;13;-1803.192,-66.2159;Float;True;Property;_MainTex;MainTex;0;0;Create;True;0;0;False;0;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.ColorNode;31;-1728.612,316.0578;Float;False;Property;_Color;Color;7;0;Create;True;0;0;False;0;0.5,0.5,0.5,1;0.5,0.5,0.5,1;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.VertexColorNode;32;-1670.612,486.0577;Float;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;30;-1187.357,127.2037;Float;False;8;8;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ClampOpNode;40;-1764.275,1143.857;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;1,1,1,1;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;41;-896.1669,248.9071;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.RangedFloatNode;52;-621.877,229.5624;Float;False;Property;_Emission;Emission;6;0;Create;True;0;0;False;0;2;2;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.ToggleSwitchNode;90;-697.314,128.5203;Float;False;Property;_Usecenterglow;Use center glow?;8;0;Create;True;0;0;False;0;0;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;51;-461.6268,132.2673;Float;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ComponentMaskNode;72;-1580.242,1135.946;Float;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;68;-322.6836,135.062;Float;False;True;2;Float;;0;7;Hovl/Particles/Add_CenterGlow;0b6a9f8b4f707c74ca64c0be8e590de0;True;SubShader 0 Pass 0;0;0;SubShader 0 Pass 0;2;True;4;1;False;-1;1;False;-1;0;1;False;-1;0;False;-1;False;False;True;2;False;-1;True;True;True;True;False;0;False;-1;False;True;2;False;-1;True;3;False;-1;False;True;4;Queue=AlphaTest=Queue=0;IgnoreProjector=True;RenderType=Transparent=RenderType;PreviewType=Plane;False;0;False;False;False;False;False;False;False;False;False;False;True;0;0;;0;0;Standard;0;0;1;True;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;0
+WireConnection;100;0;99;1
+WireConnection;100;1;99;2
+WireConnection;59;0;98;0
+WireConnection;110;0;59;0
+WireConnection;110;2;100;0
+WireConnection;91;1;110;0
+WireConnection;102;0;99;3
+WireConnection;92;0;91;0
+WireConnection;92;1;33;0
+WireConnection;94;0;92;0
+WireConnection;21;0;15;1
+WireConnection;21;1;15;2
+WireConnection;36;0;98;3
+WireConnection;95;0;94;0
+WireConnection;95;1;103;0
+WireConnection;37;0;33;0
+WireConnection;37;1;36;0
+WireConnection;22;0;15;3
+WireConnection;22;1;15;4
+WireConnection;107;0;29;0
+WireConnection;107;2;21;0
+WireConnection;38;0;37;0
+WireConnection;108;0;89;0
+WireConnection;108;2;22;0
+WireConnection;96;0;107;0
+WireConnection;96;1;95;0
+WireConnection;39;0;33;0
+WireConnection;39;1;38;0
+WireConnection;14;1;108;0
+WireConnection;13;1;96;0
+WireConnection;30;0;13;0
+WireConnection;30;1;14;0
+WireConnection;30;2;31;0
+WireConnection;30;3;32;0
+WireConnection;30;4;13;4
+WireConnection;30;5;14;4
+WireConnection;30;6;31;4
+WireConnection;30;7;32;4
+WireConnection;40;0;39;0
+WireConnection;41;0;30;0
+WireConnection;41;1;40;0
+WireConnection;90;0;30;0
+WireConnection;90;1;41;0
+WireConnection;51;0;90;0
+WireConnection;51;1;52;0
+WireConnection;72;0;40;0
+WireConnection;68;0;51;0
+ASEEND*/
+//CHKSM=D5A44C7BD3081F4777C455821BF73DF59F0BC63F \ No newline at end of file
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_CenterGlow.shader.meta b/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_CenterGlow.shader.meta
new file mode 100644
index 00000000..274a1d11
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_CenterGlow.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: bd6af5d577c618947b73aa60db554e51
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_Fresnel.shader b/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_Fresnel.shader
new file mode 100644
index 00000000..893da7d2
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_Fresnel.shader
@@ -0,0 +1,160 @@
+Shader "Hovl/Particles/Add_Fresnel"
+{
+ Properties
+ {
+ _MainTex("MainTex", 2D) = "white" {}
+ _Noise("Noise", 2D) = "white" {}
+ _Color("Color", Color) = (0.5,0.5,0.5,1)
+ _Emission("Emission", Float) = 2
+ _SpeedMainTexUVNoiseZW("Speed MainTex U/V + Noise Z/W", Vector) = (0,0,0,0)
+ _Flow("Flow", 2D) = "white" {}
+ _Mask("Mask", 2D) = "white" {}
+ _Distortionpower("Distortion power", Float) = 0.2
+ _Fresnelscale("Fresnel scale", Float) = 3
+ _Fresnelpower("Fresnel power", Float) = 3
+ _Depthpower("Depth power", Float) = 0.2
+ [Toggle]_Useonlycolor("Use only color", Float) = 0
+ [HideInInspector] _texcoord( "", 2D ) = "white" {}
+ }
+
+ Category
+ {
+ SubShader
+ {
+ Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
+ Blend SrcAlpha OneMinusSrcAlpha
+ ColorMask RGB
+ Cull Off
+ Lighting Off
+ ZWrite Off
+ ZTest LEqual
+
+ Pass {
+
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ //#pragma target 2.0
+ #pragma multi_compile_particles
+ #pragma multi_compile_fog
+ #include "UnityShaderVariables.cginc"
+
+
+ #include "UnityCG.cginc"
+
+ struct appdata_t
+ {
+ float4 vertex : POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ float3 ase_normal : NORMAL;
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_FOG_COORDS(1)
+ #ifdef SOFTPARTICLES_ON
+ float4 projPos : TEXCOORD2;
+ #endif
+ UNITY_VERTEX_OUTPUT_STEREO
+ float4 ase_texcoord3 : TEXCOORD3;
+ float4 ase_texcoord4 : TEXCOORD4;
+ //float4 ase_texcoord5 : TEXCOORD5;
+ };
+
+ uniform sampler2D _MainTex;
+ uniform fixed4 _TintColor;
+ uniform float4 _MainTex_ST;
+ uniform sampler2D_float _CameraDepthTexture;
+ uniform float _Useonlycolor;
+ uniform float4 _SpeedMainTexUVNoiseZW;
+ uniform sampler2D _Mask;
+ uniform float4 _Mask_ST;
+ uniform sampler2D _Flow;
+ uniform float4 _Flow_ST;
+ uniform float _Distortionpower;
+ uniform sampler2D _Noise;
+ uniform float4 _Noise_ST;
+ uniform float4 _Color;
+ uniform float _Emission;
+ uniform float _Fresnelscale;
+ uniform float _Fresnelpower;
+ uniform float _Depthpower;
+
+ v2f vert ( appdata_t v )
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ float3 ase_worldPos = mul(unity_ObjectToWorld, v.vertex).xyz;
+ o.ase_texcoord3.xyz = ase_worldPos;
+ float3 ase_worldNormal = UnityObjectToWorldNormal(v.ase_normal);
+ o.ase_texcoord4.xyz = ase_worldNormal;
+ float4 ase_clipPos = UnityObjectToClipPos(v.vertex);
+ float4 screenPos = ComputeScreenPos(ase_clipPos);
+ //o.ase_texcoord5 = screenPos;
+
+
+ //setting value to unused interpolator channels and avoid initialization warnings
+ o.ase_texcoord3.w = 0;
+ o.ase_texcoord4.w = 0;
+
+ v.vertex.xyz += float3( 0, 0, 0 ) ;
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ #ifdef SOFTPARTICLES_ON
+ o.projPos = ComputeScreenPos (o.vertex);
+ COMPUTE_EYEDEPTH(o.projPos.z);
+ #endif
+ o.color = v.color;
+ o.texcoord = v.texcoord;
+ UNITY_TRANSFER_FOG(o,o.vertex);
+ return o;
+ }
+
+ fixed4 frag ( v2f i , half ase_vface : VFACE ) : SV_Target
+ {
+ float fade = 1;
+ #ifdef SOFTPARTICLES_ON
+ float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
+ float partZ = i.projPos.z;
+ fade = saturate (_Depthpower * (sceneZ-partZ));
+ #endif
+
+ float2 appendResult186 = (float2(_SpeedMainTexUVNoiseZW.x , _SpeedMainTexUVNoiseZW.y));
+ float2 uv_MainTex = i.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
+ float2 uv_Mask = i.texcoord.xy * _Mask_ST.xy + _Mask_ST.zw;
+ float2 appendResult177 = (float2(_SpeedMainTexUVNoiseZW.z , _SpeedMainTexUVNoiseZW.w));
+ float3 uv_Flow = i.texcoord.xyz;
+ uv_Flow.xy = i.texcoord.xyz.xy * _Flow_ST.xy + _Flow_ST.zw;
+ float4 tex2DNode203 = tex2D( _MainTex, ( ( ( appendResult186 * _Time.y ) + uv_MainTex ) - ( (( tex2D( _Mask, uv_Mask ) * tex2D( _Flow, ( ( _Time.y * appendResult177 ) + (uv_Flow).xy ) ) )).rg * _Distortionpower ) ) );
+ float2 uv_Noise = i.texcoord.xy * _Noise_ST.xy + _Noise_ST.zw;
+ float4 tex2DNode211 = tex2D( _Noise, uv_Noise );
+ float w199 = (1.0 + (uv_Flow.z - 0.0) * (128.0 - 1.0) / (1.0 - 0.0));
+ float4 temp_cast_3 = (tex2DNode203.a).xxxx;
+ float div207=256.0/float((int)w199);
+ float4 posterize207 = ( floor( temp_cast_3 * div207 ) / div207 );
+ float opac215 = (posterize207).a;
+ float3 ase_worldPos = i.ase_texcoord3.xyz;
+ float3 ase_worldViewDir = UnityWorldSpaceViewDir(ase_worldPos);
+ ase_worldViewDir = normalize(ase_worldViewDir);
+ float3 ase_worldNormal = i.ase_texcoord4.xyz;
+ float fresnelNdotV187 = dot( ase_worldNormal, ase_worldViewDir );
+ float fresnelNode187 = ( 0.0 + _Fresnelscale * pow( 1.0 - fresnelNdotV187, _Fresnelpower ) );
+ float clampResult193 = clamp( fresnelNode187 , 0.0 , 1.0 );
+ float switchResult206 = (((ase_vface>0)?(clampResult193):(0.0)));
+ float clampResult202 = clamp( fade , 0.0 , 1.0 );
+ float clampResult214 = clamp( ( (1.0 + (clampResult202 - 0.0) * (0.0 - 1.0) / (1.0 - 0.0)) - switchResult206 ) , 0.0 , 1.0 );
+ float4 appendResult224 = (float4(( lerp(float4( (( tex2DNode203 * tex2DNode211 * _Color * i.color )).rgb , 0.0 ),_Color,_Useonlycolor) * _Emission ).rgb , ( opac215 * tex2DNode211.a * _Color.a * i.color.a * ( switchResult206 + clampResult214 ) )));
+ fixed4 col = appendResult224;
+ UNITY_APPLY_FOG(i.fogCoord, col);
+ return col;
+ }
+ ENDCG
+ }
+ }
+ }
+}
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_Fresnel.shader.meta b/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_Fresnel.shader.meta
new file mode 100644
index 00000000..4a0394a6
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Add_Fresnel.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 65ebf61e1c6310c4aa8065768071beff
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/BlendDistort.shader b/Assets/Art/Vfx/Sword slash VFX/Shaders/BlendDistort.shader
new file mode 100644
index 00000000..cc6c551c
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/BlendDistort.shader
@@ -0,0 +1,304 @@
+// Made with Amplify Shader Editor
+// Available at the Unity Asset Store - http://u3d.as/y3X
+Shader "Hovl/Particles/BlendDistort"
+{
+ Properties
+ {
+ _MainTex("MainTex", 2D) = "white" {}
+ _Noise("Noise", 2D) = "white" {}
+ _Flow("Flow", 2D) = "white" {}
+ _Mask("Mask", 2D) = "white" {}
+ _NormalMap("NormalMap", 2D) = "bump" {}
+ _Color("Color", Color) = (0.5,0.5,0.5,1)
+ _Distortionpower("Distortion power", Float) = 0
+ _SpeedMainTexUVNoiseZW("Speed MainTex U/V + Noise Z/W", Vector) = (0,0,0,0)
+ _DistortionSpeedXYPowerZ("Distortion Speed XY Power Z", Vector) = (0,0,0,0)
+ _Emission("Emission", Float) = 2
+ _Opacity("Opacity", Range( 0 , 3)) = 1
+ [Toggle]_Usedepth("Use depth?", Float) = 1
+ [Toggle]_Softedges("Soft edges", Float) = 0
+ _Depthpower("Depth power", Float) = 1
+ [HideInInspector] _texcoord( "", 2D ) = "white" {}
+ [HideInInspector] _tex4coord( "", 2D ) = "white" {}
+ [HideInInspector] __dirty( "", Int ) = 1
+ }
+
+ SubShader
+ {
+ Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" }
+ Cull Off
+ GrabPass{ }
+ CGPROGRAM
+ #include "UnityStandardUtils.cginc"
+ #include "UnityShaderVariables.cginc"
+ #include "UnityCG.cginc"
+ #pragma target 3.5
+ #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED)
+ #define ASE_DECLARE_SCREENSPACE_TEXTURE(tex) UNITY_DECLARE_SCREENSPACE_TEXTURE(tex);
+ #else
+ #define ASE_DECLARE_SCREENSPACE_TEXTURE(tex) UNITY_DECLARE_SCREENSPACE_TEXTURE(tex)
+ #endif
+ #pragma surface surf Unlit alpha:fade keepalpha noshadow
+ #undef TRANSFORM_TEX
+ #define TRANSFORM_TEX(tex,name) float4(tex.xy * name##_ST.xy + name##_ST.zw, tex.z, tex.w)
+ struct Input
+ {
+ float2 uv_texcoord;
+ float4 screenPos;
+ float4 uv_tex4coord;
+ float4 vertexColor : COLOR;
+ float3 worldNormal;
+ float3 viewDir;
+ };
+
+ ASE_DECLARE_SCREENSPACE_TEXTURE( _GrabTexture )
+ uniform float _Distortionpower;
+ uniform sampler2D _NormalMap;
+ uniform float4 _SpeedMainTexUVNoiseZW;
+ uniform float4 _NormalMap_ST;
+ uniform sampler2D _MainTex;
+ uniform float4 _MainTex_ST;
+ uniform sampler2D _Flow;
+ uniform float4 _DistortionSpeedXYPowerZ;
+ uniform float4 _Flow_ST;
+ uniform sampler2D _Mask;
+ uniform float4 _Mask_ST;
+ uniform sampler2D _Noise;
+ uniform float4 _Noise_ST;
+ uniform float4 _Color;
+ uniform float _Emission;
+ uniform float _Opacity;
+ uniform float _Softedges;
+ uniform float _Usedepth;
+ UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture );
+ uniform float4 _CameraDepthTexture_TexelSize;
+ uniform float _Depthpower;
+
+
+ inline float4 ASE_ComputeGrabScreenPos( float4 pos )
+ {
+ #if UNITY_UV_STARTS_AT_TOP
+ float scale = -1.0;
+ #else
+ float scale = 1.0;
+ #endif
+ float4 o = pos;
+ o.y = pos.w * 0.5f;
+ o.y = ( pos.y - o.y ) * _ProjectionParams.x * scale + o.y;
+ return o;
+ }
+
+
+ inline half4 LightingUnlit( SurfaceOutput s, half3 lightDir, half atten )
+ {
+ return half4 ( 0, 0, 0, s.Alpha );
+ }
+
+ void surf( Input i , inout SurfaceOutput o )
+ {
+ float2 appendResult22 = (float2(_SpeedMainTexUVNoiseZW.z , _SpeedMainTexUVNoiseZW.w));
+ float2 uv0_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw;
+ float2 panner146 = ( 1.0 * _Time.y * appendResult22 + uv0_NormalMap);
+ float4 ase_screenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 );
+ float4 ase_grabScreenPos = ASE_ComputeGrabScreenPos( ase_screenPos );
+ float4 ase_grabScreenPosNorm = ase_grabScreenPos / ase_grabScreenPos.w;
+ float4 screenColor132 = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_GrabTexture,( float4( UnpackScaleNormal( tex2D( _NormalMap, panner146 ), _Distortionpower ) , 0.0 ) + ase_grabScreenPosNorm ).xy);
+ float3 temp_output_128_0 = (screenColor132).rgb;
+ float2 appendResult21 = (float2(_SpeedMainTexUVNoiseZW.x , _SpeedMainTexUVNoiseZW.y));
+ float2 uv0_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
+ float2 panner107 = ( 1.0 * _Time.y * appendResult21 + uv0_MainTex);
+ float2 appendResult100 = (float2(_DistortionSpeedXYPowerZ.x , _DistortionSpeedXYPowerZ.y));
+ float4 uv0_Flow = i.uv_tex4coord;
+ uv0_Flow.xy = i.uv_tex4coord.xy * _Flow_ST.xy + _Flow_ST.zw;
+ float2 panner110 = ( 1.0 * _Time.y * appendResult100 + (uv0_Flow).xy);
+ float2 uv_Mask = i.uv_texcoord * _Mask_ST.xy + _Mask_ST.zw;
+ float Flowpower102 = _DistortionSpeedXYPowerZ.z;
+ float4 tex2DNode13 = tex2D( _MainTex, ( float4( panner107, 0.0 , 0.0 ) - ( ( tex2D( _Flow, panner110 ) * tex2D( _Mask, uv_Mask ) ) * Flowpower102 ) ).rg );
+ float2 uv0_Noise = i.uv_texcoord * _Noise_ST.xy + _Noise_ST.zw;
+ float2 panner108 = ( 1.0 * _Time.y * appendResult22 + uv0_Noise);
+ float2 appendResult160 = (float2(uv0_Flow.w , 0.0));
+ float4 tex2DNode14 = tex2D( _Noise, ( panner108 + appendResult160 ) );
+ float temp_output_88_0 = ( tex2DNode13.a * tex2DNode14.a * _Color.a * i.vertexColor.a * _Opacity );
+ float3 temp_output_140_0 = (( ( tex2DNode13 * tex2DNode14 * _Color * i.vertexColor ) * _Emission * temp_output_88_0 )).rgb;
+ float W158 = uv0_Flow.z;
+ float3 lerpResult157 = lerp( ( temp_output_128_0 + temp_output_140_0 ) , ( temp_output_128_0 * temp_output_140_0 ) , W158);
+ o.Emission = lerpResult157;
+ float temp_output_151_0 = saturate( temp_output_88_0 );
+ float4 ase_screenPosNorm = ase_screenPos / ase_screenPos.w;
+ ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5;
+ float screenDepth134 = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE( _CameraDepthTexture, ase_screenPosNorm.xy ));
+ float distanceDepth134 = abs( ( screenDepth134 - LinearEyeDepth( ase_screenPosNorm.z ) ) / ( _Depthpower ) );
+ float3 ase_worldNormal = i.worldNormal;
+ float dotResult163 = dot( ase_worldNormal , i.viewDir );
+ float temp_output_185_0 = ( pow( dotResult163 , 3.0 ) * 5.0 );
+ float dotResult171 = dot( ase_worldNormal , i.viewDir );
+ float lerpResult181 = lerp( temp_output_185_0 , (0.0 + (temp_output_185_0 - 0.0) * (1.0 - 0.0) / (-1.0 - 0.0)) , (1.0 + (sign( dotResult171 ) - -1.0) * (0.0 - 1.0) / (1.0 - -1.0)));
+ float clampResult186 = clamp( lerpResult181 , 0.0 , 1.0 );
+ o.Alpha = lerp(lerp(temp_output_151_0,( temp_output_151_0 * saturate( distanceDepth134 ) ),_Usedepth),( lerp(temp_output_151_0,( temp_output_151_0 * saturate( distanceDepth134 ) ),_Usedepth) * clampResult186 ),_Softedges);
+ }
+
+ ENDCG
+ }
+}
+/*ASEBEGIN
+Version=17000
+847;143;1147;838;1246.973;-44.28143;2.743498;True;False
+Node;AmplifyShaderEditor.CommentaryNode;104;-4130.993,490.5418;Float;False;1910.996;537.6462;Texture distortion;13;91;33;100;102;99;95;103;92;59;98;110;154;158;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.Vector4Node;99;-3968.293,619.481;Float;False;Property;_DistortionSpeedXYPowerZ;Distortion Speed XY Power Z;8;0;Create;True;0;0;False;0;0,0,0,0;0,-0.3,-0.42,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.TextureCoordinatesNode;98;-3920.299,848.9976;Float;False;0;91;4;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.DynamicAppendNode;100;-3535.482,654.5021;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ComponentMaskNode;59;-3583.603,566.496;Float;False;True;True;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.CommentaryNode;109;-3401.27,-330.4436;Float;False;1037.896;533.6285;Textures movement;7;107;108;29;21;89;22;15;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.PannerNode;110;-3352.609,596.5295;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.Vector4Node;15;-3351.27,-101.4007;Float;False;Property;_SpeedMainTexUVNoiseZW;Speed MainTex U/V + Noise Z/W;7;0;Create;True;0;0;False;0;0,0,0,0;0,0,-0.6,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SamplerNode;91;-3152.937,567.9764;Float;True;Property;_Flow;Flow;2;0;Create;True;0;0;False;0;None;3f1d4fadb37c37e4488860109d7dce4b;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.WireNode;154;-3241.786,814.8284;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SamplerNode;33;-3146.373,763.0061;Float;True;Property;_Mask;Mask;3;0;Create;True;0;0;False;0;None;4b0225a5290cbe540bc56e26a8682db2;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.RegisterLocalVarNode;102;-3556.945,748.0421;Float;False;Flowpower;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;89;-2861.858,-55.04038;Float;False;0;14;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.DynamicAppendNode;22;-2766.722,70.18491;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;92;-2762.212,550.0183;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.DynamicAppendNode;21;-2778.501,-153.1786;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;29;-2856.788,-280.4436;Float;False;0;13;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.GetLocalVarNode;103;-2605.07,630.9626;Float;False;102;Flowpower;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.WireNode;155;-3110.044,378.7794;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.PannerNode;107;-2570.374,-239.5098;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.WorldNormalVector;167;-1534.985,863.8109;Float;False;False;1;0;FLOAT3;0,0,1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
+Node;AmplifyShaderEditor.ViewDirInputsCoordNode;162;-1517.8,1016.647;Float;False;World;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;95;-2388.997,542.6455;Float;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.DynamicAppendNode;160;-2463.807,241.8467;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.WireNode;148;-2291.231,57.18929;Float;False;1;0;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.PannerNode;108;-2577.237,-21.63752;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.DotProductOpNode;163;-1289.017,881.0124;Float;True;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ViewDirInputsCoordNode;169;-1151.195,1305.252;Float;False;World;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
+Node;AmplifyShaderEditor.WorldNormalVector;170;-1155.524,1167.576;Float;False;False;1;0;FLOAT3;0,0,0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;96;-1989.684,-41.77601;Float;False;2;0;FLOAT2;0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;152;-2247.959,174.557;Float;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;147;-1304.489,-522.6365;Float;False;0;125;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.WireNode;149;-2066.336,-256.5923;Float;False;1;0;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.DotProductOpNode;171;-899.1652,1172.812;Float;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.PowerNode;164;-1061.509,881.1074;Float;True;2;0;FLOAT;0;False;1;FLOAT;3;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;62;-826.0103,543.6755;Float;False;Property;_Opacity;Opacity;10;0;Create;True;0;0;False;0;1;3;0;3;0;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;124;-1060.476,-272.4925;Float;False;Property;_Distortionpower;Distortion power;6;0;Create;True;0;0;False;0;0;0.02;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.PannerNode;146;-1041.952,-401.1633;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.RangedFloatNode;135;-789.709,660.5037;Float;False;Property;_Depthpower;Depth power;13;0;Create;True;0;0;False;0;1;1;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.VertexColorNode;32;-1670.612,486.0577;Float;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SamplerNode;14;-1804.579,119.2214;Float;True;Property;_Noise;Noise;1;0;Create;True;0;0;False;0;None;7ae741e4c5226834db440bb3f58952b7;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.ColorNode;31;-1728.612,316.0578;Float;False;Property;_Color;Color;5;0;Create;True;0;0;False;0;0.5,0.5,0.5,1;1,1,1,1;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SamplerNode;13;-1803.192,-66.2159;Float;True;Property;_MainTex;MainTex;0;0;Create;True;0;0;False;0;None;60d224affeaecf84ead5a8b24c6c9995;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.SamplerNode;125;-804.1512,-387.8453;Float;True;Property;_NormalMap;NormalMap;4;0;Create;True;0;0;False;0;None;9d5139686547cd24983e1c90ad7e4c33;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;1;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.GrabScreenPosition;131;-740.1512,-179.8456;Float;False;0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.DepthFade;134;-571.1661,642.9752;Float;False;True;False;True;2;1;FLOAT3;0,0,0;False;0;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;88;-445.0123,311.9933;Float;False;5;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;185;-766.309,876.9579;Float;True;2;2;0;FLOAT;0;False;1;FLOAT;5;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SignOpNode;179;-755.3915,1168.656;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;30;-1135.791,-2.490838;Float;False;4;4;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SaturateNode;151;-283.3048,312.2804;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SaturateNode;138;-307.0031,645.2684;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.TFHCRemapNode;178;-519.2654,939.6957;Float;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;-1;False;3;FLOAT;0;False;4;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;52;-488.2215,149.8908;Float;False;Property;_Emission;Emission;9;0;Create;True;0;0;False;0;2;3;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.TFHCRemapNode;184;-569.9684,1152.042;Float;False;5;0;FLOAT;0;False;1;FLOAT;-1;False;2;FLOAT;1;False;3;FLOAT;1;False;4;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;126;-484.1472,-291.8456;Float;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT4;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;51;-285.8404,56.42584;Float;False;3;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;139;-97.1164,420.5305;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.LerpOp;181;-268.7881,864.6698;Float;False;3;0;FLOAT;1;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ScreenColorNode;132;-338.2314,-366.4494;Float;False;Global;_GrabScreen0;Grab Screen 0;2;0;Create;True;0;0;False;0;Object;-1;False;False;1;0;FLOAT2;0,0;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ToggleSwitchNode;136;96.6973,310.8871;Float;False;Property;_Usedepth;Use depth?;11;0;Create;True;0;0;False;0;1;2;0;FLOAT;1;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ComponentMaskNode;140;-127.7495,51.97886;Float;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.ComponentMaskNode;128;-152.7932,-356.0084;Float;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.ClampOpNode;186;-81.06185,864.351;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;158;-3580.125,842.1049;Float;False;W;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;133;267.4687,-177.1892;Float;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;-0.1,-0.1,-0.1;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;166;349.7334,390.7799;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;156;256.3983,18.15391;Float;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.GetLocalVarNode;159;204.3189,152.461;Float;False;158;W;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.LerpOp;157;505.0637,-31.91299;Float;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.ToggleSwitchNode;165;508.7849,304.1036;Float;False;Property;_Softedges;Soft edges;12;0;Create;True;0;0;False;0;0;2;0;FLOAT;1;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.StandardSurfaceOutputNode;145;780.9699,35.32447;Float;False;True;3;Float;;0;0;Unlit;Hovl/Particles/BlendDistort;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Off;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Transparent;0.5;True;False;0;False;Transparent;;Transparent;All;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;False;2;5;False;-1;10;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
+WireConnection;100;0;99;1
+WireConnection;100;1;99;2
+WireConnection;59;0;98;0
+WireConnection;110;0;59;0
+WireConnection;110;2;100;0
+WireConnection;91;1;110;0
+WireConnection;154;0;98;4
+WireConnection;102;0;99;3
+WireConnection;22;0;15;3
+WireConnection;22;1;15;4
+WireConnection;92;0;91;0
+WireConnection;92;1;33;0
+WireConnection;21;0;15;1
+WireConnection;21;1;15;2
+WireConnection;155;0;154;0
+WireConnection;107;0;29;0
+WireConnection;107;2;21;0
+WireConnection;95;0;92;0
+WireConnection;95;1;103;0
+WireConnection;160;0;155;0
+WireConnection;148;0;22;0
+WireConnection;108;0;89;0
+WireConnection;108;2;22;0
+WireConnection;163;0;167;0
+WireConnection;163;1;162;0
+WireConnection;96;0;107;0
+WireConnection;96;1;95;0
+WireConnection;152;0;108;0
+WireConnection;152;1;160;0
+WireConnection;149;0;148;0
+WireConnection;171;0;170;0
+WireConnection;171;1;169;0
+WireConnection;164;0;163;0
+WireConnection;146;0;147;0
+WireConnection;146;2;149;0
+WireConnection;14;1;152;0
+WireConnection;13;1;96;0
+WireConnection;125;1;146;0
+WireConnection;125;5;124;0
+WireConnection;134;0;135;0
+WireConnection;88;0;13;4
+WireConnection;88;1;14;4
+WireConnection;88;2;31;4
+WireConnection;88;3;32;4
+WireConnection;88;4;62;0
+WireConnection;185;0;164;0
+WireConnection;179;0;171;0
+WireConnection;30;0;13;0
+WireConnection;30;1;14;0
+WireConnection;30;2;31;0
+WireConnection;30;3;32;0
+WireConnection;151;0;88;0
+WireConnection;138;0;134;0
+WireConnection;178;0;185;0
+WireConnection;184;0;179;0
+WireConnection;126;0;125;0
+WireConnection;126;1;131;0
+WireConnection;51;0;30;0
+WireConnection;51;1;52;0
+WireConnection;51;2;88;0
+WireConnection;139;0;151;0
+WireConnection;139;1;138;0
+WireConnection;181;0;185;0
+WireConnection;181;1;178;0
+WireConnection;181;2;184;0
+WireConnection;132;0;126;0
+WireConnection;136;0;151;0
+WireConnection;136;1;139;0
+WireConnection;140;0;51;0
+WireConnection;128;0;132;0
+WireConnection;186;0;181;0
+WireConnection;158;0;98;3
+WireConnection;133;0;128;0
+WireConnection;133;1;140;0
+WireConnection;166;0;136;0
+WireConnection;166;1;186;0
+WireConnection;156;0;128;0
+WireConnection;156;1;140;0
+WireConnection;157;0;133;0
+WireConnection;157;1;156;0
+WireConnection;157;2;159;0
+WireConnection;165;0;136;0
+WireConnection;165;1;166;0
+WireConnection;145;2;157;0
+WireConnection;145;9;165;0
+ASEEND*/
+//CHKSM=8ABCA0CC8DDD786763F299020EF363A4DA03F01D \ No newline at end of file
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/BlendDistort.shader.meta b/Assets/Art/Vfx/Sword slash VFX/Shaders/BlendDistort.shader.meta
new file mode 100644
index 00000000..68176b7a
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/BlendDistort.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ca825309dbbb03640874997c5db5cb48
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_CenterGlow.shader b/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_CenterGlow.shader
new file mode 100644
index 00000000..f2deef73
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_CenterGlow.shader
@@ -0,0 +1,245 @@
+Shader "Hovl/Particles/Blend_CenterGlow"
+{
+ Properties
+ {
+ _MainTex("MainTex", 2D) = "white" {}
+ _Noise("Noise", 2D) = "white" {}
+ _Flow("Flow", 2D) = "white" {}
+ _Mask("Mask", 2D) = "white" {}
+ _SpeedMainTexUVNoiseZW("Speed MainTex U/V + Noise Z/W", Vector) = (0,0,0,0)
+ _DistortionSpeedXYPowerZ("Distortion Speed XY Power Z", Vector) = (0,0,0,0)
+ _Emission("Emission", Float) = 2
+ _Color("Color", Color) = (0.5,0.5,0.5,1)
+ _Opacity("Opacity", Range( 0 , 3)) = 1
+ [Toggle]_Usecenterglow("Use center glow?", Float) = 0
+ [MaterialToggle] _Usedepth ("Use depth?", Float ) = 0
+ _Depthpower ("Depth power", Float ) = 1
+ [Enum(Cull Off,0, Cull Front,1, Cull Back,2)] _CullMode("Culling", Float) = 0
+ [HideInInspector] _texcoord( "", 2D ) = "white" {}
+ }
+
+ Category
+ {
+ SubShader
+ {
+ Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
+ Blend SrcAlpha OneMinusSrcAlpha
+ ColorMask RGB
+ Cull[_CullMode]
+ Lighting Off
+ ZWrite Off
+ ZTest LEqual
+
+ Pass {
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma target 2.0
+ #pragma multi_compile_particles
+ #pragma multi_compile_fog
+ #include "UnityShaderVariables.cginc"
+ #include "UnityCG.cginc"
+
+ struct appdata_t
+ {
+ float4 vertex : POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_FOG_COORDS(1)
+ #ifdef SOFTPARTICLES_ON
+ float4 projPos : TEXCOORD2;
+ #endif
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ UNITY_VERTEX_OUTPUT_STEREO
+ };
+
+ #if UNITY_VERSION >= 560
+ UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture );
+ #else
+ uniform sampler2D_float _CameraDepthTexture;
+ #endif
+
+ //Don't delete this comment
+ // uniform sampler2D_float _CameraDepthTexture;
+
+ uniform sampler2D _MainTex;
+ uniform float4 _MainTex_ST;
+ uniform float _Usecenterglow;
+ uniform float4 _SpeedMainTexUVNoiseZW;
+ uniform sampler2D _Flow;
+ uniform float4 _DistortionSpeedXYPowerZ;
+ uniform float4 _Flow_ST;
+ uniform sampler2D _Mask;
+ uniform float4 _Mask_ST;
+ uniform sampler2D _Noise;
+ uniform float4 _Noise_ST;
+ uniform float4 _Color;
+ uniform float _Emission;
+ uniform float _Opacity;
+ uniform fixed _Usedepth;
+ uniform float _Depthpower;
+
+ v2f vert ( appdata_t v )
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ UNITY_TRANSFER_INSTANCE_ID(v, o);
+
+ v.vertex.xyz += float3( 0, 0, 0 ) ;
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ #ifdef SOFTPARTICLES_ON
+ o.projPos = ComputeScreenPos (o.vertex);
+ COMPUTE_EYEDEPTH(o.projPos.z);
+ #endif
+ o.color = v.color;
+ o.texcoord = v.texcoord;
+ UNITY_TRANSFER_FOG(o,o.vertex);
+ return o;
+ }
+
+ fixed4 frag ( v2f i ) : SV_Target
+ {
+ float lp = 1;
+ #ifdef SOFTPARTICLES_ON
+ float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
+ float partZ = i.projPos.z;
+ float fade = saturate ((sceneZ-partZ) / _Depthpower);
+ lp *= lerp(1, fade, _Usedepth);
+ i.color.a *= lp;
+ #endif
+
+ float2 appendResult21 = (float2(_SpeedMainTexUVNoiseZW.x , _SpeedMainTexUVNoiseZW.y));
+ float2 uv0_MainTex = i.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
+ float2 panner107 = ( 1.0 * _Time.y * appendResult21 + uv0_MainTex);
+ float2 appendResult100 = (float2(_DistortionSpeedXYPowerZ.x , _DistortionSpeedXYPowerZ.y));
+ float3 uv0_Flow = i.texcoord.xyz;
+ uv0_Flow.xy = i.texcoord.xy * _Flow_ST.xy + _Flow_ST.zw;
+ float2 panner110 = ( 1.0 * _Time.y * appendResult100 + (uv0_Flow).xy);
+ float2 uv_Mask = i.texcoord.xy * _Mask_ST.xy + _Mask_ST.zw;
+ float4 tex2DNode33 = tex2D( _Mask, uv_Mask );
+ float Flowpower102 = _DistortionSpeedXYPowerZ.z;
+ float4 tex2DNode13 = tex2D( _MainTex, ( panner107 - ( (( tex2D( _Flow, panner110 ) * tex2DNode33 )).rg * Flowpower102 ) ) );
+ float2 appendResult22 = (float2(_SpeedMainTexUVNoiseZW.z , _SpeedMainTexUVNoiseZW.w));
+ float2 uv0_Noise = i.texcoord.xy * _Noise_ST.xy + _Noise_ST.zw;
+ float2 panner108 = ( 1.0 * _Time.y * appendResult22 + uv0_Noise);
+ float4 tex2DNode14 = tex2D( _Noise, panner108 );
+ float3 temp_output_78_0 = (( tex2DNode13 * tex2DNode14 * _Color * i.color )).rgb;
+ float4 temp_cast_0 = ((1.0 + (uv0_Flow.z - 0.0) * (0.0 - 1.0) / (1.0 - 0.0))).xxxx;
+ float4 clampResult38 = tex2DNode33 - temp_cast_0;
+ float4 clampResult40 = clamp( ( tex2DNode33 * clampResult38 ) , float4( 0,0,0,0 ) , float4( 1,1,1,1 ) );
+ float4 appendResult87 = (float4(( lerp(temp_output_78_0,( temp_output_78_0 * (clampResult40).rgb ),_Usecenterglow) * _Emission ) , ( tex2DNode13.a * tex2DNode14.a * _Color.a * i.color.a * _Opacity )));
+ fixed4 col = appendResult87;
+ UNITY_APPLY_FOG(i.fogCoord, col);
+ return col;
+ }
+ ENDCG
+ }
+ }
+ }
+}
+/*ASEBEGIN
+Version=16900
+539;113;1213;901;2980.863;-333.0655;1.454142;True;False
+Node;AmplifyShaderEditor.CommentaryNode;104;-4130.993,490.5418;Float;False;1910.996;537.6462;Texture distortion;12;91;33;100;102;99;94;95;103;92;59;98;110;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.Vector4Node;99;-3968.293,619.481;Float;False;Property;_DistortionSpeedXYPowerZ;Distortion Speed XY Power Z;5;0;Create;True;0;0;False;0;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.TextureCoordinatesNode;98;-3920.299,848.9976;Float;False;0;91;3;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.DynamicAppendNode;100;-3535.482,654.5021;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ComponentMaskNode;59;-3583.603,566.496;Float;False;True;True;False;False;1;0;FLOAT3;0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.PannerNode;110;-3339.196,596.5295;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SamplerNode;33;-3146.373,763.0061;Float;True;Property;_Mask;Mask;3;0;Create;True;0;0;False;0;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.SamplerNode;91;-3152.937,567.9764;Float;True;Property;_Flow;Flow;2;0;Create;True;0;0;False;0;None;61c0b9c0523734e0e91bc6043c72a490;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.CommentaryNode;109;-3401.27,-330.4436;Float;False;1037.896;533.6285;Textures movement;7;107;108;29;21;89;22;15;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.Vector4Node;15;-3351.27,-101.4007;Float;False;Property;_SpeedMainTexUVNoiseZW;Speed MainTex U/V + Noise Z/W;4;0;Create;True;0;0;False;0;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.RegisterLocalVarNode;102;-3556.945,748.0421;Float;False;Flowpower;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;92;-2762.212,550.0183;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.DynamicAppendNode;21;-2778.501,-153.1786;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ComponentMaskNode;94;-2609.926,543.6367;Float;False;True;True;False;False;1;0;COLOR;0,0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;29;-2856.788,-280.4436;Float;False;0;13;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.GetLocalVarNode;103;-2605.07,630.9626;Float;False;102;Flowpower;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.DynamicAppendNode;22;-2766.722,70.18491;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;95;-2388.997,542.6455;Float;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;89;-2861.858,-55.04038;Float;False;0;14;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.TFHCRemapNode;36;-2530.289,1355.094;Float;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;1;False;4;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.PannerNode;107;-2570.374,-239.5098;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.PannerNode;108;-2577.237,-21.63752;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;96;-1989.684,-41.77601;Float;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;37;-2289.906,1280.763;Float;False;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;39;-1937.593,1156.593;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SamplerNode;14;-1804.579,119.2214;Float;True;Property;_Noise;Noise;1;0;Create;True;0;0;False;0;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.SamplerNode;13;-1803.192,-66.2159;Float;True;Property;_MainTex;MainTex;0;0;Create;True;0;0;False;0;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.ColorNode;31;-1728.612,316.0578;Float;False;Property;_Color;Color;7;0;Create;True;0;0;False;0;0.5,0.5,0.5,1;0.5,0.5,0.5,1;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.VertexColorNode;32;-1670.612,486.0577;Float;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;30;-1135.791,-2.490838;Float;False;4;4;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ClampOpNode;40;-1764.275,1143.857;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;1,1,1,1;False;1;COLOR;0
+Node;AmplifyShaderEditor.ComponentMaskNode;78;-945.7914,41.06877;Float;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.ComponentMaskNode;72;-1580.242,1135.946;Float;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;41;-714.9078,127.0253;Float;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.RangedFloatNode;62;-826.0103,543.6755;Float;False;Property;_Opacity;Opacity;8;0;Create;True;0;0;False;0;1;1;0;1;0;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;52;-446.0907,153.7209;Float;False;Property;_Emission;Emission;6;0;Create;True;0;0;False;0;2;2;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.ToggleSwitchNode;90;-536.6786,48.89112;Float;False;Property;_Usecenterglow;Use center glow?;9;0;Create;True;0;0;False;0;0;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;88;-460.9,315.4933;Float;False;5;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;51;-285.8404,56.42584;Float;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.DynamicAppendNode;87;-123.9274,58.99411;Float;False;FLOAT4;4;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
+Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;68;48.80347,59.22049;Float;False;True;2;Float;;0;7;Hovl/Particles/Blend_CenterGlow;0b6a9f8b4f707c74ca64c0be8e590de0;True;SubShader 0 Pass 0;0;0;SubShader 0 Pass 0;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;False;0;False;-1;False;True;2;False;-1;True;3;False;-1;False;True;4;Queue=Transparent=Queue=0;IgnoreProjector=True;RenderType=Transparent=RenderType;PreviewType=Plane;False;0;False;False;False;False;False;False;False;False;False;False;True;0;0;;0;0;Standard;0;0;1;True;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;0
+WireConnection;100;0;99;1
+WireConnection;100;1;99;2
+WireConnection;59;0;98;0
+WireConnection;110;0;59;0
+WireConnection;110;2;100;0
+WireConnection;91;1;110;0
+WireConnection;102;0;99;3
+WireConnection;92;0;91;0
+WireConnection;92;1;33;0
+WireConnection;21;0;15;1
+WireConnection;21;1;15;2
+WireConnection;94;0;92;0
+WireConnection;22;0;15;3
+WireConnection;22;1;15;4
+WireConnection;95;0;94;0
+WireConnection;95;1;103;0
+WireConnection;36;0;98;3
+WireConnection;107;0;29;0
+WireConnection;107;2;21;0
+WireConnection;108;0;89;0
+WireConnection;108;2;22;0
+WireConnection;96;0;107;0
+WireConnection;96;1;95;0
+WireConnection;37;0;33;0
+WireConnection;37;1;36;0
+WireConnection;39;0;33;0
+WireConnection;39;1;37;0
+WireConnection;14;1;108;0
+WireConnection;13;1;96;0
+WireConnection;30;0;13;0
+WireConnection;30;1;14;0
+WireConnection;30;2;31;0
+WireConnection;30;3;32;0
+WireConnection;40;0;39;0
+WireConnection;78;0;30;0
+WireConnection;72;0;40;0
+WireConnection;41;0;78;0
+WireConnection;41;1;72;0
+WireConnection;90;0;78;0
+WireConnection;90;1;41;0
+WireConnection;88;0;13;4
+WireConnection;88;1;14;4
+WireConnection;88;2;31;4
+WireConnection;88;3;32;4
+WireConnection;88;4;62;0
+WireConnection;51;0;90;0
+WireConnection;51;1;52;0
+WireConnection;87;0;51;0
+WireConnection;87;3;88;0
+WireConnection;68;0;87;0
+ASEEND*/
+//CHKSM=2C2AF11BAD8C4FA3B304EF2019556266F5F43326 \ No newline at end of file
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_CenterGlow.shader.meta b/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_CenterGlow.shader.meta
new file mode 100644
index 00000000..4f4dc4a5
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_CenterGlow.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b68b99c2e57cef4419465c63c527201b
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_TwoSides.shader b/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_TwoSides.shader
new file mode 100644
index 00000000..1298649e
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_TwoSides.shader
@@ -0,0 +1,201 @@
+Shader "Hovl/Particles/Blend_TwoSides"
+{
+ Properties
+ {
+ _Cutoff( "Mask Clip Value", Float ) = 0.5
+ _MainTex("Main Tex", 2D) = "white" {}
+ _Mask("Mask", 2D) = "white" {}
+ _Noise("Noise", 2D) = "white" {}
+ _SpeedMainTexUVNoiseZW("Speed MainTex U/V + Noise Z/W", Vector) = (0,0,0,0)
+ _FrontFacesColor("Front Faces Color", Color) = (0,0.2313726,1,1)
+ _BackFacesColor("Back Faces Color", Color) = (0.1098039,0.4235294,1,1)
+ _Emission("Emission", Float) = 2
+ [Toggle]_UseFresnel("Use Fresnel?", Float) = 1
+ [Toggle]_SeparateFresnel("SeparateFresnel", Float) = 0
+ _SeparateEmission("Separate Emission", Float) = 2
+ _FresnelColor("Fresnel Color", Color) = (1,1,1,1)
+ _Fresnel("Fresnel", Float) = 1
+ _FresnelEmission("Fresnel Emission", Float) = 1
+ [Toggle]_UseCustomData("Use Custom Data?", Float) = 0
+ [HideInInspector] _texcoord( "", 2D ) = "white" {}
+ [HideInInspector] _tex4coord( "", 2D ) = "white" {}
+ [HideInInspector] __dirty( "", Int ) = 1
+ }
+
+ SubShader
+ {
+ Tags{ "RenderType" = "TransparentCutout" "Queue" = "Transparent+0" "IsEmissive" = "true" "PreviewType"="Plane" }
+ Cull Off
+ Blend SrcAlpha OneMinusSrcAlpha
+ CGPROGRAM
+ #include "UnityShaderVariables.cginc"
+ //#pragma target 3.0
+ #pragma surface surf Unlit keepalpha noshadow
+ #undef TRANSFORM_TEX
+ #define TRANSFORM_TEX(tex,name) float4(tex.xy * name##_ST.xy + name##_ST.zw, tex.z, tex.w)
+ struct Input
+ {
+ float3 worldPos;
+ float3 worldNormal;
+ float3 viewDir;
+ float4 vertexColor : COLOR;
+ float2 uv_texcoord;
+ float4 uv_tex4coord;
+ };
+
+ uniform float _SeparateFresnel;
+ uniform float _UseFresnel;
+ uniform float4 _FrontFacesColor;
+ uniform float _Fresnel;
+ uniform float _FresnelEmission;
+ uniform float4 _FresnelColor;
+ uniform float4 _BackFacesColor;
+ uniform float _Emission;
+ uniform sampler2D _MainTex;
+ uniform float4 _MainTex_ST;
+ uniform float4 _SpeedMainTexUVNoiseZW;
+ uniform float _SeparateEmission;
+ uniform sampler2D _Mask;
+ uniform float4 _Mask_ST;
+ uniform sampler2D _Noise;
+ uniform float4 _Noise_ST;
+ uniform float _UseCustomData;
+ uniform float _Cutoff = 0.5;
+
+ inline half4 LightingUnlit( SurfaceOutput s, half3 lightDir, half atten )
+ {
+ return half4 ( 0, 0, 0, s.Alpha );
+ }
+
+ void surf( Input i , inout SurfaceOutput o )
+ {
+ float3 ase_worldPos = i.worldPos;
+ float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
+ float3 ase_worldNormal = i.worldNormal;
+ float fresnelNdotV95 = dot( ase_worldNormal, ase_worldViewDir );
+ float fresnelNode95 = ( 0.0 + 1.0 * pow( 1.0 - fresnelNdotV95, _Fresnel ) );
+ float dotResult87 = dot( ase_worldNormal , i.viewDir );
+ float4 lerpResult91 = lerp( lerp(_FrontFacesColor,( ( _FrontFacesColor * ( 1.0 - fresnelNode95 ) ) + ( _FresnelEmission * _FresnelColor * fresnelNode95 ) ),_UseFresnel) , _BackFacesColor , (1.0 + (sign( dotResult87 ) - -1.0) * (0.0 - 1.0) / (1.0 - -1.0)));
+ float2 uv0_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
+ float2 appendResult21 = (float2(_SpeedMainTexUVNoiseZW.x , _SpeedMainTexUVNoiseZW.y));
+ float4 tex2DNode105 = tex2D( _MainTex, ( uv0_MainTex + ( appendResult21 * _Time.y ) ) );
+ o.Emission = lerp(( lerpResult91 * _Emission * i.vertexColor * i.vertexColor.a * tex2DNode105 ),( ( lerpResult91 + ( _FresnelColor * tex2DNode105 * _SeparateEmission ) ) * _Emission * i.vertexColor * i.vertexColor.a ),_SeparateFresnel).rgb;
+ o.Alpha = 1;
+ float2 uv_Mask = i.uv_texcoord * _Mask_ST.xy + _Mask_ST.zw;
+ float4 uv0_Noise = i.uv_tex4coord;
+ uv0_Noise.xy = i.uv_tex4coord.xy * _Noise_ST.xy + _Noise_ST.zw;
+ float2 appendResult22 = (float2(_SpeedMainTexUVNoiseZW.z , _SpeedMainTexUVNoiseZW.w));
+ clip( ( tex2D( _Mask, uv_Mask ) * tex2D( _Noise, ( (uv0_Noise).xy + ( _Time.y * appendResult22 ) + uv0_Noise.w ) ) * lerp(1.0,uv0_Noise.z,_UseCustomData) ).r - _Cutoff );
+ }
+ ENDCG
+ }
+}
+/*ASEBEGIN
+Version=17000
+754;92;807;655;1574.913;1223.073;3.37946;True;False
+Node;AmplifyShaderEditor.RangedFloatNode;96;-1332.484,-144.2664;Float;False;Property;_Fresnel;Fresnel;12;0;Create;True;0;0;False;0;1;1;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.FresnelNode;95;-1174.625,-220.7157;Float;False;Standard;WorldNormal;ViewDir;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0
+Node;AmplifyShaderEditor.Vector4Node;15;-1416.635,615.4911;Float;False;Property;_SpeedMainTexUVNoiseZW;Speed MainTex U/V + Noise Z/W;4;0;Create;True;0;0;False;0;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.WorldNormalVector;86;-880.5408,-104.7736;Float;False;False;1;0;FLOAT3;0,0,0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
+Node;AmplifyShaderEditor.ViewDirInputsCoordNode;85;-855.3208,63.65365;Float;False;World;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
+Node;AmplifyShaderEditor.TimeNode;17;-1085.113,644.0539;Float;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.DynamicAppendNode;21;-1055.23,553.4234;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.OneMinusNode;126;-879.6107,-189.0835;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ColorNode;31;-899.9604,-500.3966;Float;False;Property;_FrontFacesColor;Front Faces Color;5;0;Create;True;0;0;False;0;0,0.2313726,1,1;0.5,0.5,0.5,1;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ColorNode;93;-1145.177,-388.2928;Float;False;Property;_FresnelColor;Fresnel Color;11;0;Create;True;0;0;False;0;1,1,1,1;0.5,0.5,0.5,1;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.RangedFloatNode;98;-1150.683,-471.3495;Float;False;Property;_FresnelEmission;Fresnel Emission;13;0;Create;True;0;0;False;0;1;1;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;106;-612.1661,450.9655;Float;False;0;105;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.SimpleMultiplyOpNode;97;-871.0923,-334.3178;Float;False;3;3;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;24;-838.5569,554.7645;Float;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.DotProductOpNode;87;-622.2883,-9.652705;Float;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;127;-649.0439,-325.096;Float;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SignOpNode;88;-454.7349,1.959959;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;26;-312.7807,532.4018;Float;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;123;-490.7369,-183.1635;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.WireNode;143;-865.423,223.1553;Float;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;29;-842.2249,645.2516;Float;False;0;14;4;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.DynamicAppendNode;22;-1052.689,775.7031;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SamplerNode;105;-176.5121,163.5146;Float;True;Property;_MainTex;Main Tex;1;0;Create;True;0;0;False;0;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.ToggleSwitchNode;133;-324.6653,-335.8928;Float;False;Property;_UseFresnel;Use Fresnel?;8;0;Create;True;0;0;False;0;1;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.TFHCRemapNode;89;-292.2313,-16.20071;Float;False;5;0;FLOAT;0;False;1;FLOAT;-1;False;2;FLOAT;1;False;3;FLOAT;1;False;4;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ColorNode;92;-327.1501,-194.7354;Float;False;Property;_BackFacesColor;Back Faces Color;6;0;Create;True;0;0;False;0;0.1098039,0.4235294,1,1;0.5,0.5,0.5,1;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.RangedFloatNode;142;-94.93386,351.3196;Float;False;Property;_SeparateEmission;Separate Emission;10;0;Create;True;0;0;False;0;2;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.WireNode;144;-255.5379,138.241;Float;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.LerpOp;91;-25.98829,-276.804;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;23;-836.114,821.5425;Float;False;2;2;0;FLOAT;0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ComponentMaskNode;59;-589.8,683.1187;Float;False;True;True;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;141;252.8173,97.90491;Float;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;136;411.426,-123.3316;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.RangedFloatNode;52;-16.89706,-122.9107;Float;False;Property;_Emission;Emission;7;0;Create;True;0;0;False;0;2;2;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;104;-265.9941,869.9862;Float;False;Constant;_Float0;Float 0;13;0;Create;True;0;0;False;0;1;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.VertexColorNode;32;-46.08871,-45.01809;Float;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SimpleAddOpNode;27;-264.7057,745.7369;Float;False;3;3;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SamplerNode;13;-117.0276,524.4487;Float;True;Property;_Mask;Mask;2;0;Create;True;0;0;False;0;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.ToggleSwitchNode;130;-98.24423,989.1903;Float;False;Property;_UseCustomData;Use Custom Data?;14;0;Create;True;0;0;False;0;0;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SamplerNode;14;-117.4146,709.8865;Float;True;Property;_Noise;Noise;3;0;Create;True;0;0;False;0;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.SimpleMultiplyOpNode;51;274.6301,239.1062;Float;False;5;5;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;COLOR;0,0,0,0;False;3;FLOAT;0;False;4;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;140;566.1781,-39.63671;Float;False;4;4;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;COLOR;0,0,0,0;False;3;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;70;333.5393,643.4429;Float;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ToggleSwitchNode;134;765.065,222.8378;Float;False;Property;_SeparateFresnel;SeparateFresnel;9;0;Create;True;0;0;False;0;0;2;0;COLOR;0,0,0,0;False;1;COLOR;1,1,1,1;False;1;COLOR;0
+Node;AmplifyShaderEditor.StandardSurfaceOutputNode;129;1092.768,257.209;Float;False;True;2;Float;;0;0;Unlit;Hovl/Particles/Blend_TwoSides;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Custom;0.5;True;False;0;True;TransparentCutout;;Transparent;All;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;False;2;5;False;-1;10;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;0;-1;-1;-1;1;PreviewType=Plane;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
+WireConnection;95;3;96;0
+WireConnection;21;0;15;1
+WireConnection;21;1;15;2
+WireConnection;126;0;95;0
+WireConnection;97;0;98;0
+WireConnection;97;1;93;0
+WireConnection;97;2;95;0
+WireConnection;24;0;21;0
+WireConnection;24;1;17;2
+WireConnection;87;0;86;0
+WireConnection;87;1;85;0
+WireConnection;127;0;31;0
+WireConnection;127;1;126;0
+WireConnection;88;0;87;0
+WireConnection;26;0;106;0
+WireConnection;26;1;24;0
+WireConnection;123;0;127;0
+WireConnection;123;1;97;0
+WireConnection;143;0;93;0
+WireConnection;22;0;15;3
+WireConnection;22;1;15;4
+WireConnection;105;1;26;0
+WireConnection;133;0;31;0
+WireConnection;133;1;123;0
+WireConnection;89;0;88;0
+WireConnection;144;0;143;0
+WireConnection;91;0;133;0
+WireConnection;91;1;92;0
+WireConnection;91;2;89;0
+WireConnection;23;0;17;2
+WireConnection;23;1;22;0
+WireConnection;59;0;29;0
+WireConnection;141;0;144;0
+WireConnection;141;1;105;0
+WireConnection;141;2;142;0
+WireConnection;136;0;91;0
+WireConnection;136;1;141;0
+WireConnection;27;0;59;0
+WireConnection;27;1;23;0
+WireConnection;27;2;29;4
+WireConnection;130;0;104;0
+WireConnection;130;1;29;3
+WireConnection;14;1;27;0
+WireConnection;51;0;91;0
+WireConnection;51;1;52;0
+WireConnection;51;2;32;0
+WireConnection;51;3;32;4
+WireConnection;51;4;105;0
+WireConnection;140;0;136;0
+WireConnection;140;1;52;0
+WireConnection;140;2;32;0
+WireConnection;140;3;32;4
+WireConnection;70;0;13;0
+WireConnection;70;1;14;0
+WireConnection;70;2;130;0
+WireConnection;134;0;51;0
+WireConnection;134;1;140;0
+WireConnection;129;2;134;0
+WireConnection;129;10;70;0
+ASEEND*/
+//CHKSM=91A18620E85D389A5025600A91D9217F3130E590 \ No newline at end of file
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_TwoSides.shader.meta b/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_TwoSides.shader.meta
new file mode 100644
index 00000000..cb82f063
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Blend_TwoSides.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 56bedbcbfe68e1345a5e87fe73790dab
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/DissolveNoise.shader b/Assets/Art/Vfx/Sword slash VFX/Shaders/DissolveNoise.shader
new file mode 100644
index 00000000..3c1be99d
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/DissolveNoise.shader
@@ -0,0 +1,306 @@
+Shader "Hovl/Particles/DissolveNoise"
+{
+ Properties
+ {
+ _MainTex("MainTex", 2D) = "white" {}
+ _TextureNoise("Texture Noise", 2D) = "white" {}
+ _Dissolvenoise("Dissolve noise", 2D) = "white" {}
+ _NoisespeedXYEmissonZPowerW("Noise speed XY / Emisson Z / Power W", Vector) = (0.5,0,2,1)
+ _DissolvespeedXY("Dissolve speed XY", Vector) = (0,0,0,0)
+ _Maincolor("Main color", Color) = (0.7609469,0.8547776,0.9433962,1)
+ _Noisecolor("Noise color", Color) = (0.2470588,0.3012382,0.3607843,1)
+ _Dissolvecolor("Dissolve color", Color) = (1,1,1,1)
+ [Toggle]_Usetexturecolor("Use texture color", Float) = 0
+ [Toggle]_Usetexturedissolve("Use texture dissolve", Float) = 0
+ _Opacity("Opacity", Range( 0 , 1)) = 1
+ [Toggle] _Usedepth ("Use depth?", Float ) = 0
+ _InvFade ("Soft Particles Factor", Range(0.01,3.0)) = 1.0
+ [HideInInspector] _texcoord( "", 2D ) = "white" {}
+ }
+
+ Category
+ {
+ SubShader
+ {
+ Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
+ Blend SrcAlpha OneMinusSrcAlpha
+ ColorMask RGB
+ Cull Off
+ Lighting Off
+ ZWrite Off
+ ZTest LEqual
+
+ Pass {
+
+ CGPROGRAM
+
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma target 2.0
+ #pragma multi_compile_particles
+ #pragma multi_compile_fog
+ #include "UnityShaderVariables.cginc"
+ #include "UnityCG.cginc"
+
+ struct appdata_t
+ {
+ float4 vertex : POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ float4 ase_texcoord1 : TEXCOORD1;
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_FOG_COORDS(1)
+ #ifdef SOFTPARTICLES_ON
+ float4 projPos : TEXCOORD2;
+ #endif
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ UNITY_VERTEX_OUTPUT_STEREO
+ float4 ase_texcoord3 : TEXCOORD3;
+ };
+
+ #if UNITY_VERSION >= 560
+ UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture );
+ #else
+ uniform sampler2D_float _CameraDepthTexture;
+ #endif
+
+ //Don't delete this comment
+ // uniform sampler2D_float _CameraDepthTexture;
+
+ uniform sampler2D _MainTex;
+ uniform float4 _MainTex_ST;
+ uniform float _InvFade;
+ uniform float _Usedepth;
+ uniform float4 _NoisespeedXYEmissonZPowerW;
+ uniform float _Usetexturecolor;
+ uniform float4 _Maincolor;
+ uniform float4 _Noisecolor;
+ uniform sampler2D _TextureNoise;
+ uniform sampler2D _Dissolvenoise;
+ uniform float4 _Dissolvenoise_ST;
+ uniform float4 _TextureNoise_ST;
+ uniform float _Usetexturedissolve;
+ uniform float4 _DissolvespeedXY;
+ uniform float4 _Dissolvecolor;
+ uniform float _Opacity;
+
+ v2f vert ( appdata_t v )
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ UNITY_TRANSFER_INSTANCE_ID(v, o);
+ o.ase_texcoord3.xyz = v.ase_texcoord1.xyz;
+
+ //setting value to unused interpolator channels and avoid initialization warnings
+ o.ase_texcoord3.w = 0;
+
+ v.vertex.xyz += float3( 0, 0, 0 ) ;
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ #ifdef SOFTPARTICLES_ON
+ o.projPos = ComputeScreenPos (o.vertex);
+ COMPUTE_EYEDEPTH(o.projPos.z);
+ #endif
+ o.color = v.color;
+ o.texcoord = v.texcoord;
+ UNITY_TRANSFER_FOG(o,o.vertex);
+ return o;
+ }
+
+ fixed4 frag ( v2f i ) : SV_Target
+ {
+ float lp = 1;
+ #ifdef SOFTPARTICLES_ON
+ float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
+ float partZ = i.projPos.z;
+ float fade = saturate (_InvFade * (sceneZ-partZ));
+ lp *= lerp(1, fade, _Usedepth);
+ i.color.a *= lp;
+ #endif
+
+ float Emission59 = _NoisespeedXYEmissonZPowerW.z;
+ float2 appendResult38 = (float2(_NoisespeedXYEmissonZPowerW.x , _NoisespeedXYEmissonZPowerW.y));
+ float3 uv1_Dissolvenoise = i.ase_texcoord3.xyz;
+ uv1_Dissolvenoise.xy = i.ase_texcoord3.xyz.xy * _Dissolvenoise_ST.xy + _Dissolvenoise_ST.zw;
+ float W120 = uv1_Dissolvenoise.z;
+ float4 uv0_TextureNoise = i.texcoord;
+ uv0_TextureNoise.xy = i.texcoord.xy * _TextureNoise_ST.xy + _TextureNoise_ST.zw;
+ float2 panner39 = ( 1.0 * _Time.y * appendResult38 + ( W120 + float2( 0.2,0.4 ) + (uv0_TextureNoise).xy ));
+ float Noisepower63 = _NoisespeedXYEmissonZPowerW.w;
+ float4 temp_cast_0 = (Noisepower63).xxxx;
+ float4 clampResult11 = clamp( ( pow( tex2D( _TextureNoise, panner39 ) , temp_cast_0 ) * Noisepower63 ) , float4( 0,0,0,0 ) , float4( 1,1,1,1 ) );
+ float4 lerpResult8 = lerp( _Maincolor , _Noisecolor , clampResult11);
+ float2 appendResult109 = (float2(_DissolvespeedXY.x , _DissolvespeedXY.y));
+ float2 panner111 = ( 1.0 * _Time.y * appendResult109 + ( (uv1_Dissolvenoise).xy + W120 ));
+ float4 tex2DNode91 = tex2D( _Dissolvenoise, panner111 );
+ float2 uv_MainTex = i.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
+ float4 tex2DNode4 = tex2D( _MainTex, uv_MainTex );
+ float mainTexr123 = tex2DNode4.r;
+ float temp_output_88_0 = step( lerp(tex2DNode91.r,( tex2DNode91.r * mainTexr123 ),_Usetexturedissolve) , uv0_TextureNoise.z );
+ float4 temp_output_93_0 = ( lerpResult8 * ( 1.0 - temp_output_88_0 ) );
+ float clampResult87 = clamp( ( (-4.0 + (( (-0.65 + (( 1.0 - uv0_TextureNoise.z ) - 0.0) * (0.65 - -0.65) / (1.0 - 0.0)) + lerp(tex2DNode91.r,( tex2DNode91.r * mainTexr123 ),_Usetexturedissolve) ) - 0.0) * (7.0 - -4.0) / (1.0 - 0.0)) * 3.0 ) , 0.0 , 1.0 );
+ float4 lerpResult92 = lerp( lerp(temp_output_93_0,( temp_output_93_0 * tex2DNode4 ),_Usetexturecolor) , lerp(_Dissolvecolor,( _Dissolvecolor * tex2DNode4 ),_Usetexturecolor) , ( clampResult87 * temp_output_88_0 ));
+ float clampResult99 = clamp( (-15.0 + (( lerp(tex2DNode91.r,( tex2DNode91.r * mainTexr123 ),_Usetexturedissolve) + (-0.65 + (uv0_TextureNoise.w - 0.0) * (0.65 - -0.65) / (1.0 - 0.0)) ) - 0.0) * (15.0 - -15.0) / (1.0 - 0.0)) , 0.0 , 1.0 );
+ float4 appendResult2 = (float4((( Emission59 * lerpResult92 * i.color )).rgb , ( i.color.a * tex2DNode4.a * clampResult99 * _Opacity )));
+
+ fixed4 col = appendResult2;
+ UNITY_APPLY_FOG(i.fogCoord, col);
+ return col;
+ }
+ ENDCG
+ }
+ }
+ }
+}
+/*ASEBEGIN
+Version=17000
+452;190;1205;843;1417.795;416.7184;1;True;False
+Node;AmplifyShaderEditor.TextureCoordinatesNode;110;-3731.085,62.61617;Float;False;1;91;3;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.CommentaryNode;96;-4375.368,-929.1308;Float;False;2523.071;702.9789;Noise emission;17;37;40;38;65;39;63;64;3;9;12;6;11;7;8;59;119;121;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;120;-3497.433,135.6656;Float;False;W;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;40;-4325.368,-688.4302;Float;False;0;3;4;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ComponentMaskNode;118;-3492.551,61.89781;Float;False;True;True;False;True;1;0;FLOAT3;0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.Vector4Node;113;-3496.907,209.6091;Float;False;Property;_DissolvespeedXY;Dissolve speed XY;4;0;Create;True;0;0;False;0;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.Vector4Node;37;-4088.941,-624.0703;Float;False;Property;_NoisespeedXYEmissonZPowerW;Noise speed XY / Emisson Z / Power W;3;0;Create;True;0;0;False;0;0.5,0,2,1;0.5,0,1.5,3;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ComponentMaskNode;65;-4007.662,-701.4861;Float;False;True;True;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.GetLocalVarNode;121;-3976.682,-780.9033;Float;False;120;W;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;117;-3268.184,124.0004;Float;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.DynamicAppendNode;109;-3284.167,219.7076;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.DynamicAppendNode;38;-3771.349,-612.1542;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;119;-3753.854,-740.6059;Float;False;3;3;0;FLOAT;0;False;1;FLOAT2;0.2,0.4;False;2;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SamplerNode;4;-1407.331,460.5456;Float;True;Property;_MainTex;MainTex;0;0;Create;True;0;0;False;0;None;52187efe2e15f22438ea18da0388faf9;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.PannerNode;111;-3138.163,161.1251;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;63;-3765.858,-446.4271;Float;False;Noisepower;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.PannerNode;39;-3590.439,-664.4094;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;123;-1081.101,483.4396;Float;False;mainTexr;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.GetLocalVarNode;124;-2849.281,366.0172;Float;False;123;mainTexr;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SamplerNode;3;-3352.115,-661.3746;Float;True;Property;_TextureNoise;Texture Noise;1;0;Create;True;0;0;False;0;None;04a40b50e9e63ed43af8af28f2ba4f86;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.WireNode;103;-3664.961,-99.41174;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SamplerNode;91;-2944.553,180.0912;Float;True;Property;_Dissolvenoise;Dissolve noise;2;0;Create;True;0;0;False;0;None;04a40b50e9e63ed43af8af28f2ba4f86;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.GetLocalVarNode;64;-3062.491,-360.0853;Float;False;63;Noisepower;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;125;-2655.502,278.2065;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.OneMinusNode;89;-2601.746,30.60856;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.PowerNode;9;-2834.707,-531.7649;Float;False;2;0;COLOR;0,0,0,0;False;1;FLOAT;1;False;1;COLOR;0
+Node;AmplifyShaderEditor.TFHCRemapNode;84;-2426.78,29.58903;Float;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;-0.65;False;4;FLOAT;0.65;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;12;-2626.456,-532.4448;Float;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ToggleSwitchNode;122;-2512.364,201.0435;Float;False;Property;_Usetexturedissolve;Use texture dissolve;10;0;Create;True;0;0;False;0;0;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.WireNode;104;-3568.484,373.0246;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.StepOpNode;88;-1897.113,360.4829;Float;True;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ColorNode;7;-2525.469,-710.7628;Float;False;Property;_Noisecolor;Noise color;6;0;Create;True;0;0;False;0;0.2470588,0.3012382,0.3607843,1;0.6084906,0.7078456,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ClampOpNode;11;-2430.626,-539.9247;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;1,1,1,1;False;1;COLOR;0
+Node;AmplifyShaderEditor.ColorNode;6;-2522.28,-879.1308;Float;False;Property;_Maincolor;Main color;5;0;Create;True;0;0;False;0;0.7609469,0.8547776,0.9433962,1;1,1,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SimpleAddOpNode;85;-2212.658,30.22906;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.LerpOp;8;-2036.292,-749.175;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.OneMinusNode;94;-1629.423,-205.6722;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.TFHCRemapNode;86;-2061.677,36.23553;Float;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;-4;False;4;FLOAT;7;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;93;-1377.25,-220.3437;Float;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ColorNode;95;-1400.845,-10.83905;Float;False;Property;_Dissolvecolor;Dissolve color;7;0;Create;True;0;0;False;0;1,1,1,1;1,1,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.WireNode;102;-3549.196,605.6983;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;97;-1832.965,37.59949;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;3;False;1;FLOAT;0
+Node;AmplifyShaderEditor.WireNode;126;-1879.118,642.0746;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ClampOpNode;87;-1650.216,36.16174;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;74;-1017.75,-93.77279;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;80;-1011.594,84.85248;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.TFHCRemapNode;101;-1005.377,757.6221;Float;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;-0.65;False;4;FLOAT;0.65;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ToggleSwitchNode;75;-839.7263,-226.4786;Float;False;Property;_Usetexturecolor;Use texture color;9;0;Create;True;0;0;False;0;0;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ToggleSwitchNode;76;-860.1625,-0.6898842;Float;False;Property;_Usetexturecolor;Use texture color;8;0;Create;True;0;0;False;0;0;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;90;-1421.17,230.6805;Float;True;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;100;-766.1468,655.4361;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;-0.5;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;59;-3766.757,-520.1385;Float;False;Emission;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.VertexColorNode;57;-49.6262,197.8381;Float;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.GetLocalVarNode;60;-89.6088,-126.0067;Float;False;59;Emission;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.LerpOp;92;-408.2168,-28.06238;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.TFHCRemapNode;98;-559.383,652.7811;Float;True;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;-15;False;4;FLOAT;15;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;58;201.1051,-35.90836;Float;False;3;3;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.RangedFloatNode;127;-261.7072,780.2939;Float;False;Property;_Opacity;Opacity;11;0;Create;True;0;0;False;0;1;1;0;1;0;1;FLOAT;0
+Node;AmplifyShaderEditor.ClampOpNode;99;-276.761,649.803;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ComponentMaskNode;5;387.0235,-14.18318;Float;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;41;239.3105,376.0516;Float;False;4;4;0;FLOAT;0;False;1;FLOAT;1;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.DynamicAppendNode;2;639.802,0.6767869;Float;False;FLOAT4;4;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
+Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;116;868.134,5.849471;Float;False;True;2;Float;;0;11;Hovl/Particles/DissolveNoise;0b6a9f8b4f707c74ca64c0be8e590de0;True;SubShader 0 Pass 0;0;0;SubShader 0 Pass 0;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;False;0;False;-1;False;True;2;False;-1;True;3;False;-1;False;True;4;Queue=Transparent=Queue=0;IgnoreProjector=True;RenderType=Transparent=RenderType;PreviewType=Plane;False;0;False;False;False;False;False;False;False;False;False;False;True;0;0;;0;0;Standard;0;0;1;True;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;0
+WireConnection;120;0;110;3
+WireConnection;118;0;110;0
+WireConnection;65;0;40;0
+WireConnection;117;0;118;0
+WireConnection;117;1;120;0
+WireConnection;109;0;113;1
+WireConnection;109;1;113;2
+WireConnection;38;0;37;1
+WireConnection;38;1;37;2
+WireConnection;119;0;121;0
+WireConnection;119;2;65;0
+WireConnection;111;0;117;0
+WireConnection;111;2;109;0
+WireConnection;63;0;37;4
+WireConnection;39;0;119;0
+WireConnection;39;2;38;0
+WireConnection;123;0;4;1
+WireConnection;3;1;39;0
+WireConnection;103;0;40;3
+WireConnection;91;1;111;0
+WireConnection;125;0;91;1
+WireConnection;125;1;124;0
+WireConnection;89;0;103;0
+WireConnection;9;0;3;0
+WireConnection;9;1;64;0
+WireConnection;84;0;89;0
+WireConnection;12;0;9;0
+WireConnection;12;1;64;0
+WireConnection;122;0;91;1
+WireConnection;122;1;125;0
+WireConnection;104;0;40;3
+WireConnection;88;0;122;0
+WireConnection;88;1;104;0
+WireConnection;11;0;12;0
+WireConnection;85;0;84;0
+WireConnection;85;1;122;0
+WireConnection;8;0;6;0
+WireConnection;8;1;7;0
+WireConnection;8;2;11;0
+WireConnection;94;0;88;0
+WireConnection;86;0;85;0
+WireConnection;93;0;8;0
+WireConnection;93;1;94;0
+WireConnection;102;0;40;4
+WireConnection;97;0;86;0
+WireConnection;126;0;122;0
+WireConnection;87;0;97;0
+WireConnection;74;0;93;0
+WireConnection;74;1;4;0
+WireConnection;80;0;95;0
+WireConnection;80;1;4;0
+WireConnection;101;0;102;0
+WireConnection;75;0;93;0
+WireConnection;75;1;74;0
+WireConnection;76;0;95;0
+WireConnection;76;1;80;0
+WireConnection;90;0;87;0
+WireConnection;90;1;88;0
+WireConnection;100;0;126;0
+WireConnection;100;1;101;0
+WireConnection;59;0;37;3
+WireConnection;92;0;75;0
+WireConnection;92;1;76;0
+WireConnection;92;2;90;0
+WireConnection;98;0;100;0
+WireConnection;58;0;60;0
+WireConnection;58;1;92;0
+WireConnection;58;2;57;0
+WireConnection;99;0;98;0
+WireConnection;5;0;58;0
+WireConnection;41;0;57;4
+WireConnection;41;1;4;4
+WireConnection;41;2;99;0
+WireConnection;41;3;127;0
+WireConnection;2;0;5;0
+WireConnection;2;3;41;0
+WireConnection;116;0;2;0
+ASEEND*/
+//CHKSM=1CE1EE6B6A3D0D28DFE1537BFEC0A364D30C2704 \ No newline at end of file
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/DissolveNoise.shader.meta b/Assets/Art/Vfx/Sword slash VFX/Shaders/DissolveNoise.shader.meta
new file mode 100644
index 00000000..99e7584f
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/DissolveNoise.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 145bae762d8de8f4c8fb1b284128fae7
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Distortion.shader b/Assets/Art/Vfx/Sword slash VFX/Shaders/Distortion.shader
new file mode 100644
index 00000000..1439dfe7
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Distortion.shader
@@ -0,0 +1,148 @@
+Shader "Hovl/Particles/Distortion"
+{
+ Properties
+ {
+ _NormalMap("Normal Map", 2D) = "bump" {}
+ _Distortionpower("Distortion power", Float) = 0.05
+ _InvFade ("Soft Particles Factor", Range(0.01,3.0)) = 1.0
+ }
+
+ Category
+ {
+ SubShader
+ {
+ Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
+ Blend SrcAlpha OneMinusSrcAlpha
+ Cull Off
+ Lighting Off
+ ZWrite Off
+ Fog { Mode Off}
+ GrabPass{ }
+
+ Pass {
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma fragmentoption ARB_precision_hint_fastest
+ #pragma multi_compile_particles
+ #include "UnityCG.cginc"
+ uniform sampler2D_float _CameraDepthTexture;
+ uniform float _InvFade;
+ uniform sampler2D _GrabTexture;
+ uniform sampler2D _NormalMap;
+ uniform float4 _NormalMap_ST;
+ uniform float _Distortionpower;
+ uniform float4 _GrabTexture_TexelSize;
+
+ struct appdata_t
+ {
+ float4 vertex : POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD1;
+ float2 texcoord2 : TEXCOORD2;
+ #ifdef SOFTPARTICLES_ON
+ float4 projPos : TEXCOORD3;
+ #endif
+ };
+
+ v2f vert ( appdata_t v )
+ {
+ v2f o;
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ #ifdef SOFTPARTICLES_ON
+ o.projPos = ComputeScreenPos (o.vertex);
+ COMPUTE_EYEDEPTH(o.projPos.z);
+ #endif
+ o.color = v.color;
+
+ #if UNITY_UV_STARTS_AT_TOP
+ half scale = -1.0;
+ #else
+ half scale = 1.0;
+ #endif
+ o.texcoord.xy = (float2(o.vertex.x, o.vertex.y*scale) + o.vertex.w) * 0.5;
+ o.texcoord.zw = o.vertex.w;
+ #if UNITY_SINGLE_PASS_STEREO
+ o.texcoord.xy = TransformStereoScreenSpaceTex(o.texcoord.xy, o.texcoord.w);
+ #endif
+ o.texcoord.z /= distance(_WorldSpaceCameraPos, mul(unity_ObjectToWorld, v.vertex));
+ o.texcoord2 = TRANSFORM_TEX( v.texcoord, _NormalMap );
+ return o;
+ }
+
+ fixed4 frag ( v2f i ) : SV_Target
+ {
+ #ifdef SOFTPARTICLES_ON
+ float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
+ float partZ = i.projPos.z;
+ float fade = saturate (_InvFade * (sceneZ-partZ));
+ i.color.a *= fade;
+ #endif
+
+ half3 tex2DNode14 = UnpackNormal(tex2D( _NormalMap, i.texcoord2));
+ half2 screenColor29 = tex2DNode14.rg;
+ half clampResult89 = (abs(tex2DNode14.r) + abs(tex2DNode14.g) * 30) - 0.03;
+ screenColor29 = screenColor29 * _GrabTexture_TexelSize.xy * _Distortionpower * i.color.a;
+ i.texcoord.xy = screenColor29 * i.texcoord.z + i.texcoord.xy;
+ half4 col = tex2Dproj( _GrabTexture, UNITY_PROJ_COORD(i.texcoord));
+ col.a = saturate(col.a * clampResult89);
+ return col;
+ }
+ ENDCG
+ }
+ }
+ }
+}
+/*ASEBEGIN
+Version=15401
+764;92;877;655;1734.839;1034.898;1.545907;True;True
+Node;AmplifyShaderEditor.SamplerNode;14;-1463.593,-612.4862;Float;True;Property;_NormalMap;Normal Map;1;0;Create;True;0;0;False;0;c77ad51b9c5e4a440b6c122953ce0dfc;c77ad51b9c5e4a440b6c122953ce0dfc;True;0;True;bump;Auto;True;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;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.AbsOpNode;79;-1125.91,-499.2636;Float;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.AbsOpNode;101;-1130.615,-262.5767;Float;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;84;-837.6768,-190.3634;Float;False;Constant;_Float1;Float 1;2;0;Create;True;0;0;False;0;30;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;80;-897.4952,-501.049;Float;True;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;102;-654.9815,-422.7797;Float;True;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;82;-613.9226,-177.3736;Float;False;Constant;_Float0;Float 0;2;0;Create;True;0;0;False;0;0.2;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;81;-396.7346,-359.6836;Float;True;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ComponentMaskNode;36;-480.6686,-614.95;Float;True;True;True;False;False;1;0;FLOAT3;0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.RangedFloatNode;12;-240.5315,-514.8548;Float;False;Property;_Distortionpower;Distortion power;0;0;Create;True;0;0;False;0;0.05;4;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.ClampOpNode;89;-164.2401,-354.9835;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.GrabScreenPosition;85;-763.2303,-813.5652;Float;False;0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;91;3.543352,-587.3339;Float;False;3;3;0;FLOAT2;0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ComponentMaskNode;86;-430.4041,-832.9164;Float;True;True;True;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;87;163.4362,-654.8883;Float;True;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ComponentMaskNode;104;501.661,-611.1464;Float;False;True;True;True;True;1;0;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ScreenColorNode;29;751.0516,-829.6149;Float;False;Global;_GrabScreen0;Grab Screen 0;4;0;Create;True;0;0;False;0;Object;-1;False;False;1;0;FLOAT2;0,0;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.VertexColorNode;49;750.7663,-657.1718;Float;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;97;1001.457,-721.0015;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;69;1175.819,-706.8605;Float;False;True;2;Float;ASEMaterialInspector;0;6;Distortion2;0b6a9f8b4f707c74ca64c0be8e590de0;0;0;SubShader 0 Pass 0;2;True;2;5;False;-1;10;False;-1;0;5;False;-1;10;False;-1;False;True;2;False;-1;True;True;True;True;False;0;False;-1;False;True;2;False;-1;True;3;False;-1;False;True;4;Queue=Transparent;IgnoreProjector=True;RenderType=Transparent;PreviewType=Plane;False;0;False;False;False;False;False;False;False;False;False;True;0;0;;0;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;0
+WireConnection;79;0;14;1
+WireConnection;101;0;14;2
+WireConnection;80;0;79;0
+WireConnection;80;1;101;0
+WireConnection;102;0;80;0
+WireConnection;102;1;84;0
+WireConnection;81;0;102;0
+WireConnection;81;1;82;0
+WireConnection;36;0;14;0
+WireConnection;89;0;81;0
+WireConnection;91;0;36;0
+WireConnection;91;1;12;0
+WireConnection;91;2;89;0
+WireConnection;86;0;85;0
+WireConnection;87;0;86;0
+WireConnection;87;1;91;0
+WireConnection;104;0;87;0
+WireConnection;29;0;104;0
+WireConnection;97;0;29;0
+WireConnection;97;1;49;0
+WireConnection;69;0;97;0
+ASEEND*/
+//CHKSM=E071BF2A900CD0332D04C068E64CF91BB363761C \ No newline at end of file
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Distortion.shader.meta b/Assets/Art/Vfx/Sword slash VFX/Shaders/Distortion.shader.meta
new file mode 100644
index 00000000..b1108a3b
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Distortion.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 36121c42b945b624fb938cb9637f28d0
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Explosion.shader b/Assets/Art/Vfx/Sword slash VFX/Shaders/Explosion.shader
new file mode 100644
index 00000000..f4c580d6
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Explosion.shader
@@ -0,0 +1,333 @@
+Shader "Hovl/Particles/Explosion"
+{
+ Properties
+ {
+ _Noise("Noise", 2D) = "white" {}
+ _FinalEmission("Final Emission", Float) = 1
+ _Color("Color", Color) = (1,1,1,1)
+ _GlowColor("Glow Color", Color) = (1,1,0,1)
+ _Opacity("Opacity", Range( 0 , 1)) = 1
+ _NoisespeedXYNoisepowerZGlowpowerW("Noise speed XY Noise power Z Glow power W", Vector) = (0.314,0.427,0.001,4)
+ _MotionVector("MotionVector", 2D) = "white" {}
+ _MainTex("MainTex", 2D) = "white" {}
+ _TilingXY("Tiling XY", Vector) = (8,8,0,0)
+ _MotionAmount("MotionAmount", Float) = 0.001
+ [MaterialToggle] _Usedepth ("Use depth?", Float ) = 0
+ _Depthpower ("Depth power", Float ) = 1
+ }
+
+
+ Category
+ {
+ SubShader
+ {
+ Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
+ Blend SrcAlpha OneMinusSrcAlpha
+ ColorMask RGB
+ Cull Off
+ Lighting Off
+ ZWrite Off
+ ZTest LEqual
+
+ Pass {
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma target 2.0
+ #pragma multi_compile_particles
+ #pragma multi_compile_fog
+ #include "UnityShaderVariables.cginc"
+ #include "UnityCG.cginc"
+
+ struct appdata_t
+ {
+ float4 vertex : POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_FOG_COORDS(1)
+ #ifdef SOFTPARTICLES_ON
+ float4 projPos : TEXCOORD2;
+ #endif
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ UNITY_VERTEX_OUTPUT_STEREO
+
+ };
+
+ #if UNITY_VERSION >= 560
+ UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture );
+ #else
+ uniform sampler2D_float _CameraDepthTexture;
+ #endif
+
+ //Don't delete this comment
+ // uniform sampler2D_float _CameraDepthTexture;
+
+ uniform sampler2D _MainTex;
+ uniform float4 _MainTex_ST;
+ uniform float4 _GlowColor;
+ uniform sampler2D _Noise;
+ uniform float4 _Noise_ST;
+ uniform float4 _NoisespeedXYNoisepowerZGlowpowerW;
+ uniform sampler2D _MotionVector;
+ uniform float4 _TilingXY;
+ uniform float _MotionAmount;
+ uniform float4 _Color;
+ uniform float _FinalEmission;
+ uniform float _Opacity;
+ uniform fixed _Usedepth;
+ uniform float _Depthpower;
+
+ v2f vert ( appdata_t v )
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ UNITY_TRANSFER_INSTANCE_ID(v, o);
+
+ v.vertex.xyz += float3( 0, 0, 0 ) ;
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ #ifdef SOFTPARTICLES_ON
+ o.projPos = ComputeScreenPos (o.vertex);
+ COMPUTE_EYEDEPTH(o.projPos.z);
+ #endif
+ o.color = v.color;
+ o.texcoord = v.texcoord;
+ UNITY_TRANSFER_FOG(o,o.vertex);
+ return o;
+ }
+
+ fixed4 frag ( v2f i ) : SV_Target
+ {
+ float lp = 1;
+ #ifdef SOFTPARTICLES_ON
+ float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
+ float partZ = i.projPos.z;
+ float fade = saturate ((sceneZ-partZ) / _Depthpower);
+ lp *= lerp(1, fade, _Usedepth);
+ i.color.a *= lp;
+ #endif
+
+ float4 uv0_Noise = i.texcoord;
+ uv0_Noise.xy = i.texcoord.xy * _Noise_ST.xy + _Noise_ST.zw;
+ float Emission57 = uv0_Noise.z;
+ float2 appendResult1 = (float2(_NoisespeedXYNoisepowerZGlowpowerW.x , _NoisespeedXYNoisepowerZGlowpowerW.y));
+ float4 temp_output_9_0 = ( tex2D( _Noise, ( uv0_Noise + float4( ( _Time.y * appendResult1 ), 0.0 , 0.0 ) ).xy ) * _NoisespeedXYNoisepowerZGlowpowerW.z );
+ float T104 = uv0_Noise.w;
+ float Fract113 = frac( T104 );
+ float2 uv0_MainTex = i.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
+ float temp_output_89_0 = floor( T104 );
+ // *** BEGIN Flipbook UV Animation vars ***
+ // Total tiles of Flipbook Texture
+ float fbtotaltiles107 = _TilingXY.x * _TilingXY.y;
+ // Offsets for cols and rows of Flipbook Texture
+ float fbcolsoffset107 = 1.0f / _TilingXY.x;
+ float fbrowsoffset107 = 1.0f / _TilingXY.y;
+ // Speed of animation
+ float fbspeed107 = _Time[ 1 ] * 0.0;
+ // UV Tiling (col and row offset)
+ float2 fbtiling107 = float2(fbcolsoffset107, fbrowsoffset107);
+ // UV Offset - calculate current tile linear index, and convert it to (X * coloffset, Y * rowoffset)
+ // Calculate current tile linear index
+ float fbcurrenttileindex107 = round( fmod( fbspeed107 + temp_output_89_0, fbtotaltiles107) );
+ fbcurrenttileindex107 += ( fbcurrenttileindex107 < 0) ? fbtotaltiles107 : 0;
+ // Obtain Offset X coordinate from current tile linear index
+ float fblinearindextox107 = round ( fmod ( fbcurrenttileindex107, _TilingXY.x ) );
+ // Multiply Offset X by coloffset
+ float fboffsetx107 = fblinearindextox107 * fbcolsoffset107;
+ // Obtain Offset Y coordinate from current tile linear index
+ float fblinearindextoy107 = round( fmod( ( fbcurrenttileindex107 - fblinearindextox107 ) / _TilingXY.x, _TilingXY.y ) );
+ // Reverse Y to get tiles from Top to Bottom
+ fblinearindextoy107 = (int)(_TilingXY.y-1) - fblinearindextoy107;
+ // Multiply Offset Y by rowoffset
+ float fboffsety107 = fblinearindextoy107 * fbrowsoffset107;
+ // UV Offset
+ float2 fboffset107 = float2(fboffsetx107, fboffsety107);
+ // Flipbook UV
+ half2 fbuv107 = uv0_MainTex * fbtiling107 + fboffset107;
+ // *** END Flipbook UV Animation vars ***
+ float4 temp_cast_2 = (_MotionAmount).xxxx;
+ float4 temp_cast_3 = (( _MotionAmount * -1.0 )).xxxx;
+ float4 temp_output_93_0 = (temp_cast_2 + (tex2D( _MotionVector, fbuv107 ) - float4( 0,0,0,0 )) * (temp_cast_3 - temp_cast_2) / (float4( 1,1,1,1 ) - float4( 0,0,0,0 )));
+ float4 tex2DNode14 = tex2D( _MainTex, ( temp_output_9_0 + ( Fract113 * temp_output_93_0 ) + float4( fbuv107, 0.0 , 0.0 ) ).rg );
+ float4 temp_cast_8 = (_MotionAmount).xxxx;
+ float4 temp_cast_9 = (( _MotionAmount * -1.0 )).xxxx;
+ float fbtotaltiles103 = _TilingXY.x * _TilingXY.y;
+ float fbcolsoffset103 = 1.0f / _TilingXY.x;
+ float fbrowsoffset103 = 1.0f / _TilingXY.y;
+ float fbspeed103 = _Time[ 1 ] * 0.0;
+ float2 fbtiling103 = float2(fbcolsoffset103, fbrowsoffset103);
+ float fbcurrenttileindex103 = round( fmod( fbspeed103 + ( temp_output_89_0 + 1.0 ), fbtotaltiles103) );
+ fbcurrenttileindex103 += ( fbcurrenttileindex103 < 0) ? fbtotaltiles103 : 0;
+ float fblinearindextox103 = round ( fmod ( fbcurrenttileindex103, _TilingXY.x ) );
+ float fboffsetx103 = fblinearindextox103 * fbcolsoffset103;
+ float fblinearindextoy103 = round( fmod( ( fbcurrenttileindex103 - fblinearindextox103 ) / _TilingXY.x, _TilingXY.y ) );
+ fblinearindextoy103 = (int)(_TilingXY.y-1) - fblinearindextoy103;
+ float fboffsety103 = fblinearindextoy103 * fbrowsoffset103;
+ float2 fboffset103 = float2(fboffsetx103, fboffsety103);
+ half2 fbuv103 = uv0_MainTex * fbtiling103 + fboffset103;
+ float4 tex2DNode60 = tex2D( _MainTex, ( temp_output_9_0 + ( ( Fract113 + -1.0 ) * temp_output_93_0 ) + float4( fbuv103, 0.0 , 0.0 ) ).rg );
+ float4 lerpResult63 = lerp( tex2DNode14 , tex2DNode60 , Fract113);
+ float4 temp_cast_12 = (_NoisespeedXYNoisepowerZGlowpowerW.w).xxxx;
+ float4 temp_cast_13 = (10000.0).xxxx;
+ float4 clampResult132 = clamp( ( _GlowColor * Emission57 * pow( abs( lerpResult63 ) , temp_cast_12 ) ) , float4( 0,0,0,0 ) , temp_cast_13 );
+ float lerpResult65 = lerp( tex2DNode14.a , tex2DNode60.a , Fract113);
+ float4 appendResult136 = (float4(( ( clampResult132 + lerpResult63 ) * _Color * i.color * _FinalEmission ).rgb , ( ( lerpResult65 * _Color.a * i.color.a ) * _Opacity )));
+
+
+ fixed4 col = appendResult136;
+ UNITY_APPLY_FOG(i.fogCoord, col);
+ return col;
+ }
+ ENDCG
+ }
+ }
+ }
+
+
+
+}
+/*ASEBEGIN
+Version=17000
+7;29;1906;1004;2518.312;587.7371;1.915742;True;False
+Node;AmplifyShaderEditor.CommentaryNode;130;-4097.669,-692.5529;Float;False;1464.114;475.897;Add some distortion to smoke texture;11;3;104;1;2;4;5;7;9;57;30;129;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;3;-3563.88,-637.6884;Float;False;0;7;4;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.CommentaryNode;128;-4113.345,-177.4462;Float;False;2004.502;997.3094;Sequence Motion;20;68;12;105;89;76;75;107;94;92;95;54;113;102;93;103;99;119;106;91;100;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;104;-3270.074,-566.9968;Float;False;T;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.Vector4Node;30;-4047.669,-465.1935;Float;False;Property;_NoisespeedXYNoisepowerZGlowpowerW;Noise speed XY Noise power Z Glow power W;5;0;Create;True;0;0;False;0;0.314,0.427,0.001,4;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.GetLocalVarNode;105;-4063.344,69.96631;Float;False;104;T;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.DynamicAppendNode;1;-3710.976,-448.5145;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.Vector4Node;75;-3781.37,423.3419;Float;False;Property;_TilingXY;Tiling XY;8;0;Create;True;0;0;False;0;8,8,0,0;8,8,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SimpleTimeNode;2;-3737.947,-515.9386;Float;False;1;0;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.FloorOpNode;89;-3852.499,665.8519;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;76;-3829.952,304.9428;Float;False;0;59;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.TFHCFlipBookUVAnimation;107;-3471.058,407.8905;Float;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
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;4;-3480.89,-468.1634;Float;False;2;2;0;FLOAT;0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.FractNode;92;-3832.93,70.94185;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;94;-3377.297,253.5844;Float;False;Property;_MotionAmount;MotionAmount;9;0;Create;True;0;0;False;0;0.001;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;102;-3676.005,668.168;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;95;-3082.169,330.9825;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;-1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;113;-3058.5,-9.40364;Float;False;Fract;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SamplerNode;54;-3091.831,76.12077;Float;True;Property;_MotionVector;MotionVector;6;0;Create;True;0;0;False;0;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.SimpleAddOpNode;5;-3271.588,-488.5103;Float;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT2;0,0;False;1;FLOAT4;0
+Node;AmplifyShaderEditor.TFHCFlipBookUVAnimation;103;-3468.042,594.863;Float;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
+Node;AmplifyShaderEditor.SimpleAddOpNode;99;-2747.617,58.88704;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;-1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SamplerNode;7;-3127.459,-485.8347;Float;True;Property;_Noise;Noise;0;0;Create;True;0;0;False;0;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.TFHCRemapNode;93;-2770.184,194.9624;Float;False;5;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;1,1,1,1;False;3;COLOR;0,0,0,0;False;4;COLOR;1,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;100;-2528.97,174.2508;Float;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;91;-2549.433,-56.81462;Float;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;9;-2802.555,-467.8086;Float;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.WireNode;119;-2614.76,375.4799;Float;False;1;0;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.WireNode;106;-2630.997,509.0002;Float;False;1;0;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TexturePropertyNode;59;-2314.822,-429.6734;Float;True;Property;_MainTex;MainTex;7;0;Create;True;0;0;False;0;1279422b5d9799842bf3006b54b27214;1279422b5d9799842bf3006b54b27214;False;white;Auto;Texture2D;0;1;SAMPLER2D;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;68;-2263.843,162.2813;Float;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT2;0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;12;-2268.99,-127.4462;Float;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT2;0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.GetLocalVarNode;114;-1895.344,-28.77689;Float;False;113;Fract;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SamplerNode;14;-1989.088,-219.7894;Float;True;Property;_sg;sg;0;0;Create;True;0;0;False;0;1279422b5d9799842bf3006b54b27214;1279422b5d9799842bf3006b54b27214;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.SamplerNode;60;-1996.264,48.83716;Float;True;Property;_TextureSample0;Texture Sample 0;0;0;Create;True;0;0;False;0;1279422b5d9799842bf3006b54b27214;1279422b5d9799842bf3006b54b27214;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.CommentaryNode;134;-1493.765,-591.5585;Float;False;757.167;421.8759;Make fire color brighter;7;58;31;22;131;19;133;132;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.LerpOp;63;-1623.175,-76.8437;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0.5;False;1;COLOR;0
+Node;AmplifyShaderEditor.WireNode;129;-3125.216,-271.9521;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;57;-3270.566,-642.5529;Float;False;Emission;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.AbsOpNode;131;-1408.701,-307.0374;Float;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ColorNode;31;-1443.765,-541.5585;Float;False;Property;_GlowColor;Glow Color;3;0;Create;True;0;0;False;0;1,1,0,1;1,1,0,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.PowerNode;19;-1288.673,-305.8751;Float;False;2;0;COLOR;0,0,0,0;False;1;FLOAT;4;False;1;COLOR;0
+Node;AmplifyShaderEditor.GetLocalVarNode;58;-1422.781,-377.8625;Float;False;57;Emission;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;133;-1115.206,-284.869;Float;False;Constant;_Float0;Float 0;13;0;Create;True;0;0;False;0;10000;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;22;-1111.88,-467.8062;Float;False;3;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ClampOpNode;132;-911.598,-325.6826;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;10000,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.VertexColorNode;17;-1858.125,423.5552;Float;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ColorNode;16;-1916.124,253.5551;Float;False;Property;_Color;Color;2;0;Create;True;0;0;False;0;1,1,1,1;0.5,0.5,0.5,1;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.LerpOp;65;-1623.395,84.79343;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0.5;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;27;-685.7427,-143.0471;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.RangedFloatNode;24;-999.3977,387.8671;Float;False;Property;_Opacity;Opacity;4;0;Create;True;0;0;False;0;1;1;0;1;0;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;21;-884.2829,218.7032;Float;False;3;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;26;-766.4157,81.56993;Float;False;Property;_FinalEmission;Final Emission;1;0;Create;True;0;0;False;0;1;2;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;29;-663.315,218.4495;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;28;-531.0883,-106.9828;Float;False;4;4;0;COLOR;1,1,1,1;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.DynamicAppendNode;136;-274.0238,-108.6356;Float;False;FLOAT4;4;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
+Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;135;16.64722,-109.1369;Float;False;True;2;Float;;0;11;Hovl/Particles/Explosion;0b6a9f8b4f707c74ca64c0be8e590de0;True;SubShader 0 Pass 0;0;0;SubShader 0 Pass 0;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;False;0;False;-1;False;True;2;False;-1;True;3;False;-1;False;True;4;Queue=Transparent=Queue=0;IgnoreProjector=True;RenderType=Transparent=RenderType;PreviewType=Plane;False;0;False;False;False;False;False;False;False;False;False;False;True;0;0;;0;0;Standard;0;0;1;True;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;0
+WireConnection;104;0;3;4
+WireConnection;1;0;30;1
+WireConnection;1;1;30;2
+WireConnection;89;0;105;0
+WireConnection;107;0;76;0
+WireConnection;107;1;75;1
+WireConnection;107;2;75;2
+WireConnection;107;4;89;0
+WireConnection;4;0;2;0
+WireConnection;4;1;1;0
+WireConnection;92;0;105;0
+WireConnection;102;0;89;0
+WireConnection;95;0;94;0
+WireConnection;113;0;92;0
+WireConnection;54;1;107;0
+WireConnection;5;0;3;0
+WireConnection;5;1;4;0
+WireConnection;103;0;76;0
+WireConnection;103;1;75;1
+WireConnection;103;2;75;2
+WireConnection;103;4;102;0
+WireConnection;99;0;113;0
+WireConnection;7;1;5;0
+WireConnection;93;0;54;0
+WireConnection;93;3;94;0
+WireConnection;93;4;95;0
+WireConnection;100;0;99;0
+WireConnection;100;1;93;0
+WireConnection;91;0;113;0
+WireConnection;91;1;93;0
+WireConnection;9;0;7;0
+WireConnection;9;1;30;3
+WireConnection;119;0;107;0
+WireConnection;106;0;103;0
+WireConnection;68;0;9;0
+WireConnection;68;1;100;0
+WireConnection;68;2;106;0
+WireConnection;12;0;9;0
+WireConnection;12;1;91;0
+WireConnection;12;2;119;0
+WireConnection;14;0;59;0
+WireConnection;14;1;12;0
+WireConnection;60;0;59;0
+WireConnection;60;1;68;0
+WireConnection;63;0;14;0
+WireConnection;63;1;60;0
+WireConnection;63;2;114;0
+WireConnection;129;0;30;4
+WireConnection;57;0;3;3
+WireConnection;131;0;63;0
+WireConnection;19;0;131;0
+WireConnection;19;1;129;0
+WireConnection;22;0;31;0
+WireConnection;22;1;58;0
+WireConnection;22;2;19;0
+WireConnection;132;0;22;0
+WireConnection;132;2;133;0
+WireConnection;65;0;14;4
+WireConnection;65;1;60;4
+WireConnection;65;2;114;0
+WireConnection;27;0;132;0
+WireConnection;27;1;63;0
+WireConnection;21;0;65;0
+WireConnection;21;1;16;4
+WireConnection;21;2;17;4
+WireConnection;29;0;21;0
+WireConnection;29;1;24;0
+WireConnection;28;0;27;0
+WireConnection;28;1;16;0
+WireConnection;28;2;17;0
+WireConnection;28;3;26;0
+WireConnection;136;0;28;0
+WireConnection;136;3;29;0
+WireConnection;135;0;136;0
+ASEEND*/
+//CHKSM=B4CA10D76F8C775E68F9990E516A6ADE525C21AB \ No newline at end of file
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Explosion.shader.meta b/Assets/Art/Vfx/Sword slash VFX/Shaders/Explosion.shader.meta
new file mode 100644
index 00000000..abd21b5e
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Explosion.shader.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9fe369639c8078e4baabb30604c81ab5
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures:
+ - _Noise: {instanceID: 0}
+ - _MotionVector: {instanceID: 0}
+ - _MainTex: {instanceID: 0}
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Ice.shader b/Assets/Art/Vfx/Sword slash VFX/Shaders/Ice.shader
new file mode 100644
index 00000000..13709544
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Ice.shader
@@ -0,0 +1,193 @@
+// Made with Amplify Shader Editor
+// Available at the Unity Asset Store - http://u3d.as/y3X
+Shader "Hovl/Particles/Ice"
+{
+ Properties
+ {
+ _MainTex("Main Tex", 2D) = "white" {}
+ _Color("Color", Color) = (0.02352941,0.2055747,1,1)
+ _UpColor("Up Color", Color) = (0.4575472,0.7381514,1,1)
+ _ColorPosition("Color Position", Range( 0 , 1)) = 0.35
+ _Emission("Emission", Float) = 1
+ [HDR]_FresnelColor("Fresnel Color", Color) = (1,1,1,1)
+ _FresnelPower("Fresnel Power", Float) = 6
+ _FresnelScale("Fresnel Scale", Float) = 1
+ [HideInInspector] _texcoord( "", 2D ) = "white" {}
+ [HideInInspector] __dirty( "", Int ) = 1
+ }
+
+ SubShader
+ {
+ Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" }
+ Cull Back
+ CGINCLUDE
+ #include "UnityPBSLighting.cginc"
+ #include "Lighting.cginc"
+ #pragma target 3.0
+ struct Input
+ {
+ float2 uv_texcoord;
+ float3 worldNormal;
+ float3 worldPos;
+ float4 vertexColor : COLOR;
+ };
+
+ uniform sampler2D _MainTex;
+ uniform float4 _MainTex_ST;
+ uniform float4 _Color;
+ uniform float4 _UpColor;
+ uniform float _ColorPosition;
+ uniform float _FresnelScale;
+ uniform float _FresnelPower;
+ uniform float4 _FresnelColor;
+ uniform float _Emission;
+
+ void surf( Input i , inout SurfaceOutput o )
+ {
+ float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
+ float3 ase_worldNormal = i.worldNormal;
+ float3 ase_vertexNormal = mul( unity_WorldToObject, float4( ase_worldNormal, 0 ) );
+ float4 lerpResult9 = lerp( _Color , _UpColor , saturate( ( ase_vertexNormal.y + (-1.0 + (_ColorPosition - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) ));
+ float3 ase_worldPos = i.worldPos;
+ float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
+ float fresnelNdotV1 = dot( ase_worldNormal, ase_worldViewDir );
+ float fresnelNode1 = ( 0.0 + _FresnelScale * pow( 1.0 - fresnelNdotV1, _FresnelPower ) );
+ float temp_output_49_0 = saturate( fresnelNode1 );
+ float4 temp_output_22_0 = ( ( ( tex2D( _MainTex, uv_MainTex ) * lerpResult9 * ( 1.0 - temp_output_49_0 ) ) + ( temp_output_49_0 * _FresnelColor ) ) * i.vertexColor );
+ o.Albedo = temp_output_22_0.rgb;
+ o.Emission = ( temp_output_22_0 * _Emission ).rgb;
+ o.Alpha = i.vertexColor.a;
+ }
+
+ ENDCG
+ CGPROGRAM
+ #pragma surface surf Lambert alpha:fade keepalpha fullforwardshadows noshadow
+
+ ENDCG
+ Pass
+ {
+ Name "ShadowCaster"
+ Tags{ "LightMode" = "ShadowCaster" }
+ ZWrite On
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma target 3.0
+ #pragma multi_compile_shadowcaster
+ #pragma multi_compile UNITY_PASS_SHADOWCASTER
+ #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
+ #include "HLSLSupport.cginc"
+ #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
+ #define CAN_SKIP_VPOS
+ #endif
+ #include "UnityCG.cginc"
+ #include "Lighting.cginc"
+ #include "UnityPBSLighting.cginc"
+ sampler3D _DitherMaskLOD;
+ struct v2f
+ {
+ V2F_SHADOW_CASTER;
+ float2 customPack1 : TEXCOORD1;
+ float3 worldPos : TEXCOORD2;
+ float3 worldNormal : TEXCOORD3;
+ half4 color : COLOR0;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ };
+ v2f vert( appdata_full v )
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID( v );
+ UNITY_INITIALIZE_OUTPUT( v2f, o );
+ UNITY_TRANSFER_INSTANCE_ID( v, o );
+ Input customInputData;
+ float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
+ half3 worldNormal = UnityObjectToWorldNormal( v.normal );
+ o.worldNormal = worldNormal;
+ o.customPack1.xy = customInputData.uv_texcoord;
+ o.customPack1.xy = v.texcoord;
+ o.worldPos = worldPos;
+ TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
+ o.color = v.color;
+ return o;
+ }
+ half4 frag( v2f IN) : SV_Target
+ {
+ UNITY_SETUP_INSTANCE_ID( IN );
+ Input surfIN;
+ UNITY_INITIALIZE_OUTPUT( Input, surfIN );
+ surfIN.uv_texcoord = IN.customPack1.xy;
+ float3 worldPos = IN.worldPos;
+ half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
+ surfIN.worldPos = worldPos;
+ surfIN.worldNormal = IN.worldNormal;
+ surfIN.vertexColor = IN.color;
+ SurfaceOutput o;
+ UNITY_INITIALIZE_OUTPUT( SurfaceOutput, o )
+ surf( surfIN, o );
+ #if defined( CAN_SKIP_VPOS )
+ float2 vpos = IN.pos;
+ #endif
+ half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a;
+ clip( alphaRef - 0.01 );
+ SHADOW_CASTER_FRAGMENT( IN )
+ }
+ ENDCG
+ }
+ }
+ Fallback "Diffuse"
+}
+/*ASEBEGIN
+Version=16800
+472;260;1307;708;2207.37;806.9595;2.601362;True;False
+Node;AmplifyShaderEditor.RangedFloatNode;12;-1419.196,89.45203;Float;False;Property;_ColorPosition;Color Position;3;0;Create;True;0;0;False;0;0.35;0.35;0;1;0;1;FLOAT;0
+Node;AmplifyShaderEditor.NormalVertexDataNode;36;-1128.806,-59.0783;Float;False;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.RangedFloatNode;19;-1134.528,358.6681;Float;False;Property;_FresnelPower;Fresnel Power;6;0;Create;True;0;0;False;0;6;1;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;18;-1128.18,282.2344;Float;False;Property;_FresnelScale;Fresnel Scale;7;0;Create;True;0;0;False;0;1;6;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.TFHCRemapNode;13;-1138.538,93.74537;Float;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;-1;False;4;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;14;-909.3104,5.574037;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.FresnelNode;1;-946.2626,238.8452;Float;False;Standard;WorldNormal;ViewDir;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;3;False;3;FLOAT;10;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SaturateNode;49;-695.7538,153.8804;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SaturateNode;50;-732.5668,7.386911;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ColorNode;4;-852.0582,-352.2737;Float;False;Property;_Color;Color;1;0;Create;True;0;0;False;0;0.02352941,0.2055747,1,1;0.02352941,0.2055747,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ColorNode;10;-841.7653,-185.6277;Float;False;Property;_UpColor;Up Color;2;0;Create;True;0;0;False;0;0.4575472,0.7381514,1,1;0.4575472,0.7381514,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.LerpOp;9;-525.8378,-36.47785;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ColorNode;3;-690.6082,240.8396;Float;False;Property;_FresnelColor;Fresnel Color;5;1;[HDR];Create;True;0;0;False;0;1,1,1,1;1,1,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;48;-530.2949,77.13261;Float;False;2;0;FLOAT;1;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SamplerNode;38;-894.3182,-559.7097;Float;True;Property;_MainTex;Main Tex;0;0;Create;True;0;0;False;0;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.SimpleMultiplyOpNode;2;-351.351,157.6775;Float;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;37;-343.9689,-58.87302;Float;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.VertexColorNode;23;-658.9435,426.0627;Float;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.WireNode;51;-142.5839,237.4695;Float;False;1;0;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;6;-157.4875,-6.303779;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.RangedFloatNode;21;28.31375,172.1849;Float;False;Property;_Emission;Emission;4;0;Create;True;0;0;False;0;1;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;22;15.77605,-9.707672;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;20;200.7058,77.83524;Float;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.StandardSurfaceOutputNode;17;381.9216,-22.00584;Float;False;True;2;Float;;0;0;Lambert;Hovl/Particles/Ice;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;All;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;False;2;5;False;-1;10;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
+WireConnection;13;0;12;0
+WireConnection;14;0;36;2
+WireConnection;14;1;13;0
+WireConnection;1;2;18;0
+WireConnection;1;3;19;0
+WireConnection;49;0;1;0
+WireConnection;50;0;14;0
+WireConnection;9;0;4;0
+WireConnection;9;1;10;0
+WireConnection;9;2;50;0
+WireConnection;48;1;49;0
+WireConnection;2;0;49;0
+WireConnection;2;1;3;0
+WireConnection;37;0;38;0
+WireConnection;37;1;9;0
+WireConnection;37;2;48;0
+WireConnection;51;0;23;0
+WireConnection;6;0;37;0
+WireConnection;6;1;2;0
+WireConnection;22;0;6;0
+WireConnection;22;1;51;0
+WireConnection;20;0;22;0
+WireConnection;20;1;21;0
+WireConnection;17;0;22;0
+WireConnection;17;2;20;0
+WireConnection;17;9;23;4
+ASEEND*/
+//CHKSM=35F30C205BEFC5EC96890C7BEDEDA12222E80165 \ No newline at end of file
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Ice.shader.meta b/Assets/Art/Vfx/Sword slash VFX/Shaders/Ice.shader.meta
new file mode 100644
index 00000000..7d23c1e6
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Ice.shader.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: e52f9f0dc7121e64baa4b3c726594e61
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures: []
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Scroll.shader b/Assets/Art/Vfx/Sword slash VFX/Shaders/Scroll.shader
new file mode 100644
index 00000000..7a920e65
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Scroll.shader
@@ -0,0 +1,313 @@
+Shader "Hovl/Particles/Scroll"
+{
+ Properties
+ {
+ _MainTex("MainTex", 2D) = "white" {}
+ _Noise("Noise", 2D) = "white" {}
+ _Flow("Flow", 2D) = "white" {}
+ _Mask("Mask", 2D) = "white" {}
+ _SpeedMainTexUVNoiseZW("Speed MainTex U/V + Noise Z/W", Vector) = (0,0,0,0)
+ _DistortionSpeedXYPowerZ("Distortion Speed XY Power Z", Vector) = (0,0,0,0)
+ _Emission("Emission", Float) = 2
+ _Color("Color", Color) = (0.5,0.5,0.5,1)
+ _Opacity("Opacity", Range( 0 , 1)) = 1
+ _PathSet0ifyouuseinPS("Path(Set 0 if you use in PS)", Range( 0 , 1)) = 0
+ _Noisedistortpower("Noise distort power", Float) = 1
+ [Toggle]_UsePScustomdataW("Use PS custom data W", Float) = 1
+ [MaterialToggle] _Usedepth ("Use depth?", Float ) = 0
+ _InvFade ("Soft Particles Factor", Range(0.01,3.0)) = 1.0
+ [HideInInspector] _texcoord( "", 2D ) = "white" {}
+ }
+
+ Category
+ {
+ SubShader
+ {
+ Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
+ Blend SrcAlpha OneMinusSrcAlpha
+ ColorMask RGB
+ Cull Off
+ Lighting Off
+ ZWrite Off
+ ZTest LEqual
+
+ Pass {
+
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma target 2.0
+ #pragma multi_compile_particles
+ #pragma multi_compile_fog
+ #include "UnityShaderVariables.cginc"
+ #include "UnityCG.cginc"
+
+ struct appdata_t
+ {
+ float4 vertex : POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_FOG_COORDS(1)
+ #ifdef SOFTPARTICLES_ON
+ float4 projPos : TEXCOORD2;
+ #endif
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ UNITY_VERTEX_OUTPUT_STEREO
+
+ };
+
+ #if UNITY_VERSION >= 560
+ UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture );
+ #else
+ uniform sampler2D_float _CameraDepthTexture;
+ #endif
+
+ //Don't delete this comment
+ // uniform sampler2D_float _CameraDepthTexture;
+
+ uniform sampler2D _MainTex;
+ uniform fixed4 _TintColor;
+ uniform float4 _MainTex_ST;
+ uniform float _InvFade;
+ uniform float4 _SpeedMainTexUVNoiseZW;
+ uniform sampler2D _Flow;
+ uniform float4 _DistortionSpeedXYPowerZ;
+ uniform float4 _Flow_ST;
+ uniform sampler2D _Noise;
+ uniform float4 _Noise_ST;
+ uniform float _PathSet0ifyouuseinPS;
+ uniform float4 _Color;
+ uniform float _Emission;
+ uniform float _Noisedistortpower;
+ uniform float _UsePScustomdataW;
+ uniform float _Opacity;
+ uniform sampler2D _Mask;
+ uniform float4 _Mask_ST;
+ uniform fixed _Usedepth;
+
+ v2f vert ( appdata_t v )
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ UNITY_TRANSFER_INSTANCE_ID(v, o);
+
+ v.vertex.xyz += float3( 0, 0, 0 ) ;
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ #ifdef SOFTPARTICLES_ON
+ o.projPos = ComputeScreenPos (o.vertex);
+ COMPUTE_EYEDEPTH(o.projPos.z);
+ #endif
+ o.color = v.color;
+ o.texcoord = v.texcoord;
+ UNITY_TRANSFER_FOG(o,o.vertex);
+ return o;
+ }
+
+ fixed4 frag ( v2f i ) : SV_Target
+ {
+ float lp = 1;
+ #ifdef SOFTPARTICLES_ON
+ float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
+ float partZ = i.projPos.z;
+ float fade = saturate (_InvFade * (sceneZ-partZ));
+ lp *= lerp(1, fade, _Usedepth);
+ i.color.a *= lp;
+ #endif
+
+ float2 appendResult13 = (float2(_SpeedMainTexUVNoiseZW.x , _SpeedMainTexUVNoiseZW.y));
+ float2 uv0_MainTex = i.texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw;
+ float2 panner21 = ( 1.0 * _Time.y * appendResult13 + uv0_MainTex);
+ float2 appendResult4 = (float2(_DistortionSpeedXYPowerZ.x , _DistortionSpeedXYPowerZ.y));
+ float4 uv0_Flow = i.texcoord;
+ uv0_Flow.xy = i.texcoord.xy * _Flow_ST.xy + _Flow_ST.zw;
+ float2 panner6 = ( 1.0 * _Time.y * appendResult4 + (uv0_Flow).xy);
+ float Flowpower11 = _DistortionSpeedXYPowerZ.z;
+ float2 temp_output_18_0 = ( (tex2D( _Flow, panner6 )).rg * Flowpower11 );
+ float2 appendResult17 = (float2(_SpeedMainTexUVNoiseZW.z , _SpeedMainTexUVNoiseZW.w));
+ float2 uv0_Noise = i.texcoord.xy * _Noise_ST.xy + _Noise_ST.zw;
+ float2 panner22 = ( 1.0 * _Time.y * appendResult17 + uv0_Noise);
+ float W113 = uv0_Flow.z;
+ float2 appendResult147 = (float2((panner22).x , (0.0 + ((panner22).y - ( _PathSet0ifyouuseinPS + W113 )) * (1.0 - 0.0) / (1.0 - ( _PathSet0ifyouuseinPS + W113 )))));
+ float4 tex2DNode26 = tex2D( _Noise, ( appendResult147 - temp_output_18_0 ) );
+ float4 temp_cast_0 = (0.1).xxxx;
+ float4 clampResult58 = clamp( ( tex2DNode26 - temp_cast_0 ) , float4( 0,0,0,0 ) , float4( 1,1,1,1 ) );
+ float2 uv093 = i.texcoord.xy * float2( 1,1 ) + float2( 0,0 );
+ float clampResult115 = clamp( ( 1.0 - pow( ( 1.0 - uv093.y ) , 40.0 ) ) , 0.0 , 1.0 );
+ float clampResult57 = clamp( ( tex2DNode26.a - 0.1 ) , 0.0 , 1.0 );
+ float TT130 = uv0_Flow.w;
+ float clampResult133 = clamp( TT130 , 0.0 , 1.0 );
+ float clampResult48 = clamp( pow( clampResult57 , ( _Noisedistortpower + lerp(0.0,(0.0 + (clampResult133 - 0.0) * (10.0 - 0.0) / (1.0 - 0.0)),_UsePScustomdataW) ) ) , 0.0 , 1.0 );
+ float4 _Vector0 = float4(0,1,-2,5);
+ float clampResult49 = clamp( (_Vector0.z + (clampResult48 - _Vector0.x) * (_Vector0.w - _Vector0.z) / (_Vector0.y - _Vector0.x)) , 0.0 , 1.0 );
+ float2 uv_Mask = i.texcoord.xy * _Mask_ST.xy + _Mask_ST.zw;
+ float4 appendResult40 = (float4(( (( tex2D( _MainTex, ( panner21 - temp_output_18_0 ) ) * clampResult58 * _Color * i.color * clampResult115 )).rgb * _Emission ) , ( ( clampResult49 * clampResult115 ) * _Color.a * i.color.a * _Opacity * tex2D( _Mask, uv_Mask ).a )));
+
+ fixed4 col = appendResult40;
+ UNITY_APPLY_FOG(i.fogCoord, col);
+ return col;
+ }
+ ENDCG
+ }
+ }
+ }
+}
+/*ASEBEGIN
+Version=17000
+204;92;886;655;3977.575;637.5205;2.263846;True;False
+Node;AmplifyShaderEditor.CommentaryNode;148;-3832.236,581.5789;Float;False;1583.562;520.7532;Texture distortion;12;14;16;18;2;3;4;5;113;6;8;11;130;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.CommentaryNode;9;-3860.321,-462.1631;Float;False;1037.896;533.6285;Textures movement;7;22;21;19;17;15;13;10;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.Vector4Node;10;-3810.321,-233.1204;Float;False;Property;_SpeedMainTexUVNoiseZW;Speed MainTex U/V + Noise Z/W;4;0;Create;True;0;0;False;0;0,0,0,0;0,1,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.Vector4Node;2;-3782.236,684.564;Float;False;Property;_DistortionSpeedXYPowerZ;Distortion Speed XY Power Z;5;0;Create;True;0;0;False;0;0,0,0,0;0,0.5,0.4,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.TextureCoordinatesNode;3;-3727.586,879.468;Float;False;0;8;4;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.DynamicAppendNode;17;-3225.773,-61.53451;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;19;-3320.909,-186.76;Float;False;0;26;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.DynamicAppendNode;4;-3349.425,719.585;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;113;-3368.596,915.8895;Float;False;W;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ComponentMaskNode;5;-3397.546,631.5789;Float;False;True;True;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.PannerNode;22;-3036.289,-153.3571;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.GetLocalVarNode;114;-2911.905,348.8269;Float;False;113;W;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;94;-3009.954,269.9953;Float;False;Property;_PathSet0ifyouuseinPS;Path(Set 0 if you use in PS);9;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0
+Node;AmplifyShaderEditor.PannerNode;6;-3153.139,661.6124;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;11;-3370.888,813.1251;Float;False;Flowpower;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SamplerNode;8;-2966.881,633.0593;Float;True;Property;_Flow;Flow;2;0;Create;True;0;0;False;0;2d2569483a93cff42a128d794be03e25;04a40b50e9e63ed43af8af28f2ba4f86;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.ComponentMaskNode;145;-2739.669,210.1873;Float;False;False;True;False;False;1;0;FLOAT2;0,0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;117;-2697.622,280.0678;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.TFHCRemapNode;144;-2524.128,223.7823;Float;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ComponentMaskNode;146;-2530.645,145.0207;Float;False;True;False;False;False;1;0;FLOAT2;0,0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;130;-3373.79,987.3322;Float;False;TT;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ComponentMaskNode;14;-2655.628,636.8116;Float;False;True;True;False;False;1;0;COLOR;0,0,0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.GetLocalVarNode;16;-2650.772,724.1374;Float;False;11;Flowpower;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.GetLocalVarNode;131;-2046.871,698.9725;Float;False;130;TT;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;18;-2417.674,637.712;Float;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.DynamicAppendNode;147;-2303.147,188.3481;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;1;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.ClampOpNode;133;-1851.05,704.2316;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;41;-2040.186,189.8058;Float;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SamplerNode;26;-1846.326,58.1031;Float;True;Property;_Noise;Noise;1;0;Create;True;0;0;False;0;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.TFHCRemapNode;136;-1686.811,704.1088;Float;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;10;False;1;FLOAT;0
+Node;AmplifyShaderEditor.CommentaryNode;137;-1727.876,948.4697;Float;False;981.1573;251.4055;Smooth gradient;5;93;124;111;125;115;;1,1,1,1;0;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;51;-1177.099,375.468;Float;False;2;0;FLOAT;0;False;1;FLOAT;0.1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ToggleSwitchNode;143;-1481.194,675.7449;Float;False;Property;_UsePScustomdataW;Use PS custom data W;11;0;Create;True;0;0;False;0;1;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;45;-1231.297,492.8675;Float;False;Property;_Noisedistortpower;Noise distort power;10;0;Create;True;0;0;False;0;1;2;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;93;-1677.876,998.4697;Float;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.OneMinusNode;124;-1435.35,1043.038;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ClampOpNode;57;-1013.703,382.2813;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.DynamicAppendNode;13;-3237.552,-284.898;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.TextureCoordinatesNode;15;-3313.759,-412.1631;Float;False;0;27;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.SimpleAddOpNode;135;-987.7557,496.3241;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.PowerNode;43;-844.0231,389.0872;Float;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;120;-1516.792,131.5289;Float;False;Constant;_01;0.1;12;0;Create;True;0;0;False;0;0.1;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.PannerNode;21;-3029.426,-371.2292;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.PowerNode;111;-1263.131,1044.239;Float;False;2;0;FLOAT;0;False;1;FLOAT;40;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;56;-1350.569,56.84396;Float;False;2;0;COLOR;0,0,0,0;False;1;FLOAT;0.2;False;1;COLOR;0
+Node;AmplifyShaderEditor.ClampOpNode;48;-685.9332,389.5527;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.OneMinusNode;125;-1102.236,1045.929;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleSubtractOpNode;23;-2031.431,-102.8944;Float;False;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.Vector4Node;47;-499.1326,453.6958;Float;False;Constant;_Vector0;Vector 0;11;0;Create;True;0;0;False;0;0,1,-2,5;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.TFHCRemapNode;42;-250.1441,393.5109;Float;True;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;-4;False;4;FLOAT;7;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ClampOpNode;115;-921.7191,1043.875;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.VertexColorNode;29;-1712.359,424.9394;Float;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ColorNode;28;-1770.359,254.9394;Float;False;Property;_Color;Color;7;0;Create;True;0;0;False;0;0.5,0.5,0.5,1;1,1,1,1;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ClampOpNode;58;-1124.935,56.40707;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;1,1,1,1;False;1;COLOR;0
+Node;AmplifyShaderEditor.SamplerNode;27;-1847.238,-131.9327;Float;True;Property;_MainTex;MainTex;0;0;Create;True;0;0;False;0;2d2569483a93cff42a128d794be03e25;2d2569483a93cff42a128d794be03e25;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.ClampOpNode;49;74.55065,424.0493;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;30;-380.5268,68.4642;Float;False;5;5;0;COLOR;0,0,0,0;False;1;COLOR;1,1,1,1;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;FLOAT;0;False;1;COLOR;0
+Node;AmplifyShaderEditor.WireNode;129;-900.4711,656.2642;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ComponentMaskNode;32;-206.931,62.58289;Float;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.SamplerNode;7;79.95734,782.2888;Float;True;Property;_Mask;Mask;3;0;Create;True;0;0;False;0;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.WireNode;128;-1060.619,626.0744;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;35;98.02649,695.1618;Float;False;Property;_Opacity;Opacity;8;0;Create;True;0;0;False;0;1;1;0;1;0;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;36;-156.1111,164.702;Float;False;Property;_Emission;Emission;6;0;Create;True;0;0;False;0;2;1.2;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;116;274.7189,469.027;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;38;454.4367,511.9257;Float;False;5;5;0;FLOAT;0;False;1;FLOAT;1;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;39;4.139219,67.40697;Float;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.DynamicAppendNode;40;672.4033,199.4106;Float;False;FLOAT4;4;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
+Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;142;838.0772,201.5348;Float;False;True;2;Float;;0;11;ERB/Particles/Scroll;0b6a9f8b4f707c74ca64c0be8e590de0;True;SubShader 0 Pass 0;0;0;SubShader 0 Pass 0;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;False;0;False;-1;False;True;2;False;-1;True;3;False;-1;False;True;4;Queue=Transparent=Queue=0;IgnoreProjector=True;RenderType=Transparent=RenderType;PreviewType=Plane;False;0;False;False;False;False;False;False;False;False;False;False;True;0;0;;0;0;Standard;0;0;1;True;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;0
+WireConnection;17;0;10;3
+WireConnection;17;1;10;4
+WireConnection;4;0;2;1
+WireConnection;4;1;2;2
+WireConnection;113;0;3;3
+WireConnection;5;0;3;0
+WireConnection;22;0;19;0
+WireConnection;22;2;17;0
+WireConnection;6;0;5;0
+WireConnection;6;2;4;0
+WireConnection;11;0;2;3
+WireConnection;8;1;6;0
+WireConnection;145;0;22;0
+WireConnection;117;0;94;0
+WireConnection;117;1;114;0
+WireConnection;144;0;145;0
+WireConnection;144;1;117;0
+WireConnection;146;0;22;0
+WireConnection;130;0;3;4
+WireConnection;14;0;8;0
+WireConnection;18;0;14;0
+WireConnection;18;1;16;0
+WireConnection;147;0;146;0
+WireConnection;147;1;144;0
+WireConnection;133;0;131;0
+WireConnection;41;0;147;0
+WireConnection;41;1;18;0
+WireConnection;26;1;41;0
+WireConnection;136;0;133;0
+WireConnection;51;0;26;4
+WireConnection;143;1;136;0
+WireConnection;124;0;93;2
+WireConnection;57;0;51;0
+WireConnection;13;0;10;1
+WireConnection;13;1;10;2
+WireConnection;135;0;45;0
+WireConnection;135;1;143;0
+WireConnection;43;0;57;0
+WireConnection;43;1;135;0
+WireConnection;21;0;15;0
+WireConnection;21;2;13;0
+WireConnection;111;0;124;0
+WireConnection;56;0;26;0
+WireConnection;56;1;120;0
+WireConnection;48;0;43;0
+WireConnection;125;0;111;0
+WireConnection;23;0;21;0
+WireConnection;23;1;18;0
+WireConnection;42;0;48;0
+WireConnection;42;1;47;1
+WireConnection;42;2;47;2
+WireConnection;42;3;47;3
+WireConnection;42;4;47;4
+WireConnection;115;0;125;0
+WireConnection;58;0;56;0
+WireConnection;27;1;23;0
+WireConnection;49;0;42;0
+WireConnection;30;0;27;0
+WireConnection;30;1;58;0
+WireConnection;30;2;28;0
+WireConnection;30;3;29;0
+WireConnection;30;4;115;0
+WireConnection;129;0;29;4
+WireConnection;32;0;30;0
+WireConnection;128;0;28;4
+WireConnection;116;0;49;0
+WireConnection;116;1;115;0
+WireConnection;38;0;116;0
+WireConnection;38;1;128;0
+WireConnection;38;2;129;0
+WireConnection;38;3;35;0
+WireConnection;38;4;7;4
+WireConnection;39;0;32;0
+WireConnection;39;1;36;0
+WireConnection;40;0;39;0
+WireConnection;40;3;38;0
+WireConnection;142;0;40;0
+ASEEND*/
+//CHKSM=6D671574CEE9E2FA8619FED22F9D6689228C832F \ No newline at end of file
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/Scroll.shader.meta b/Assets/Art/Vfx/Sword slash VFX/Shaders/Scroll.shader.meta
new file mode 100644
index 00000000..ea8c0014
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/Scroll.shader.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2ba3ea62053e4584fb5f829f88027c3a
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures:
+ - _MainTex: {fileID: 2800000, guid: 2d2569483a93cff42a128d794be03e25, type: 3}
+ - _Flow: {fileID: 2800000, guid: 2d2569483a93cff42a128d794be03e25, type: 3}
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/SwordSlash.shader b/Assets/Art/Vfx/Sword slash VFX/Shaders/SwordSlash.shader
new file mode 100644
index 00000000..7b87c65f
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/SwordSlash.shader
@@ -0,0 +1,280 @@
+Shader "Hovl/Particles/SwordSlash"
+{
+ Properties
+ {
+ _InvFade ("Soft Particles Factor", Range(0.01,3.0)) = 1.0
+ _MainTexture("MainTexture", 2D) = "white" {}
+ _EmissionTex("EmissionTex", 2D) = "white" {}
+ _Opacity("Opacity", Float) = 20
+ _Dissolve("Dissolve", 2D) = "white" {}
+ _SpeedMainTexUVNoiseZW("Speed MainTex U/V + Noise Z/W", Vector) = (0,0,0,0)
+ _Emission("Emission", Float) = 5
+ _Remap("Remap", Vector) = (-2,1,0,0)
+ _AddColor("Add Color", Color) = (0,0,0,0)
+ _Desaturation("Desaturation", Float) = 0
+ [HideInInspector] _texcoord( "", 2D ) = "white" {}
+ _InvFade ("Soft Particles Factor", Range(0.01,3.0)) = 1.0
+ [MaterialToggle] _Usedepth ("Use depth?", Float ) = 0
+ }
+
+ Category
+ {
+ SubShader
+ {
+ Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" }
+ Blend SrcAlpha OneMinusSrcAlpha
+ ColorMask RGB
+ Cull Off
+ Lighting Off
+ ZWrite Off
+ ZTest LEqual
+
+ Pass {
+ CGPROGRAM
+ #pragma vertex vert
+ #pragma fragment frag
+ #pragma target 2.0
+ #pragma multi_compile_particles
+ #pragma multi_compile_fog
+ #include "UnityShaderVariables.cginc"
+ #include "UnityCG.cginc"
+
+ struct appdata_t
+ {
+ float4 vertex : POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ float4 ase_texcoord1 : TEXCOORD1;
+ };
+
+ struct v2f
+ {
+ float4 vertex : SV_POSITION;
+ fixed4 color : COLOR;
+ float4 texcoord : TEXCOORD0;
+ UNITY_FOG_COORDS(1)
+ #ifdef SOFTPARTICLES_ON
+ float4 projPos : TEXCOORD2;
+ #endif
+ UNITY_VERTEX_INPUT_INSTANCE_ID
+ UNITY_VERTEX_OUTPUT_STEREO
+ float4 ase_texcoord3 : TEXCOORD3;
+ };
+
+ #if UNITY_VERSION >= 560
+ UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture );
+ #else
+ uniform sampler2D_float _CameraDepthTexture;
+ #endif
+
+ //Don't delete this comment
+ // uniform sampler2D_float _CameraDepthTexture;
+
+ uniform float4 _AddColor;
+ uniform float _Emission;
+ uniform sampler2D _EmissionTex;
+ uniform float4 _EmissionTex_ST;
+ uniform sampler2D _MainTexture;
+ uniform float4 _MainTexture_ST;
+ uniform float _Desaturation;
+ uniform float2 _Remap;
+ uniform float4 _SpeedMainTexUVNoiseZW;
+ uniform float _Opacity;
+ uniform sampler2D _Dissolve;
+ uniform float4 _Dissolve_ST;
+ uniform fixed _Usedepth;
+ uniform float _InvFade;
+
+ float3 HSVToRGB( float3 c )
+ {
+ float4 K = float4( 1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0 );
+ float3 p = abs( frac( c.xxx + K.xyz ) * 6.0 - K.www );
+ return c.z * lerp( K.xxx, saturate( p - K.xxx ), c.y );
+ }
+
+ float3 RGBToHSV(float3 c)
+ {
+ float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
+ float4 p = lerp( float4( c.bg, K.wz ), float4( c.gb, K.xy ), step( c.b, c.g ) );
+ float4 q = lerp( float4( p.xyw, c.r ), float4( c.r, p.yzx ), step( p.x, c.r ) );
+ float d = q.x - min( q.w, q.y );
+ float e = 1.0e-10;
+ return float3( abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
+ }
+
+ v2f vert ( appdata_t v )
+ {
+ v2f o;
+ UNITY_SETUP_INSTANCE_ID(v);
+ UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
+ UNITY_TRANSFER_INSTANCE_ID(v, o);
+ o.ase_texcoord3 = v.ase_texcoord1;
+
+ v.vertex.xyz += float3( 0, 0, 0 ) ;
+ o.vertex = UnityObjectToClipPos(v.vertex);
+ #ifdef SOFTPARTICLES_ON
+ o.projPos = ComputeScreenPos (o.vertex);
+ COMPUTE_EYEDEPTH(o.projPos.z);
+ #endif
+ o.color = v.color;
+ o.texcoord = v.texcoord;
+ UNITY_TRANSFER_FOG(o,o.vertex);
+ return o;
+ }
+
+ fixed4 frag ( v2f i ) : SV_Target
+ {
+ float lp = 1;
+ #ifdef SOFTPARTICLES_ON
+ float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)));
+ float partZ = i.projPos.z;
+ float fade = saturate ((sceneZ-partZ) / _InvFade);
+ lp *= lerp(1, fade, _Usedepth);
+ i.color.a *= lp;
+ #endif
+
+ float2 uv_EmissionTex = i.texcoord.xy * _EmissionTex_ST.xy + _EmissionTex_ST.zw;
+ float3 hsvTorgb46 = RGBToHSV( tex2D( _EmissionTex, uv_EmissionTex ).rgb );
+ float4 uv1_MainTexture = i.ase_texcoord3;
+ uv1_MainTexture.xy = i.ase_texcoord3.xy * _MainTexture_ST.xy + _MainTexture_ST.zw;
+ float3 hsvTorgb47 = HSVToRGB( float3(( hsvTorgb46.x + uv1_MainTexture.z ),hsvTorgb46.y,hsvTorgb46.z) );
+ float3 desaturateInitialColor42 = hsvTorgb47;
+ float desaturateDot42 = dot( desaturateInitialColor42, float3( 0.299, 0.587, 0.114 ));
+ float3 desaturateVar42 = lerp( desaturateInitialColor42, desaturateDot42.xxx, _Desaturation );
+ float2 _Vector2 = float2(0,1);
+ float3 temp_cast_1 = (_Vector2.x).xxx;
+ float3 temp_cast_2 = (_Vector2.y).xxx;
+ float3 temp_cast_3 = (_Remap.x).xxx;
+ float3 temp_cast_4 = (_Remap.y).xxx;
+ float3 clampResult37 = clamp( (temp_cast_3 + (desaturateVar42 - temp_cast_1) * (temp_cast_4 - temp_cast_3) / (temp_cast_2 - temp_cast_1)) , float3( 0,0,0 ) , float3( 1,1,1 ) );
+ float2 appendResult20 = (float2(_SpeedMainTexUVNoiseZW.x , _SpeedMainTexUVNoiseZW.y));
+ float2 panner31 = ( 1.0 * _Time.y * appendResult20 + uv1_MainTexture.xy);
+ float clampResult6 = clamp( ( tex2D( _MainTexture, panner31 ).a * _Opacity ) , 0.0 , 1.0 );
+ float2 appendResult21 = (float2(_SpeedMainTexUVNoiseZW.z , _SpeedMainTexUVNoiseZW.w));
+ float4 uv0_Dissolve = i.texcoord;
+ uv0_Dissolve.xy = i.texcoord.xy * _Dissolve_ST.xy + _Dissolve_ST.zw;
+ float2 panner9 = ( 1.0 * _Time.y * appendResult21 + uv0_Dissolve.xy);
+ float2 break55 = panner9;
+ float2 appendResult53 = (float2(break55.x , ( uv1_MainTexture.w + break55.y )));
+ float T27 = uv0_Dissolve.w;
+ float W18 = uv0_Dissolve.z;
+ float3 _Vector1 = float3(0.3,0,1);
+ float ifLocalVar23 = 0;
+ if( ( tex2D( _Dissolve, appendResult53 ).r * T27 ) >= W18 )
+ ifLocalVar23 = _Vector1.y;
+ else
+ ifLocalVar23 = _Vector1.z;
+ float4 appendResult3 = (float4(( ( _AddColor * i.color ) + ( _Emission * float4( clampResult37 , 0.0 ) * i.color ) ).rgb , ( i.color.a * clampResult6 * ifLocalVar23 )));
+
+
+ fixed4 col = appendResult3;
+ UNITY_APPLY_FOG(i.fogCoord, col);
+ return col;
+ }
+ ENDCG
+ }
+ }
+ }
+}
+/*ASEBEGIN
+Version=17000
+589;29;1019;1004;4284.379;1188.55;3.683183;True;False
+Node;AmplifyShaderEditor.Vector4Node;19;-3038.495,750.0502;Float;False;Property;_SpeedMainTexUVNoiseZW;Speed MainTex U/V + Noise Z/W;4;0;Create;True;0;0;False;0;0,0,0,0;0,1,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.TextureCoordinatesNode;10;-2541.637,789.6835;Float;False;0;22;4;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SamplerNode;36;-2194.33,-590.8586;Float;True;Property;_EmissionTex;EmissionTex;1;0;Create;True;0;0;False;0;776495090b22ebc49af55b62923f4a68;4de1419ac14d16d44b9c82b76ea6d884;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.DynamicAppendNode;21;-2453.951,948.5398;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.RGBToHSVNode;46;-1880.505,-584.6264;Float;True;1;0;FLOAT3;0,0,0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
+Node;AmplifyShaderEditor.TextureCoordinatesNode;30;-1994.317,122.2001;Float;False;1;2;4;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.PannerNode;9;-2145.37,922.066;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;48;-1593.059,-462.6141;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.BreakToComponentsNode;55;-1939.888,921.5516;Float;False;FLOAT2;1;0;FLOAT2;0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15
+Node;AmplifyShaderEditor.HSVToRGBNode;47;-1450.51,-559.5951;Float;True;3;0;FLOAT;1.13;False;1;FLOAT;0;False;2;FLOAT;0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
+Node;AmplifyShaderEditor.DynamicAppendNode;20;-2465.729,698.2727;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.RangedFloatNode;43;-1393.475,-288.961;Float;False;Property;_Desaturation;Desaturation;8;0;Create;True;0;0;False;0;0;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;51;-1627.507,851.8926;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;27;-2178.097,842.9198;Float;False;T;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.PannerNode;31;-1294.28,130.0098;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.DesaturateOpNode;42;-1171.636,-302.3656;Float;False;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.Vector2Node;38;-1164.232,-37.10035;Float;False;Property;_Remap;Remap;6;0;Create;True;0;0;False;0;-2,1;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
+Node;AmplifyShaderEditor.Vector2Node;50;-1162.205,-151.7991;Float;False;Constant;_Vector2;Vector 2;10;0;Create;True;0;0;False;0;0,1;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
+Node;AmplifyShaderEditor.DynamicAppendNode;53;-1441.06,915.2592;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
+Node;AmplifyShaderEditor.SamplerNode;22;-1297.647,889.1578;Float;True;Property;_Dissolve;Dissolve;3;0;Create;True;0;0;False;0;1eae6143ce30e2849b37136524e197f0;1eae6143ce30e2849b37136524e197f0;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.GetLocalVarNode;29;-1184.599,1076.161;Float;False;27;T;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SamplerNode;2;-1026.006,103.3516;Float;True;Property;_MainTexture;MainTexture;0;0;Create;True;0;0;False;0;4de1419ac14d16d44b9c82b76ea6d884;4de1419ac14d16d44b9c82b76ea6d884;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.TFHCRemapNode;34;-914.0506,-103.6616;Float;False;5;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;1,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT3;1,0,0;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.RegisterLocalVarNode;18;-2181.342,767.9341;Float;False;W;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;5;-880.473,294.4927;Float;False;Property;_Opacity;Opacity;2;0;Create;True;0;0;False;0;20;20;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.Vector3Node;25;-970.7917,1088.387;Float;False;Constant;_Vector1;Vector 1;4;0;Create;True;0;0;False;0;0.3,0,1;0,0,0;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
+Node;AmplifyShaderEditor.GetLocalVarNode;26;-968.0313,1012.74;Float;False;18;W;1;0;OBJECT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ColorNode;39;-778.4326,-338.6488;Float;False;Property;_AddColor;Add Color;7;0;Create;True;0;0;False;0;0,0,0,0;0,0,0,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;28;-960.4154,917.9364;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.RangedFloatNode;33;-718.1186,-174.7386;Float;False;Property;_Emission;Emission;5;0;Create;True;0;0;False;0;5;0;0;0;0;1;FLOAT;0
+Node;AmplifyShaderEditor.VertexColorNode;7;-737.2988,18.57782;Float;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
+Node;AmplifyShaderEditor.ClampOpNode;37;-717.3522,-102.925;Float;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;1,1,1;False;1;FLOAT3;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;4;-703.2388,201.5004;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;32;-534.1503,-129.7955;Float;False;3;3;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.ConditionalIfNode;23;-657.3992,918.3256;Float;True;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.ClampOpNode;6;-552.2924,202.0797;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;41;-531.9833,-265.6357;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.SimpleMultiplyOpNode;8;-346.0773,109.456;Float;False;3;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0
+Node;AmplifyShaderEditor.SimpleAddOpNode;40;-383.782,-246.1724;Float;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
+Node;AmplifyShaderEditor.RangedFloatNode;49;-1915.164,-341.3013;Float;False;Property;_HUE;HUE;9;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0
+Node;AmplifyShaderEditor.DynamicAppendNode;3;-190.1702,-2.897369;Float;False;FLOAT4;4;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
+Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;1;0,0;Float;False;True;2;Float;;0;11;Hovl/Particles/SwordSlash;0b6a9f8b4f707c74ca64c0be8e590de0;True;SubShader 0 Pass 0;0;0;SubShader 0 Pass 0;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;False;0;False;-1;False;True;2;False;-1;True;3;False;-1;False;True;4;Queue=Transparent=Queue=0;IgnoreProjector=True;RenderType=Transparent=RenderType;PreviewType=Plane;False;0;False;False;False;False;False;False;False;False;False;False;True;0;0;;0;0;Standard;0;0;1;True;False;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;0
+WireConnection;21;0;19;3
+WireConnection;21;1;19;4
+WireConnection;46;0;36;0
+WireConnection;9;0;10;0
+WireConnection;9;2;21;0
+WireConnection;48;0;46;1
+WireConnection;48;1;30;3
+WireConnection;55;0;9;0
+WireConnection;47;0;48;0
+WireConnection;47;1;46;2
+WireConnection;47;2;46;3
+WireConnection;20;0;19;1
+WireConnection;20;1;19;2
+WireConnection;51;0;30;4
+WireConnection;51;1;55;1
+WireConnection;27;0;10;4
+WireConnection;31;0;30;0
+WireConnection;31;2;20;0
+WireConnection;42;0;47;0
+WireConnection;42;1;43;0
+WireConnection;53;0;55;0
+WireConnection;53;1;51;0
+WireConnection;22;1;53;0
+WireConnection;2;1;31;0
+WireConnection;34;0;42;0
+WireConnection;34;1;50;1
+WireConnection;34;2;50;2
+WireConnection;34;3;38;1
+WireConnection;34;4;38;2
+WireConnection;18;0;10;3
+WireConnection;28;0;22;1
+WireConnection;28;1;29;0
+WireConnection;37;0;34;0
+WireConnection;4;0;2;4
+WireConnection;4;1;5;0
+WireConnection;32;0;33;0
+WireConnection;32;1;37;0
+WireConnection;32;2;7;0
+WireConnection;23;0;28;0
+WireConnection;23;1;26;0
+WireConnection;23;2;25;2
+WireConnection;23;3;25;2
+WireConnection;23;4;25;3
+WireConnection;6;0;4;0
+WireConnection;41;0;39;0
+WireConnection;41;1;7;0
+WireConnection;8;0;7;4
+WireConnection;8;1;6;0
+WireConnection;8;2;23;0
+WireConnection;40;0;41;0
+WireConnection;40;1;32;0
+WireConnection;3;0;40;0
+WireConnection;3;3;8;0
+WireConnection;1;0;3;0
+ASEEND*/
+//CHKSM=CD7FE39CDD92848CAD5B30E9DD44FCE29DC49E7A \ No newline at end of file
diff --git a/Assets/Art/Vfx/Sword slash VFX/Shaders/SwordSlash.shader.meta b/Assets/Art/Vfx/Sword slash VFX/Shaders/SwordSlash.shader.meta
new file mode 100644
index 00000000..81373506
--- /dev/null
+++ b/Assets/Art/Vfx/Sword slash VFX/Shaders/SwordSlash.shader.meta
@@ -0,0 +1,14 @@
+fileFormatVersion: 2
+guid: cfdd144ceb76ec942b649cc196c1440c
+ShaderImporter:
+ externalObjects: {}
+ defaultTextures:
+ - _MainTex: {instanceID: 0}
+ - _MainTexture: {instanceID: 0}
+ - _EmissionTex: {instanceID: 0}
+ - _Dissolve: {instanceID: 0}
+ - _texcoord: {instanceID: 0}
+ nonModifiableTextures: []
+ userData:
+ assetBundleName:
+ assetBundleVariant: