ForceShield.shader 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. // Made with Amplify Shader Editor
  2. // Available at the Unity Asset Store - http://u3d.as/y3X
  3. Shader "ASESampleShaders/Community/TFHC/Force Shield"
  4. {
  5. Properties
  6. {
  7. [HideInInspector] __dirty( "", Int ) = 1
  8. _Color("Color", Color) = (0,0,0,0)
  9. _Albedo("Albedo", 2D) = "white" {}
  10. _Normal("Normal", 2D) = "bump" {}
  11. _Opacity("Opacity", Range( 0 , 1)) = 0.5
  12. _ShieldPatternColor("Shield Pattern Color", Color) = (0.2470588,0.7764706,0.9098039,1)
  13. _ShieldPattern("Shield Pattern", 2D) = "white" {}
  14. [IntRange]_ShieldPatternSize("Shield Pattern Size", Range( 1 , 20)) = 5
  15. _ShieldPatternPower("Shield Pattern Power", Range( 0 , 100)) = 5
  16. _ShieldRimPower("Shield Rim Power", Range( 0 , 10)) = 7
  17. _ShieldAnimSpeed("Shield Anim Speed", Range( -10 , 10)) = 3
  18. _ShieldPatternWaves("Shield Pattern Waves", 2D) = "white" {}
  19. _ShieldDistortion("Shield Distortion", Range( 0 , 0.03)) = 0.01
  20. _IntersectIntensity("Intersect Intensity", Range( 0 , 1)) = 0.2
  21. _IntersectColor("Intersect Color", Color) = (0.03137255,0.2588235,0.3176471,1)
  22. _HitPosition("Hit Position", Vector) = (0,0,0,0)
  23. _HitTime("Hit Time", Float) = 0
  24. _HitColor("Hit Color", Color) = (1,1,1,1)
  25. _HitSize("Hit Size", Float) = 0.2
  26. [HideInInspector] _texcoord( "", 2D ) = "white" {}
  27. }
  28. SubShader
  29. {
  30. Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" }
  31. Cull Back
  32. CGINCLUDE
  33. #include "UnityShaderVariables.cginc"
  34. #include "UnityCG.cginc"
  35. #include "UnityPBSLighting.cginc"
  36. #include "Lighting.cginc"
  37. #pragma target 3.0
  38. #ifdef UNITY_PASS_SHADOWCASTER
  39. #undef INTERNAL_DATA
  40. #undef WorldReflectionVector
  41. #undef WorldNormalVector
  42. #define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
  43. #define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
  44. #define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
  45. #endif
  46. struct Input
  47. {
  48. float2 uv_texcoord;
  49. float3 worldPos;
  50. float3 worldNormal;
  51. INTERNAL_DATA
  52. float2 texcoord_0;
  53. float2 texcoord_1;
  54. float4 screenPos;
  55. };
  56. uniform sampler2D _Normal;
  57. uniform float4 _Normal_ST;
  58. uniform float4 _Color;
  59. uniform sampler2D _Albedo;
  60. uniform float4 _Albedo_ST;
  61. uniform float4 _IntersectColor;
  62. uniform float _ShieldRimPower;
  63. uniform sampler2D _ShieldPattern;
  64. uniform float _ShieldPatternSize;
  65. uniform float _ShieldAnimSpeed;
  66. uniform sampler2D _ShieldPatternWaves;
  67. uniform float _HitTime;
  68. uniform float3 _HitPosition;
  69. uniform float _HitSize;
  70. uniform float4 _ShieldPatternColor;
  71. uniform float4 _HitColor;
  72. uniform sampler2D _CameraDepthTexture;
  73. uniform float _IntersectIntensity;
  74. uniform float _ShieldPatternPower;
  75. uniform float _Opacity;
  76. uniform float _ShieldDistortion;
  77. float3 mod289( float3 x ) { return x - floor( x / 289.0 ) * 289.0; }
  78. float4 mod289( float4 x ) { return x - floor( x / 289.0 ) * 289.0; }
  79. float4 permute( float4 x ) { return mod289( ( x * 34.0 + 1.0 ) * x ); }
  80. float4 taylorInvSqrt( float4 r ) { return 1.79284291400159 - r * 0.85373472095314; }
  81. float snoise( float3 v )
  82. {
  83. const float2 C = float2( 1.0 / 6.0, 1.0 / 3.0 );
  84. float3 i = floor( v + dot( v, C.yyy ) );
  85. float3 x0 = v - i + dot( i, C.xxx );
  86. float3 g = step( x0.yzx, x0.xyz );
  87. float3 l = 1.0 - g;
  88. float3 i1 = min( g.xyz, l.zxy );
  89. float3 i2 = max( g.xyz, l.zxy );
  90. float3 x1 = x0 - i1 + C.xxx;
  91. float3 x2 = x0 - i2 + C.yyy;
  92. float3 x3 = x0 - 0.5;
  93. i = mod289( i);
  94. float4 p = permute( permute( permute( i.z + float4( 0.0, i1.z, i2.z, 1.0 ) ) + i.y + float4( 0.0, i1.y, i2.y, 1.0 ) ) + i.x + float4( 0.0, i1.x, i2.x, 1.0 ) );
  95. float4 j = p - 49.0 * floor( p / 49.0 ); // mod(p,7*7)
  96. float4 x_ = floor( j / 7.0 );
  97. float4 y_ = floor( j - 7.0 * x_ ); // mod(j,N)
  98. float4 x = ( x_ * 2.0 + 0.5 ) / 7.0 - 1.0;
  99. float4 y = ( y_ * 2.0 + 0.5 ) / 7.0 - 1.0;
  100. float4 h = 1.0 - abs( x ) - abs( y );
  101. float4 b0 = float4( x.xy, y.xy );
  102. float4 b1 = float4( x.zw, y.zw );
  103. float4 s0 = floor( b0 ) * 2.0 + 1.0;
  104. float4 s1 = floor( b1 ) * 2.0 + 1.0;
  105. float4 sh = -step( h, 0.0 );
  106. float4 a0 = b0.xzyw + s0.xzyw * sh.xxyy;
  107. float4 a1 = b1.xzyw + s1.xzyw * sh.zzww;
  108. float3 g0 = float3( a0.xy, h.x );
  109. float3 g1 = float3( a0.zw, h.y );
  110. float3 g2 = float3( a1.xy, h.z );
  111. float3 g3 = float3( a1.zw, h.w );
  112. float4 norm = taylorInvSqrt( float4( dot( g0, g0 ), dot( g1, g1 ), dot( g2, g2 ), dot( g3, g3 ) ) );
  113. g0 *= norm.x;
  114. g1 *= norm.y;
  115. g2 *= norm.z;
  116. g3 *= norm.w;
  117. float4 m = max( 0.6 - float4( dot( x0, x0 ), dot( x1, x1 ), dot( x2, x2 ), dot( x3, x3 ) ), 0.0 );
  118. m = m* m;
  119. m = m* m;
  120. float4 px = float4( dot( x0, g0 ), dot( x1, g1 ), dot( x2, g2 ), dot( x3, g3 ) );
  121. return 42.0 * dot( m, px);
  122. }
  123. void vertexDataFunc( inout appdata_full v, out Input o )
  124. {
  125. UNITY_INITIALIZE_OUTPUT( Input, o );
  126. float2 appendResult130 = float2( _ShieldPatternSize , _ShieldPatternSize );
  127. float4 ShieldSpeed = ( _Time * _ShieldAnimSpeed );
  128. float2 appendResult46 = float2( 1 , ShieldSpeed.x );
  129. o.texcoord_0.xy = v.texcoord.xy * appendResult130 + appendResult46;
  130. float2 appendResult91 = float2( 1 , ( 1.0 - ( ShieldSpeed / 5.0 ) ).x );
  131. o.texcoord_1.xy = v.texcoord.xy * float2( 1,1 ) + appendResult91;
  132. float simplePerlin3D66 = snoise( ( float4( v.normal , 0.0 ) + ( ShieldSpeed / 5.0 ) ).xyz );
  133. float VertexOffset = (( _ShieldDistortion * -1.0 ) + (simplePerlin3D66 - 0.0) * (_ShieldDistortion - ( _ShieldDistortion * -1.0 )) / (1.0 - 0.0));
  134. float3 temp_cast_4 = (VertexOffset).xxx;
  135. v.vertex.xyz += temp_cast_4;
  136. }
  137. void surf( Input i , inout SurfaceOutputStandard o )
  138. {
  139. float2 uv_Normal = i.uv_texcoord * _Normal_ST.xy + _Normal_ST.zw;
  140. float3 Normal = UnpackNormal( tex2D( _Normal, uv_Normal ) );
  141. o.Normal = Normal;
  142. float2 uv_Albedo = i.uv_texcoord * _Albedo_ST.xy + _Albedo_ST.zw;
  143. float4 Albedo = ( _Color * tex2D( _Albedo, uv_Albedo ) );
  144. o.Albedo = Albedo.rgb;
  145. float3 worldViewDir = normalize( UnityWorldSpaceViewDir( i.worldPos ) );
  146. float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) );
  147. float ShieldRimPower = _ShieldRimPower;
  148. float fresnelFinalVal8 = (0.0 + 1.0*pow( 1.0 - dot( ase_worldNormal, worldViewDir ) , (10.0 + (ShieldRimPower - 0.0) * (0.0 - 10.0) / (10.0 - 0.0))));
  149. float ShieldRim = fresnelFinalVal8;
  150. float4 ShieldPattern = tex2D( _ShieldPattern, i.texcoord_0 );
  151. float4 waves = tex2D( _ShieldPatternWaves, i.texcoord_1 );
  152. float4 ase_vertexPos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) );
  153. float temp_output_152_0 = distance( ase_vertexPos.xyz , _HitPosition );
  154. float HitSize = _HitSize;
  155. float4 ShieldPatternColor = _ShieldPatternColor;
  156. float4 HitColor = _HitColor;
  157. float4 hit = (( _HitTime > 0.0 ) ? (( temp_output_152_0 < HitSize ) ? lerp( ShieldPatternColor , ( HitColor * ( HitSize / temp_output_152_0 ) ) , (0.0 + (_HitTime - 0.0) * (1.0 - 0.0) / (100.0 - 0.0)) ) : ShieldPatternColor ) : ShieldPatternColor );
  158. float4 ase_screenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 );
  159. float screenDepth110 = LinearEyeDepth(UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture,UNITY_PROJ_COORD(ase_screenPos))));
  160. float distanceDepth110 = abs( ( screenDepth110 - LinearEyeDepth( ase_screenPos.z/ ase_screenPos.w ) ) / _IntersectIntensity );
  161. float ShieldPower = _ShieldPatternPower;
  162. float4 Emission = ( lerp( _IntersectColor , ( ( ( ShieldRim + ShieldPattern ) * waves ) * ( hit * ShieldPatternColor ) ) , clamp( distanceDepth110 , 0.0 , 1.0 ) ) * ShieldPower );
  163. o.Emission = Emission.xyz;
  164. o.Alpha = _Opacity;
  165. }
  166. ENDCG
  167. CGPROGRAM
  168. #pragma surface surf Standard alpha:fade keepalpha fullforwardshadows vertex:vertexDataFunc
  169. ENDCG
  170. Pass
  171. {
  172. Name "ShadowCaster"
  173. Tags{ "LightMode" = "ShadowCaster" }
  174. ZWrite On
  175. CGPROGRAM
  176. #pragma vertex vert
  177. #pragma fragment frag
  178. #pragma target 3.0
  179. #pragma multi_compile_shadowcaster
  180. #pragma multi_compile UNITY_PASS_SHADOWCASTER
  181. #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
  182. # include "HLSLSupport.cginc"
  183. #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
  184. #define CAN_SKIP_VPOS
  185. #endif
  186. #include "UnityCG.cginc"
  187. #include "Lighting.cginc"
  188. #include "UnityPBSLighting.cginc"
  189. sampler3D _DitherMaskLOD;
  190. struct v2f
  191. {
  192. V2F_SHADOW_CASTER;
  193. float3 worldPos : TEXCOORD6;
  194. float4 tSpace0 : TEXCOORD1;
  195. float4 tSpace1 : TEXCOORD2;
  196. float4 tSpace2 : TEXCOORD3;
  197. float4 texcoords01 : TEXCOORD4;
  198. UNITY_VERTEX_INPUT_INSTANCE_ID
  199. };
  200. v2f vert( appdata_full v )
  201. {
  202. v2f o;
  203. UNITY_SETUP_INSTANCE_ID( v );
  204. UNITY_INITIALIZE_OUTPUT( v2f, o );
  205. UNITY_TRANSFER_INSTANCE_ID( v, o );
  206. Input customInputData;
  207. vertexDataFunc( v, customInputData );
  208. float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
  209. half3 worldNormal = UnityObjectToWorldNormal( v.normal );
  210. fixed3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
  211. fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;
  212. fixed3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
  213. o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
  214. o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
  215. o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
  216. o.texcoords01 = float4( v.texcoord.xy, v.texcoord1.xy );
  217. o.worldPos = worldPos;
  218. TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
  219. return o;
  220. }
  221. fixed4 frag( v2f IN
  222. #if !defined( CAN_SKIP_VPOS )
  223. , UNITY_VPOS_TYPE vpos : VPOS
  224. #endif
  225. ) : SV_Target
  226. {
  227. UNITY_SETUP_INSTANCE_ID( IN );
  228. Input surfIN;
  229. UNITY_INITIALIZE_OUTPUT( Input, surfIN );
  230. surfIN.uv_texcoord.xy = IN.texcoords01.xy;
  231. float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
  232. fixed3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
  233. surfIN.worldPos = worldPos;
  234. surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z );
  235. surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
  236. surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
  237. surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
  238. SurfaceOutputStandard o;
  239. UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o )
  240. surf( surfIN, o );
  241. #if defined( CAN_SKIP_VPOS )
  242. float2 vpos = IN.pos;
  243. #endif
  244. half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a;
  245. clip( alphaRef - 0.01 );
  246. SHADOW_CASTER_FRAGMENT( IN )
  247. }
  248. ENDCG
  249. }
  250. }
  251. Fallback "Diffuse"
  252. CustomEditor "ASEMaterialInspector"
  253. }
  254. /*ASEBEGIN
  255. Version=10011
  256. 646;227;1066;638;6317.108;2106.027;6.142241;True;False
  257. Node;AmplifyShaderEditor.CommentaryNode;267;-3724.017,-1789.098;Float;False;830.728;358.1541;Comment;4;35;34;36;84;Animation Speed;0;0
  258. Node;AmplifyShaderEditor.TimeNode;34;-3600.425,-1739.099;Float;False;0;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT
  259. Node;AmplifyShaderEditor.RangedFloatNode;35;-3674.017,-1545.944;Float;False;Property;_ShieldAnimSpeed;Shield Anim Speed;9;0;3;-10;10;0;1;FLOAT
  260. Node;AmplifyShaderEditor.CommentaryNode;264;-3683.242,-319.7433;Float;False;1858.993;1001.87;Comment;22;137;247;195;167;239;260;263;152;136;142;205;246;200;245;257;250;170;206;140;141;138;139;Impact Effect;0;0
  261. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;36;-3357.889,-1615.685;Float;False;2;2;0;FLOAT4;0.0;False;1;FLOAT;0,0,0,0;False;1;FLOAT4
  262. Node;AmplifyShaderEditor.CommentaryNode;268;-3701.449,-1016.252;Float;False;1608.543;477.595;Comment;10;93;88;92;90;89;91;97;87;86;94;Shield Wave Effect;0;0
  263. Node;AmplifyShaderEditor.Vector3Node;136;-3624.635,276.1571;Float;False;Property;_HitPosition;Hit Position;14;0;0,0,0;0;4;FLOAT3;FLOAT;FLOAT;FLOAT
  264. Node;AmplifyShaderEditor.PosVertexDataNode;142;-3633.242,91.85719;Float;False;0;0;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT
  265. Node;AmplifyShaderEditor.GetLocalVarNode;88;-3651.449,-740.2536;Float;False;84;0;1;FLOAT4
  266. Node;AmplifyShaderEditor.RangedFloatNode;93;-3624.584,-653.6565;Float;False;Constant;_Float0;Float 0;7;0;5;0;0;0;1;FLOAT
  267. Node;AmplifyShaderEditor.DistanceOpNode;152;-3393.037,175.4572;Float;False;2;0;FLOAT3;0.0;False;1;FLOAT3;0,0,0;False;1;FLOAT
  268. Node;AmplifyShaderEditor.RegisterLocalVarNode;84;-3141.289,-1604.549;Float;False;ShieldSpeed;-1;True;1;0;FLOAT4;0.0;False;1;FLOAT4
  269. Node;AmplifyShaderEditor.RangedFloatNode;140;-3553.337,-269.7433;Float;False;Property;_HitSize;Hit Size;17;0;0.2;0;0;0;1;FLOAT
  270. Node;AmplifyShaderEditor.CommentaryNode;276;-2780.04,-1808.4;Float;False;1504.24;684.7161;Comment;12;44;129;130;46;41;1;17;85;3;12;6;15;Shield Main Pattern;0;0
  271. Node;AmplifyShaderEditor.ColorNode;138;-3595.025,-162.8425;Float;False;Property;_HitColor;Hit Color;16;0;1,1,1,1;0;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
  272. Node;AmplifyShaderEditor.WireNode;263;-3216.14,415.2251;Float;False;1;0;FLOAT;0.0;False;1;FLOAT
  273. Node;AmplifyShaderEditor.GetLocalVarNode;260;-3173.049,344.7241;Float;False;141;0;1;FLOAT
  274. Node;AmplifyShaderEditor.SimpleDivideOpNode;92;-3443.617,-726.3981;Float;False;2;0;FLOAT4;0.0;False;1;FLOAT;0,5,0,0;False;1;FLOAT4
  275. Node;AmplifyShaderEditor.CommentaryNode;275;-2010.258,-957.6005;Float;False;1030.896;385.0003;Comment;6;8;23;30;16;31;32;Shield RIM;0;0
  276. Node;AmplifyShaderEditor.RegisterLocalVarNode;141;-3340.137,-265.8431;Float;False;HitSize;-1;True;1;0;FLOAT;0.0;False;1;FLOAT
  277. Node;AmplifyShaderEditor.ColorNode;3;-2716.901,-1757.5;Float;False;Property;_ShieldPatternColor;Shield Pattern Color;4;0;0.2470588,0.7764706,0.9098039,1;0;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
  278. Node;AmplifyShaderEditor.Vector2Node;44;-2642.899,-1440.7;Float;False;Constant;_Vector0;Vector 0;6;0;1,0;0;3;FLOAT2;FLOAT;FLOAT
  279. Node;AmplifyShaderEditor.RangedFloatNode;31;-1956.507,-905.8556;Float;False;Property;_ShieldRimPower;Shield Rim Power;8;0;7;0;10;0;1;FLOAT
  280. Node;AmplifyShaderEditor.RangedFloatNode;129;-2730.04,-1558.843;Float;False;Property;_ShieldPatternSize;Shield Pattern Size;6;1;[IntRange];5;1;20;0;1;FLOAT
  281. Node;AmplifyShaderEditor.GetLocalVarNode;85;-2607.967,-1238.684;Float;False;84;0;1;FLOAT4
  282. Node;AmplifyShaderEditor.GetLocalVarNode;250;-2961.252,459.8252;Float;False;139;0;1;COLOR
  283. Node;AmplifyShaderEditor.RegisterLocalVarNode;139;-3313.854,-160.2898;Float;False;HitColor;-1;True;1;0;COLOR;0.0;False;1;COLOR
  284. Node;AmplifyShaderEditor.RangedFloatNode;137;-3157.953,205.9713;Float;False;Property;_HitTime;Hit Time;15;0;0;0;0;0;1;FLOAT
  285. Node;AmplifyShaderEditor.Vector2Node;89;-3303.329,-894.3962;Float;False;Constant;_Vector2;Vector 2;7;0;1,0;0;3;FLOAT2;FLOAT;FLOAT
  286. Node;AmplifyShaderEditor.OneMinusNode;90;-3310.257,-736.7897;Float;False;1;0;FLOAT4;0.0;False;1;FLOAT4
  287. Node;AmplifyShaderEditor.SimpleDivideOpNode;239;-2978.346,549.1261;Float;False;2;0;FLOAT;0.0;False;1;FLOAT;0.0;False;1;FLOAT
  288. Node;AmplifyShaderEditor.RegisterLocalVarNode;12;-2411.8,-1758.4;Float;False;ShieldPatternColor;-1;True;1;0;COLOR;0.0;False;1;COLOR
  289. Node;AmplifyShaderEditor.TFHCRemap;247;-2924.85,284.5252;Float;False;5;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;100.0;False;3;FLOAT;0.0;False;4;FLOAT;1.0;False;1;FLOAT
  290. Node;AmplifyShaderEditor.GetLocalVarNode;246;-2774.949,8.125095;Float;False;12;0;1;COLOR
  291. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;257;-2735.152,466.5251;Float;False;2;2;0;COLOR;0.0;False;1;FLOAT;0,0,0,0;False;1;COLOR
  292. Node;AmplifyShaderEditor.AppendNode;130;-2390.04,-1534.843;Float;False;FLOAT2;0;0;0;0;4;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;0.0;False;3;FLOAT;0.0;False;1;FLOAT2
  293. Node;AmplifyShaderEditor.AppendNode;46;-2364.299,-1326.101;Float;False;FLOAT2;0;0;0;0;4;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;0.0;False;3;FLOAT;0.0;False;1;FLOAT2
  294. Node;AmplifyShaderEditor.Vector2Node;97;-3110.929,-966.2515;Float;False;Constant;_Vector3;Vector 3;7;0;1,1;0;3;FLOAT2;FLOAT;FLOAT
  295. Node;AmplifyShaderEditor.RegisterLocalVarNode;32;-1602.599,-907.6003;Float;False;ShieldRimPower;-1;True;1;0;FLOAT;0.0;False;1;FLOAT
  296. Node;AmplifyShaderEditor.GetLocalVarNode;16;-1960.258,-774.4995;Float;False;32;0;1;FLOAT
  297. Node;AmplifyShaderEditor.AppendNode;91;-3107.62,-842.438;Float;False;FLOAT2;0;0;0;0;4;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;0.0;False;3;FLOAT;0.0;False;1;FLOAT2
  298. Node;AmplifyShaderEditor.WireNode;195;-2864.125,74.0632;Float;False;1;0;FLOAT;0.0;False;1;FLOAT
  299. Node;AmplifyShaderEditor.TextureCoordinatesNode;87;-2911.91,-851.0977;Float;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;FLOAT;FLOAT;FLOAT;FLOAT
  300. Node;AmplifyShaderEditor.GetLocalVarNode;167;-2793.819,134.2182;Float;False;141;0;1;FLOAT
  301. Node;AmplifyShaderEditor.TFHCRemap;30;-1664.799,-774.5996;Float;False;5;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;10.0;False;3;FLOAT;10.0;False;4;FLOAT;0.0;False;1;FLOAT
  302. Node;AmplifyShaderEditor.LerpOp;245;-2595.05,273.4252;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0.0;False;1;COLOR
  303. Node;AmplifyShaderEditor.TextureCoordinatesNode;41;-2180.397,-1393.801;Float;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;FLOAT;FLOAT;FLOAT;FLOAT
  304. Node;AmplifyShaderEditor.TFHCCompareLower;200;-2404.936,152.4901;Float;False;4;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;1;COLOR
  305. Node;AmplifyShaderEditor.FresnelNode;8;-1453.2,-772.8999;Float;False;4;0;FLOAT3;0,0,0;False;1;FLOAT;0.0;False;2;FLOAT;1.0;False;3;FLOAT;5.0;False;1;FLOAT
  306. Node;AmplifyShaderEditor.SamplerNode;86;-2670.01,-866.47;Float;True;Property;_ShieldPatternWaves;Shield Pattern Waves;10;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT
  307. Node;AmplifyShaderEditor.CommentaryNode;269;-3643.936,791.2545;Float;False;1652.997;650.1895;Mix of Pattern, Wave, Rim , Impact and adding intersection highlight;18;125;22;53;210;262;5;122;113;124;127;126;120;114;110;96;95;270;20;Shield Mix for Emission;0;0
  308. Node;AmplifyShaderEditor.SamplerNode;1;-1921.001,-1410.9;Float;True;Property;_ShieldPattern;Shield Pattern;5;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT
  309. Node;AmplifyShaderEditor.WireNode;206;-2903.502,-28.46932;Float;False;1;0;FLOAT;0.0;False;1;FLOAT
  310. Node;AmplifyShaderEditor.TFHCCompareGreater;205;-2263.548,-95.30942;Float;False;4;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;COLOR;0.0;False;3;COLOR;0.0,0,0,0;False;1;COLOR
  311. Node;AmplifyShaderEditor.CommentaryNode;274;-1717.715,-307.0486;Float;False;1223.975;464.9008;Comment;11;78;271;66;75;65;77;70;76;102;103;273;Shield Distortion;0;0
  312. Node;AmplifyShaderEditor.RegisterLocalVarNode;23;-1222.362,-776.9688;Float;False;ShieldRim;-1;True;1;0;FLOAT;0.0;False;1;FLOAT
  313. Node;AmplifyShaderEditor.RegisterLocalVarNode;94;-2335.905,-876.1152;Float;False;waves;-1;True;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4
  314. Node;AmplifyShaderEditor.GetLocalVarNode;22;-3584.001,980.0004;Float;False;23;0;1;FLOAT
  315. Node;AmplifyShaderEditor.RegisterLocalVarNode;17;-1531.8,-1409.1;Float;False;ShieldPattern;-1;True;1;0;FLOAT4;0.0;False;1;FLOAT4
  316. Node;AmplifyShaderEditor.GetLocalVarNode;20;-3575.06,1149.144;Float;False;94;0;1;FLOAT4
  317. Node;AmplifyShaderEditor.GetLocalVarNode;125;-3593.936,1070.857;Float;False;17;0;1;FLOAT4
  318. Node;AmplifyShaderEditor.GetLocalVarNode;210;-3343.573,1156.821;Float;False;170;0;1;COLOR
  319. Node;AmplifyShaderEditor.SimpleAddOpNode;53;-3356.611,1019.996;Float;False;2;2;0;FLOAT;0.0;False;1;FLOAT4;0.0;False;1;FLOAT4
  320. Node;AmplifyShaderEditor.WireNode;270;-3376.64,1137.324;Float;False;1;0;FLOAT4;0.0;False;1;FLOAT4
  321. Node;AmplifyShaderEditor.RangedFloatNode;77;-1628.587,-0.2153163;Float;False;Constant;_Float1;Float 1;7;0;5;0;0;0;1;FLOAT
  322. Node;AmplifyShaderEditor.GetLocalVarNode;70;-1667.715,-98.43153;Float;False;84;0;1;FLOAT4
  323. Node;AmplifyShaderEditor.GetLocalVarNode;96;-3423.322,1239.746;Float;False;12;0;1;COLOR
  324. Node;AmplifyShaderEditor.RangedFloatNode;114;-3430.724,1320.123;Float;False;Property;_IntersectIntensity;Intersect Intensity;12;0;0.2;0;1;0;1;FLOAT
  325. Node;AmplifyShaderEditor.RegisterLocalVarNode;170;-2067.248,-91.50217;Float;False;hit;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR
  326. Node;AmplifyShaderEditor.DepthFade;110;-3064.584,1323.016;Float;False;1;0;FLOAT;0.5;False;1;FLOAT
  327. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;5;-3180.476,1043.63;Float;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;1;FLOAT4
  328. Node;AmplifyShaderEditor.NormalVertexDataNode;65;-1538.567,-257.0485;Float;False;0;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT
  329. Node;AmplifyShaderEditor.SimpleDivideOpNode;76;-1443.8,-69.77253;Float;False;2;0;FLOAT4;0.0;False;1;FLOAT;0,0,0,0;False;1;FLOAT4
  330. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;262;-3099.446,1224.126;Float;False;2;2;0;COLOR;0.0;False;1;COLOR;0,0,0,0;False;1;COLOR
  331. Node;AmplifyShaderEditor.ColorNode;122;-2961.037,841.2547;Float;False;Property;_IntersectColor;Intersect Color;13;0;0.03137255,0.2588235,0.3176471,1;0;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
  332. Node;AmplifyShaderEditor.RangedFloatNode;6;-2023.2,-1712.1;Float;False;Property;_ShieldPatternPower;Shield Pattern Power;7;0;5;0;100;0;1;FLOAT
  333. Node;AmplifyShaderEditor.RangedFloatNode;102;-1432.937,42.85229;Float;False;Property;_ShieldDistortion;Shield Distortion;11;0;0.01;0;0.03;0;1;FLOAT
  334. Node;AmplifyShaderEditor.ClampOpNode;113;-2848.431,1285.444;Float;False;3;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;1.0;False;1;FLOAT
  335. Node;AmplifyShaderEditor.SimpleAddOpNode;75;-1275.199,-227.1813;Float;False;2;2;0;FLOAT3;0.0;False;1;FLOAT4;0,0,0;False;1;FLOAT4
  336. Node;AmplifyShaderEditor.CommentaryNode;284;-1631.041,335.9565;Float;False;837.0001;689.9695;Comment;6;278;128;279;282;281;277;Textures;0;0
  337. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;95;-2938.129,1038.449;Float;True;2;2;0;FLOAT4;0.0;False;1;COLOR;0,0,0,0;False;1;FLOAT4
  338. Node;AmplifyShaderEditor.NoiseGeneratorNode;66;-1129.406,-211.8437;Float;False;Simplex3D;1;0;FLOAT3;0,0;False;1;FLOAT
  339. Node;AmplifyShaderEditor.GetLocalVarNode;127;-2642.838,1189.758;Float;False;15;0;1;FLOAT
  340. Node;AmplifyShaderEditor.ColorNode;128;-1553.537,385.9566;Float;False;Property;_Color;Color;0;0;0,0,0,0;0;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
  341. Node;AmplifyShaderEditor.LerpOp;124;-2659.837,1049.354;Float;False;3;0;COLOR;0,0,0,0;False;1;FLOAT4;0.0,0,0,0;False;2;FLOAT;0.0;False;1;FLOAT4
  342. Node;AmplifyShaderEditor.WireNode;273;-1017.54,35.32507;Float;False;1;0;FLOAT;0.0;False;1;FLOAT
  343. Node;AmplifyShaderEditor.SamplerNode;277;-1574.641,576.7259;Float;True;Property;_Albedo;Albedo;1;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
  344. Node;AmplifyShaderEditor.RegisterLocalVarNode;15;-1703.199,-1702.2;Float;False;ShieldPower;-1;True;1;0;FLOAT;0.0;False;1;FLOAT
  345. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;103;-1109.437,-114.2458;Float;False;2;2;0;FLOAT;0.0;False;1;FLOAT;-1.0;False;1;FLOAT
  346. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;278;-1200.241,544.7261;Float;False;2;2;0;COLOR;0.0;False;1;COLOR;0.0,0,0,0;False;1;COLOR
  347. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;126;-2417.239,1079.357;Float;False;2;2;0;FLOAT4;0.0;False;1;FLOAT;0,0,0,0;False;1;FLOAT4
  348. Node;AmplifyShaderEditor.SamplerNode;281;-1581.041,795.9265;Float;True;Property;_Normal;Normal;2;0;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT
  349. Node;AmplifyShaderEditor.TFHCRemap;78;-940.037,-166.6066;Float;False;5;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;1.0;False;3;FLOAT;-0.01;False;4;FLOAT;0.01;False;1;FLOAT
  350. Node;AmplifyShaderEditor.GetLocalVarNode;272;-846.4404,-1252.875;Float;False;271;0;1;FLOAT
  351. Node;AmplifyShaderEditor.RangedFloatNode;28;-893.5145,-1351.604;Float;False;Property;_Opacity;Opacity;3;0;0.5;0;1;0;1;FLOAT
  352. Node;AmplifyShaderEditor.GetLocalVarNode;121;-797.6182,-1439.73;Float;False;120;0;1;FLOAT4
  353. Node;AmplifyShaderEditor.GetLocalVarNode;280;-795.4412,-1626.674;Float;False;279;0;1;COLOR
  354. Node;AmplifyShaderEditor.GetLocalVarNode;283;-822.6411,-1533.874;Float;False;282;0;1;FLOAT3
  355. Node;AmplifyShaderEditor.RegisterLocalVarNode;120;-2233.938,1054.355;Float;False;Emission;-1;True;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4
  356. Node;AmplifyShaderEditor.RegisterLocalVarNode;282;-1193.841,803.9265;Float;False;Normal;-1;True;1;0;FLOAT3;0.0;False;1;FLOAT3
  357. Node;AmplifyShaderEditor.RegisterLocalVarNode;271;-743.7402,-158.5751;Float;False;VertexOffset;-1;True;1;0;FLOAT;0.0;False;1;FLOAT
  358. Node;AmplifyShaderEditor.RegisterLocalVarNode;279;-1037.041,538.3261;Float;False;Albedo;-1;True;1;0;COLOR;0.0;False;1;COLOR
  359. Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;-551.0419,-1550.427;Float;False;True;2;Float;ASEMaterialInspector;0;Standard;ASESampleShaders/Community/TFHC/Force Shield;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;Back;1;7;False;0;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;False;0;255;255;0;0;0;0;False;0;4;10;25;False;0.5;True;0;Zero;Zero;0;Zero;Zero;Add;Add;0;False;0;0,0,0,0;VertexOffset;False;Cylindrical;Relative;0;;-1;-1;-1;-1;0;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0.0;False;4;FLOAT;0.0;False;5;FLOAT;0.0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0.0;False;9;FLOAT;0.0;False;10;OBJECT;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
  360. WireConnection;36;0;34;0
  361. WireConnection;36;1;35;0
  362. WireConnection;152;0;142;0
  363. WireConnection;152;1;136;0
  364. WireConnection;84;0;36;0
  365. WireConnection;263;0;152;0
  366. WireConnection;92;0;88;0
  367. WireConnection;92;1;93;0
  368. WireConnection;141;0;140;0
  369. WireConnection;139;0;138;0
  370. WireConnection;90;0;92;0
  371. WireConnection;239;0;260;0
  372. WireConnection;239;1;263;0
  373. WireConnection;12;0;3;0
  374. WireConnection;247;0;137;0
  375. WireConnection;257;0;250;0
  376. WireConnection;257;1;239;0
  377. WireConnection;130;0;129;0
  378. WireConnection;130;1;129;0
  379. WireConnection;46;0;44;1
  380. WireConnection;46;1;85;0
  381. WireConnection;32;0;31;0
  382. WireConnection;91;0;89;1
  383. WireConnection;91;1;90;0
  384. WireConnection;195;0;152;0
  385. WireConnection;87;0;97;0
  386. WireConnection;87;1;91;0
  387. WireConnection;30;0;16;0
  388. WireConnection;245;0;246;0
  389. WireConnection;245;1;257;0
  390. WireConnection;245;2;247;0
  391. WireConnection;41;0;130;0
  392. WireConnection;41;1;46;0
  393. WireConnection;200;0;195;0
  394. WireConnection;200;1;167;0
  395. WireConnection;200;2;245;0
  396. WireConnection;200;3;246;0
  397. WireConnection;8;3;30;0
  398. WireConnection;86;1;87;0
  399. WireConnection;1;1;41;0
  400. WireConnection;206;0;137;0
  401. WireConnection;205;0;206;0
  402. WireConnection;205;2;200;0
  403. WireConnection;205;3;246;0
  404. WireConnection;23;0;8;0
  405. WireConnection;94;0;86;0
  406. WireConnection;17;0;1;0
  407. WireConnection;53;0;22;0
  408. WireConnection;53;1;125;0
  409. WireConnection;270;0;20;0
  410. WireConnection;170;0;205;0
  411. WireConnection;110;0;114;0
  412. WireConnection;5;0;53;0
  413. WireConnection;5;1;270;0
  414. WireConnection;76;0;70;0
  415. WireConnection;76;1;77;0
  416. WireConnection;262;0;210;0
  417. WireConnection;262;1;96;0
  418. WireConnection;113;0;110;0
  419. WireConnection;75;0;65;0
  420. WireConnection;75;1;76;0
  421. WireConnection;95;0;5;0
  422. WireConnection;95;1;262;0
  423. WireConnection;66;0;75;0
  424. WireConnection;124;0;122;0
  425. WireConnection;124;1;95;0
  426. WireConnection;124;2;113;0
  427. WireConnection;273;0;102;0
  428. WireConnection;15;0;6;0
  429. WireConnection;103;0;102;0
  430. WireConnection;278;0;128;0
  431. WireConnection;278;1;277;0
  432. WireConnection;126;0;124;0
  433. WireConnection;126;1;127;0
  434. WireConnection;78;0;66;0
  435. WireConnection;78;3;103;0
  436. WireConnection;78;4;273;0
  437. WireConnection;120;0;126;0
  438. WireConnection;282;0;281;0
  439. WireConnection;271;0;78;0
  440. WireConnection;279;0;278;0
  441. WireConnection;0;0;280;0
  442. WireConnection;0;1;283;0
  443. WireConnection;0;2;121;0
  444. WireConnection;0;9;28;0
  445. WireConnection;0;11;272;0
  446. ASEEND*/
  447. //CHKSM=DFB0510FEFCC5D069AF3947B1A89A8F595BCD026