// Made with Amplify Shader Editor v1.9.2.2 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "BaseASE/Sprite/Lit/Default" { Properties { [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 [Toggle][Main(z1,_KEYWORD,on,on)]_z1_MainTex("主贴图", Float) = 1 [HDR][Sub(z1)]_MainColor("主颜色", Color) = (1,1,1,1) [Sub(z1)]_MainTex("主贴图", 2D) = "white" {} [HDR][Sub(z1)]_LerpColor("替换颜色", Color) = (1,1,1,0) [Sub(z1)]_H("主贴图色相", Range( -1 , 1)) = 0 [Sub(z1)]_S("主贴图饱和度", Range( -1 , 1)) = 0 [Sub(z1)]_V("主贴图明度", Range( -1 , 1)) = 0 [Toggle][SubToggle(z1)]_HorizontalFlip("主贴图水平翻转", Float) = 0 [Toggle][SubToggle(z1)]_VerticalFlip("主贴图垂直翻转", Float) = 0 [Toggle][SubToggle(z1)]_UVScaleType("主贴图UV从中心缩放", Float) = 0 [Sub(z1)]_UVScale("主贴图UV缩放值", Range( 0 , 10)) = 1 [Sub(z1)]_OffsetSpeed("主贴图偏移速度XY", Vector) = (0,0,0,0) [Sub(z1)]_Pivot("主贴图锚点", Vector) = (0.5,0.5,0,0) [Sub(z1)]_Angle("主贴图旋转角度", Range( 0 , 360)) = 360 [Normal][Sub(z1)]_NormalMap("法线贴图", 2D) = "bump" {} [Sub(z1)]_NormalIntensity("法线强度", Float) = 1 [Toggle][Main(z6,_KEYWORD,on,on)]_z5_Flow("扰动", Float) = 0 [Sub(z6)]_FlowTex("扰动贴图", 2D) = "white" {} [Sub(z6)]_FlowIntensity("扰动强度", Float) = 0.1 [Sub(z6)]_FlowOffsetSpeed("扰动贴图偏移速度XY", Vector) = (0,0,0,0) [Toggle][SubToggle(z6)]_FlowPolar("扰动贴图极坐标", Float) = 0 [Sub(z6)]_FlowPolarUV("扰动贴图极坐标UV", Vector) = (1,1,0,0) [Sub(z6)]_FlowPolarPivot("扰动贴图极坐标锚点", Vector) = (0.5,0.5,0,0) [Toggle][SubToggle(z6)]_FlowMask("扰动遮罩", Float) = 0 [Sub(z6)]_FlowMaskTex("扰动遮罩贴图", 2D) = "white" {} [KeywordEnum(R,A)] _FlowMaskChannel("扰动遮罩贴图使用通道", Float) = 0 [Toggle][Main(z5,_KEYWORD,on,on)]_z6_Mask("遮罩", Float) = 0 [Sub(z6)]_MaskTex("遮罩贴图", 2D) = "white" {} [Sub(z5)]_MaskUVScale("遮罩贴图UV缩放值", Range( 0 , 10)) = 1 [Sub(z5)]_MaskOffsetSpeed("遮罩贴图偏移速度", Vector) = (0,0,0,0) [Sub(z5)]_MaskPivot("遮罩贴图锚点", Vector) = (0.5,0.5,0,0) [Sub(z5)]_MaskAngle("遮罩贴图旋转角度", Range( 0 , 360)) = 0 [KeywordEnum(R,A)] _MaskChannel("遮罩贴图使用通道", Float) = 1 [Toggle][Main(z4,_KEYWORD,on,on)]_z4_Dissolve("溶解", Float) = 0 [HDR][Sub(z4)]_DissolveEdgeColor("溶解亮边颜色", Color) = (0,0,0,1) [Sub(z4)]_DissolveTex("溶解贴图", 2D) = "white" {} [Toggle][SubToggle(z4)]_SoftDissolve("软溶解", Float) = 0 [Sub(z4)]_DissolveTexIntensity("溶解贴图强度", Float) = 1 [Toggle][SubToggle(z4)]_DissolveWorldUV("溶解使用世界UV", Float) = 0 [Sub(z4)]_DissolveUVScale("溶解贴图UV尺寸", Vector) = (1,1,0,0) [Sub(z4)]_DissolveEdgeWidth("溶解亮边宽度", Range( 0 , 1)) = 0 [Sub(z4)]qw("溶解程度", Range( 0 , 1)) = 0 [Sub(z4)]_DissolvePivotX("水平方向溶解锚点", Range( 0 , 1)) = 0.5 [Sub(z4)]_DissolvePivotY("垂直方向溶解锚点", Range( 0 , 1)) = 0.5 [KeywordEnum(Off,X_Direction,Y_Direction)] _DissolveDirection("溶解方向", Float) = 0 [Toggle][Main(z9,_KEYWORD,on,on)]_z9_Glow("自发光", Float) = 0 [HDR][Sub(z9)]_GlowColor("自发光颜色", Color) = (1,1,1,1) [Sub(z9)]_GlowTex("自发光贴图", 2D) = "white" {} [Sub(z9)]_GlowOffsetSpeed("自发光贴图偏移速度", Vector) = (0,0,0,0) [KeywordEnum(R,A)] _GlowChannel("发光贴图使用通道", Float) = 0 [HideInInspector] _texcoord( "", 2D ) = "white" {} [HideInInspector][NoScaleOffset] unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} [HideInInspector][NoScaleOffset] unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} } SubShader { LOD 0 Tags { "RenderPipeline"="UniversalPipeline" "RenderType"="Transparent" "Queue"="Transparent" "UniversalMaterialType"="Lit" "ShaderGraphShader"="true" } Cull Off HLSLINCLUDE #pragma target 3.0 #pragma prefer_hlslcc gles // ensure rendering platforms toggle list is visible #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" ENDHLSL Pass { Name "Sprite Lit" Tags { "LightMode"="Universal2D" } Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha ZTest LEqual ZWrite Off Offset 0 , 0 ColorMask RGBA HLSLPROGRAM #define ASE_SRP_VERSION 140011 #pragma vertex vert #pragma fragment frag #pragma multi_compile _ USE_SHAPE_LIGHT_TYPE_0 #pragma multi_compile _ USE_SHAPE_LIGHT_TYPE_1 #pragma multi_compile _ USE_SHAPE_LIGHT_TYPE_2 #pragma multi_compile _ USE_SHAPE_LIGHT_TYPE_3 #define _SURFACE_TYPE_TRANSPARENT 1 #define SHADERPASS SHADERPASS_SPRITELIT #define SHADERPASS_SPRITELIT #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" #include "Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/LightingUtility.hlsl" #if USE_SHAPE_LIGHT_TYPE_0 SHAPE_LIGHT(0) #endif #if USE_SHAPE_LIGHT_TYPE_1 SHAPE_LIGHT(1) #endif #if USE_SHAPE_LIGHT_TYPE_2 SHAPE_LIGHT(2) #endif #if USE_SHAPE_LIGHT_TYPE_3 SHAPE_LIGHT(3) #endif #include "Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/CombinedShapeLightShared.hlsl" #define ASE_NEEDS_FRAG_POSITION #pragma shader_feature_local _GLOWCHANNEL_R _GLOWCHANNEL_A #pragma shader_feature_local _FLOWMASKCHANNEL_R _FLOWMASKCHANNEL_A #pragma shader_feature_local _DISSOLVEDIRECTION_OFF _DISSOLVEDIRECTION_X_DIRECTION _DISSOLVEDIRECTION_Y_DIRECTION #pragma shader_feature_local _MASKCHANNEL_R _MASKCHANNEL_A sampler2D _GlowTex; sampler2D _MainTex; sampler2D _FlowTex; sampler2D _FlowMaskTex; sampler2D _DissolveTex; sampler2D _MaskTex; sampler2D _NormalMap; CBUFFER_START( UnityPerMaterial ) float4 _GlowColor; float4 _DissolveEdgeColor; float4 _NormalMap_ST; float4 _FlowMaskTex_ST; float4 _LerpColor; float4 _MaskTex_ST; float4 _FlowTex_ST; float4 _MainColor; float4 _GlowTex_ST; float4 _MainTex_ST; float4 _DissolveTex_ST; float2 _Pivot; float2 _OffsetSpeed; float2 _FlowOffsetSpeed; float2 _DissolveUVScale; float2 _FlowPolarPivot; float2 _FlowPolarUV; float2 _MaskOffsetSpeed; float2 _MaskPivot; float2 _GlowOffsetSpeed; float _DissolveWorldUV; float _DissolveTexIntensity; float _DissolvePivotX; float _SoftDissolve; float _MaskAngle; float _DissolveEdgeWidth; float _MaskUVScale; float _z4_Dissolve; float _DissolvePivotY; float _z6_Mask; float _H; float _z1_MainTex; float _V; float _S; float _FlowMask; float _z5_Flow; float _FlowIntensity; float _FlowPolar; float _Angle; float _VerticalFlip; float _HorizontalFlip; float _UVScaleType; float _UVScale; float _z9_Glow; float qw; float _NormalIntensity; CBUFFER_END struct VertexInput { float4 positionOS : POSITION; float3 normal : NORMAL; float4 tangent : TANGENT; float4 uv0 : TEXCOORD0; float4 color : COLOR; UNITY_VERTEX_INPUT_INSTANCE_ID }; struct VertexOutput { float4 positionCS : SV_POSITION; float4 texCoord0 : TEXCOORD0; float4 color : TEXCOORD1; float4 screenPosition : TEXCOORD2; float3 positionWS : TEXCOORD3; float4 ase_color : COLOR; float4 ase_texcoord4 : TEXCOORD4; UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; #if ETC1_EXTERNAL_ALPHA TEXTURE2D(_AlphaTex); SAMPLER(sampler_AlphaTex); float _EnableAlphaTexture; #endif 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); } VertexOutput vert ( VertexInput v ) { VertexOutput o = (VertexOutput)0; UNITY_SETUP_INSTANCE_ID(v); UNITY_TRANSFER_INSTANCE_ID(v, o); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); o.ase_color = v.color; o.ase_texcoord4 = v.positionOS; #ifdef ASE_ABSOLUTE_VERTEX_POS float3 defaultVertexValue = v.positionOS.xyz; #else float3 defaultVertexValue = float3(0, 0, 0); #endif float3 vertexValue = defaultVertexValue; #ifdef ASE_ABSOLUTE_VERTEX_POS v.positionOS.xyz = vertexValue; #else v.positionOS.xyz += vertexValue; #endif v.normal = v.normal; v.tangent.xyz = v.tangent.xyz; VertexPositionInputs vertexInput = GetVertexPositionInputs(v.positionOS.xyz); o.texCoord0 = v.uv0; o.color = v.color; o.positionCS = vertexInput.positionCS; o.screenPosition = vertexInput.positionNDC; o.positionWS = vertexInput.positionWS; return o; } half4 frag ( VertexOutput IN ) : SV_Target { UNITY_SETUP_INSTANCE_ID( IN ); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); float3 positionWS = IN.positionWS.xyz; float2 uv_GlowTex = IN.texCoord0.xy * _GlowTex_ST.xy + _GlowTex_ST.zw; float2 panner545 = ( 1.0 * _Time.y * _GlowOffsetSpeed + uv_GlowTex); float4 tex2DNode546 = tex2D( _GlowTex, panner545 ); #if defined(_GLOWCHANNEL_R) float staticSwitch548 = tex2DNode546.r; #elif defined(_GLOWCHANNEL_A) float staticSwitch548 = tex2DNode546.a; #else float staticSwitch548 = tex2DNode546.r; #endif float4 lerpResult551 = lerp( float4( 0,0,0,0 ) , ( _GlowColor * staticSwitch548 ) , _z9_Glow); float2 uv_MainTex = IN.texCoord0.xy * _MainTex_ST.xy + _MainTex_ST.zw; float2 lerpResult412 = lerp( (uv_MainTex*_UVScale + 0.0) , ( ( uv_MainTex * _UVScale ) + -( _UVScale * 0.5 ) + 0.5 ) , _UVScaleType); float2 panner414 = ( 1.0 * _Time.y * _OffsetSpeed + lerpResult412); float temp_output_83_0 = (panner414).x; float lerpResult445 = lerp( temp_output_83_0 , ( 1.0 - temp_output_83_0 ) , _HorizontalFlip); float temp_output_82_0 = (panner414).y; float lerpResult447 = lerp( temp_output_82_0 , ( 1.0 - temp_output_82_0 ) , _VerticalFlip); float2 appendResult90 = (float2(lerpResult445 , lerpResult447)); float cos1_g53 = cos( ( _Angle / ( -360.0 / ( 2.0 * PI ) ) ) ); float sin1_g53 = sin( ( _Angle / ( -360.0 / ( 2.0 * PI ) ) ) ); float2 rotator1_g53 = mul( appendResult90 - _Pivot , float2x2( cos1_g53 , -sin1_g53 , sin1_g53 , cos1_g53 )) + _Pivot; float2 temp_output_421_0 = rotator1_g53; float2 uv_FlowTex = IN.texCoord0.xy * _FlowTex_ST.xy + _FlowTex_ST.zw; float2 temp_output_427_0 = ( float2( 0,0 ) + uv_FlowTex + (0) ); float2 CenteredUV15_g52 = ( temp_output_427_0 - _FlowPolarPivot ); float2 break17_g52 = CenteredUV15_g52; float2 appendResult23_g52 = (float2(( length( CenteredUV15_g52 ) * _FlowPolarUV.x * 2.0 ) , ( atan2( break17_g52.x , break17_g52.y ) * ( 1.0 / TWO_PI ) * _FlowPolarUV.y ))); float2 lerpResult429 = lerp( temp_output_427_0 , appendResult23_g52 , _FlowPolar); float2 panner430 = ( 1.0 * _Time.y * _FlowOffsetSpeed + lerpResult429); float2 temp_cast_0 = (saturate( tex2D( _FlowTex, panner430 ).r )).xx; float2 lerpResult432 = lerp( temp_output_421_0 , temp_cast_0 , _FlowIntensity); float2 uv_FlowMaskTex = IN.texCoord0.xy * _FlowMaskTex_ST.xy + _FlowMaskTex_ST.zw; float4 tex2DNode554 = tex2D( _FlowMaskTex, uv_FlowMaskTex ); #if defined(_FLOWMASKCHANNEL_R) float staticSwitch556 = tex2DNode554.r; #elif defined(_FLOWMASKCHANNEL_A) float staticSwitch556 = tex2DNode554.a; #else float staticSwitch556 = tex2DNode554.r; #endif float lerpResult563 = lerp( 1.0 , staticSwitch556 , _FlowMask); float2 lerpResult441 = lerp( temp_output_421_0 , lerpResult432 , ( _z5_Flow * lerpResult563 )); float4 tex2DNode1 = tex2D( _MainTex, lerpResult441 ); float3 hsvTorgb1_g15 = RGBToHSV( (tex2DNode1).rgb ); float clampResult8_g15 = clamp( ( hsvTorgb1_g15.y + _S ) , 0.0 , 1.0 ); float3 hsvTorgb9_g15 = HSVToRGB( float3(( hsvTorgb1_g15.x + _H ),clampResult8_g15,( hsvTorgb1_g15.z + _V )) ); float4 appendResult124 = (float4(hsvTorgb9_g15 , (tex2DNode1).a)); float4 lerpResult443 = lerp( float4( 1,1,1,1 ) , ( IN.ase_color * _MainColor * appendResult124 ) , _z1_MainTex); float4 MainTex537 = lerpResult443; float temp_output_494_0 = (-0.1 + (qw - 0.0) * (1.05 - -0.1) / (1.0 - 0.0)); float2 uv_DissolveTex = IN.texCoord0.xy * _DissolveTex_ST.xy + _DissolveTex_ST.zw; float2 appendResult476 = (float2(IN.ase_texcoord4.xyz.x , IN.ase_texcoord4.xyz.y)); float2 lerpResult480 = lerp( uv_DissolveTex , appendResult476 , _DissolveWorldUV); float lerpResult490 = lerp( 0.5 , tex2D( _DissolveTex, ( _DissolveUVScale * lerpResult480 ) ).r , _DissolveTexIntensity); float2 texCoord464 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 ); #if defined(_DISSOLVEDIRECTION_OFF) float staticSwitch478 = 0.0; #elif defined(_DISSOLVEDIRECTION_X_DIRECTION) float staticSwitch478 = ( distance( texCoord464.x , _DissolvePivotX ) / (1.0 + (abs( (-1.0 + (_DissolvePivotX - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) ); #elif defined(_DISSOLVEDIRECTION_Y_DIRECTION) float staticSwitch478 = ( distance( texCoord464.y , _DissolvePivotY ) / (1.0 + (abs( (-1.0 + (_DissolvePivotY - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) ); #else float staticSwitch478 = 0.0; #endif float DissolveDirection484 = saturate( staticSwitch478 ); float temp_output_496_0 = ( lerpResult490 + DissolveDirection484 ); float temp_output_498_0 = ( temp_output_496_0 + _DissolveEdgeWidth ); float temp_output_501_0 = step( temp_output_494_0 , temp_output_498_0 ); float temp_output_503_0 = ( temp_output_501_0 - step( temp_output_494_0 , temp_output_496_0 ) ); float4 lerpResult507 = lerp( MainTex537 , ( _DissolveEdgeColor * temp_output_503_0 ) , temp_output_503_0); float4 DissolveRGBChannel508 = lerpResult507; float4 lerpResult539 = lerp( MainTex537 , DissolveRGBChannel508 , _z4_Dissolve); float4 lerpResult565 = lerp( ( lerpResult551 + float4( (lerpResult539).rgb , 0.0 ) ) , _LerpColor , _LerpColor.a); float2 uv_MaskTex = IN.texCoord0.xy * _MaskTex_ST.xy + _MaskTex_ST.zw; float2 panner519 = ( 1.0 * _Time.y * _MaskOffsetSpeed + ( ( uv_MaskTex * _MaskUVScale ) + -( _MaskUVScale * 0.5 ) + 0.5 )); float cos1_g64 = cos( ( _MaskAngle / ( -360.0 / ( 2.0 * PI ) ) ) ); float sin1_g64 = sin( ( _MaskAngle / ( -360.0 / ( 2.0 * PI ) ) ) ); float2 rotator1_g64 = mul( panner519 - _MaskPivot , float2x2( cos1_g64 , -sin1_g64 , sin1_g64 , cos1_g64 )) + _MaskPivot; float4 tex2DNode521 = tex2D( _MaskTex, rotator1_g64 ); #if defined(_MASKCHANNEL_R) float staticSwitch522 = tex2DNode521.r; #elif defined(_MASKCHANNEL_A) float staticSwitch522 = tex2DNode521.a; #else float staticSwitch522 = tex2DNode521.a; #endif float lerpResult523 = lerp( 1.0 , staticSwitch522 , _z6_Mask); float smoothstepResult509 = smoothstep( temp_output_498_0 , 0.0 , temp_output_494_0); float lerpResult511 = lerp( temp_output_501_0 , smoothstepResult509 , _SoftDissolve); float DissolveAlphaChannel512 = lerpResult511; float lerpResult541 = lerp( 1.0 , DissolveAlphaChannel512 , _z4_Dissolve); float4 appendResult536 = (float4(lerpResult565.rgb , ( (lerpResult539).a * lerpResult523 * lerpResult541 ))); float2 uv_NormalMap = IN.texCoord0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw; float3 unpack567 = UnpackNormalScale( tex2D( _NormalMap, uv_NormalMap ), _NormalIntensity ); unpack567.z = lerp( 1, unpack567.z, saturate(_NormalIntensity) ); float4 Color = appendResult536; float4 Mask = float4(1,1,1,1); float3 Normal = unpack567; #if ETC1_EXTERNAL_ALPHA float4 alpha = SAMPLE_TEXTURE2D(_AlphaTex, sampler_AlphaTex, IN.texCoord0.xy); Color.a = lerp ( Color.a, alpha.r, _EnableAlphaTexture); #endif Color *= IN.color; SurfaceData2D surfaceData; InitializeSurfaceData(Color.rgb, Color.a, Mask, surfaceData); InputData2D inputData; InitializeInputData(IN.texCoord0.xy, half2(IN.screenPosition.xy / IN.screenPosition.w), inputData); SETUP_DEBUG_DATA_2D(inputData, positionWS); return CombinedShapeLightShared(surfaceData, inputData); } ENDHLSL } Pass { Name "Sprite Normal" Tags { "LightMode"="NormalsRendering" } Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha ZTest LEqual ZWrite Off Offset 0 , 0 ColorMask RGBA HLSLPROGRAM #define ASE_SRP_VERSION 140011 #pragma vertex vert #pragma fragment frag #define _SURFACE_TYPE_TRANSPARENT 1 #define SHADERPASS SHADERPASS_SPRITENORMAL #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" #include "Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/NormalsRenderingShared.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" #define ASE_NEEDS_FRAG_COLOR #define ASE_NEEDS_FRAG_POSITION #pragma shader_feature_local _GLOWCHANNEL_R _GLOWCHANNEL_A #pragma shader_feature_local _FLOWMASKCHANNEL_R _FLOWMASKCHANNEL_A #pragma shader_feature_local _DISSOLVEDIRECTION_OFF _DISSOLVEDIRECTION_X_DIRECTION _DISSOLVEDIRECTION_Y_DIRECTION #pragma shader_feature_local _MASKCHANNEL_R _MASKCHANNEL_A sampler2D _GlowTex; sampler2D _MainTex; sampler2D _FlowTex; sampler2D _FlowMaskTex; sampler2D _DissolveTex; sampler2D _MaskTex; sampler2D _NormalMap; CBUFFER_START( UnityPerMaterial ) float4 _GlowColor; float4 _DissolveEdgeColor; float4 _NormalMap_ST; float4 _FlowMaskTex_ST; float4 _LerpColor; float4 _MaskTex_ST; float4 _FlowTex_ST; float4 _MainColor; float4 _GlowTex_ST; float4 _MainTex_ST; float4 _DissolveTex_ST; float2 _Pivot; float2 _OffsetSpeed; float2 _FlowOffsetSpeed; float2 _DissolveUVScale; float2 _FlowPolarPivot; float2 _FlowPolarUV; float2 _MaskOffsetSpeed; float2 _MaskPivot; float2 _GlowOffsetSpeed; float _DissolveWorldUV; float _DissolveTexIntensity; float _DissolvePivotX; float _SoftDissolve; float _MaskAngle; float _DissolveEdgeWidth; float _MaskUVScale; float _z4_Dissolve; float _DissolvePivotY; float _z6_Mask; float _H; float _z1_MainTex; float _V; float _S; float _FlowMask; float _z5_Flow; float _FlowIntensity; float _FlowPolar; float _Angle; float _VerticalFlip; float _HorizontalFlip; float _UVScaleType; float _UVScale; float _z9_Glow; float qw; float _NormalIntensity; CBUFFER_END struct VertexInput { float4 positionOS : POSITION; float3 normal : NORMAL; float4 tangent : TANGENT; float4 uv0 : TEXCOORD0; float4 color : COLOR; UNITY_VERTEX_INPUT_INSTANCE_ID }; struct VertexOutput { float4 positionCS : SV_POSITION; float4 texCoord0 : TEXCOORD0; float4 color : TEXCOORD1; float3 normalWS : TEXCOORD2; float4 tangentWS : TEXCOORD3; float3 bitangentWS : TEXCOORD4; float4 ase_texcoord5 : TEXCOORD5; UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; 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); } VertexOutput vert ( VertexInput v ) { VertexOutput o = (VertexOutput)0; UNITY_SETUP_INSTANCE_ID(v); UNITY_TRANSFER_INSTANCE_ID(v, o); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); o.ase_texcoord5 = v.positionOS; #ifdef ASE_ABSOLUTE_VERTEX_POS float3 defaultVertexValue = v.positionOS.xyz; #else float3 defaultVertexValue = float3(0, 0, 0); #endif float3 vertexValue = defaultVertexValue; #ifdef ASE_ABSOLUTE_VERTEX_POS v.positionOS.xyz = vertexValue; #else v.positionOS.xyz += vertexValue; #endif v.normal = v.normal; v.tangent.xyz = v.tangent.xyz; VertexPositionInputs vertexInput = GetVertexPositionInputs(v.positionOS.xyz); o.texCoord0 = v.uv0; o.color = v.color; o.positionCS = vertexInput.positionCS; float3 normalWS = TransformObjectToWorldNormal( v.normal ); o.normalWS = -GetViewForwardDir(); float4 tangentWS = float4( TransformObjectToWorldDir( v.tangent.xyz ), v.tangent.w ); o.tangentWS = normalize( tangentWS ); half crossSign = (tangentWS.w > 0.0 ? 1.0 : -1.0) * GetOddNegativeScale(); o.bitangentWS = crossSign * cross( normalWS, tangentWS.xyz ) * tangentWS.w; return o; } half4 frag ( VertexOutput IN ) : SV_Target { UNITY_SETUP_INSTANCE_ID( IN ); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); float2 uv_GlowTex = IN.texCoord0.xy * _GlowTex_ST.xy + _GlowTex_ST.zw; float2 panner545 = ( 1.0 * _Time.y * _GlowOffsetSpeed + uv_GlowTex); float4 tex2DNode546 = tex2D( _GlowTex, panner545 ); #if defined(_GLOWCHANNEL_R) float staticSwitch548 = tex2DNode546.r; #elif defined(_GLOWCHANNEL_A) float staticSwitch548 = tex2DNode546.a; #else float staticSwitch548 = tex2DNode546.r; #endif float4 lerpResult551 = lerp( float4( 0,0,0,0 ) , ( _GlowColor * staticSwitch548 ) , _z9_Glow); float2 uv_MainTex = IN.texCoord0.xy * _MainTex_ST.xy + _MainTex_ST.zw; float2 lerpResult412 = lerp( (uv_MainTex*_UVScale + 0.0) , ( ( uv_MainTex * _UVScale ) + -( _UVScale * 0.5 ) + 0.5 ) , _UVScaleType); float2 panner414 = ( 1.0 * _Time.y * _OffsetSpeed + lerpResult412); float temp_output_83_0 = (panner414).x; float lerpResult445 = lerp( temp_output_83_0 , ( 1.0 - temp_output_83_0 ) , _HorizontalFlip); float temp_output_82_0 = (panner414).y; float lerpResult447 = lerp( temp_output_82_0 , ( 1.0 - temp_output_82_0 ) , _VerticalFlip); float2 appendResult90 = (float2(lerpResult445 , lerpResult447)); float cos1_g53 = cos( ( _Angle / ( -360.0 / ( 2.0 * PI ) ) ) ); float sin1_g53 = sin( ( _Angle / ( -360.0 / ( 2.0 * PI ) ) ) ); float2 rotator1_g53 = mul( appendResult90 - _Pivot , float2x2( cos1_g53 , -sin1_g53 , sin1_g53 , cos1_g53 )) + _Pivot; float2 temp_output_421_0 = rotator1_g53; float2 uv_FlowTex = IN.texCoord0.xy * _FlowTex_ST.xy + _FlowTex_ST.zw; float2 temp_output_427_0 = ( float2( 0,0 ) + uv_FlowTex + (0) ); float2 CenteredUV15_g52 = ( temp_output_427_0 - _FlowPolarPivot ); float2 break17_g52 = CenteredUV15_g52; float2 appendResult23_g52 = (float2(( length( CenteredUV15_g52 ) * _FlowPolarUV.x * 2.0 ) , ( atan2( break17_g52.x , break17_g52.y ) * ( 1.0 / TWO_PI ) * _FlowPolarUV.y ))); float2 lerpResult429 = lerp( temp_output_427_0 , appendResult23_g52 , _FlowPolar); float2 panner430 = ( 1.0 * _Time.y * _FlowOffsetSpeed + lerpResult429); float2 temp_cast_0 = (saturate( tex2D( _FlowTex, panner430 ).r )).xx; float2 lerpResult432 = lerp( temp_output_421_0 , temp_cast_0 , _FlowIntensity); float2 uv_FlowMaskTex = IN.texCoord0.xy * _FlowMaskTex_ST.xy + _FlowMaskTex_ST.zw; float4 tex2DNode554 = tex2D( _FlowMaskTex, uv_FlowMaskTex ); #if defined(_FLOWMASKCHANNEL_R) float staticSwitch556 = tex2DNode554.r; #elif defined(_FLOWMASKCHANNEL_A) float staticSwitch556 = tex2DNode554.a; #else float staticSwitch556 = tex2DNode554.r; #endif float lerpResult563 = lerp( 1.0 , staticSwitch556 , _FlowMask); float2 lerpResult441 = lerp( temp_output_421_0 , lerpResult432 , ( _z5_Flow * lerpResult563 )); float4 tex2DNode1 = tex2D( _MainTex, lerpResult441 ); float3 hsvTorgb1_g15 = RGBToHSV( (tex2DNode1).rgb ); float clampResult8_g15 = clamp( ( hsvTorgb1_g15.y + _S ) , 0.0 , 1.0 ); float3 hsvTorgb9_g15 = HSVToRGB( float3(( hsvTorgb1_g15.x + _H ),clampResult8_g15,( hsvTorgb1_g15.z + _V )) ); float4 appendResult124 = (float4(hsvTorgb9_g15 , (tex2DNode1).a)); float4 lerpResult443 = lerp( float4( 1,1,1,1 ) , ( IN.color * _MainColor * appendResult124 ) , _z1_MainTex); float4 MainTex537 = lerpResult443; float temp_output_494_0 = (-0.1 + (qw - 0.0) * (1.05 - -0.1) / (1.0 - 0.0)); float2 uv_DissolveTex = IN.texCoord0.xy * _DissolveTex_ST.xy + _DissolveTex_ST.zw; float2 appendResult476 = (float2(IN.ase_texcoord5.xyz.x , IN.ase_texcoord5.xyz.y)); float2 lerpResult480 = lerp( uv_DissolveTex , appendResult476 , _DissolveWorldUV); float lerpResult490 = lerp( 0.5 , tex2D( _DissolveTex, ( _DissolveUVScale * lerpResult480 ) ).r , _DissolveTexIntensity); float2 texCoord464 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 ); #if defined(_DISSOLVEDIRECTION_OFF) float staticSwitch478 = 0.0; #elif defined(_DISSOLVEDIRECTION_X_DIRECTION) float staticSwitch478 = ( distance( texCoord464.x , _DissolvePivotX ) / (1.0 + (abs( (-1.0 + (_DissolvePivotX - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) ); #elif defined(_DISSOLVEDIRECTION_Y_DIRECTION) float staticSwitch478 = ( distance( texCoord464.y , _DissolvePivotY ) / (1.0 + (abs( (-1.0 + (_DissolvePivotY - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) ); #else float staticSwitch478 = 0.0; #endif float DissolveDirection484 = saturate( staticSwitch478 ); float temp_output_496_0 = ( lerpResult490 + DissolveDirection484 ); float temp_output_498_0 = ( temp_output_496_0 + _DissolveEdgeWidth ); float temp_output_501_0 = step( temp_output_494_0 , temp_output_498_0 ); float temp_output_503_0 = ( temp_output_501_0 - step( temp_output_494_0 , temp_output_496_0 ) ); float4 lerpResult507 = lerp( MainTex537 , ( _DissolveEdgeColor * temp_output_503_0 ) , temp_output_503_0); float4 DissolveRGBChannel508 = lerpResult507; float4 lerpResult539 = lerp( MainTex537 , DissolveRGBChannel508 , _z4_Dissolve); float4 lerpResult565 = lerp( ( lerpResult551 + float4( (lerpResult539).rgb , 0.0 ) ) , _LerpColor , _LerpColor.a); float2 uv_MaskTex = IN.texCoord0.xy * _MaskTex_ST.xy + _MaskTex_ST.zw; float2 panner519 = ( 1.0 * _Time.y * _MaskOffsetSpeed + ( ( uv_MaskTex * _MaskUVScale ) + -( _MaskUVScale * 0.5 ) + 0.5 )); float cos1_g64 = cos( ( _MaskAngle / ( -360.0 / ( 2.0 * PI ) ) ) ); float sin1_g64 = sin( ( _MaskAngle / ( -360.0 / ( 2.0 * PI ) ) ) ); float2 rotator1_g64 = mul( panner519 - _MaskPivot , float2x2( cos1_g64 , -sin1_g64 , sin1_g64 , cos1_g64 )) + _MaskPivot; float4 tex2DNode521 = tex2D( _MaskTex, rotator1_g64 ); #if defined(_MASKCHANNEL_R) float staticSwitch522 = tex2DNode521.r; #elif defined(_MASKCHANNEL_A) float staticSwitch522 = tex2DNode521.a; #else float staticSwitch522 = tex2DNode521.a; #endif float lerpResult523 = lerp( 1.0 , staticSwitch522 , _z6_Mask); float smoothstepResult509 = smoothstep( temp_output_498_0 , 0.0 , temp_output_494_0); float lerpResult511 = lerp( temp_output_501_0 , smoothstepResult509 , _SoftDissolve); float DissolveAlphaChannel512 = lerpResult511; float lerpResult541 = lerp( 1.0 , DissolveAlphaChannel512 , _z4_Dissolve); float4 appendResult536 = (float4(lerpResult565.rgb , ( (lerpResult539).a * lerpResult523 * lerpResult541 ))); float2 uv_NormalMap = IN.texCoord0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw; float3 unpack567 = UnpackNormalScale( tex2D( _NormalMap, uv_NormalMap ), _NormalIntensity ); unpack567.z = lerp( 1, unpack567.z, saturate(_NormalIntensity) ); float4 Color = appendResult536; float3 Normal = unpack567; Color *= IN.color; return NormalsRenderingShared( Color, Normal, IN.tangentWS.xyz, IN.bitangentWS, IN.normalWS); } ENDHLSL } Pass { Name "Sprite Forward" Tags { "LightMode"="UniversalForward" } Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha ZTest LEqual ZWrite Off Offset 0 , 0 ColorMask RGBA HLSLPROGRAM #define ASE_SRP_VERSION 140011 #pragma vertex vert #pragma fragment frag #define _SURFACE_TYPE_TRANSPARENT 1 #define SHADERPASS SHADERPASS_SPRITEFORWARD #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" #include "Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/SurfaceData2D.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging2D.hlsl" #define ASE_NEEDS_FRAG_COLOR #define ASE_NEEDS_FRAG_POSITION #pragma shader_feature_local _GLOWCHANNEL_R _GLOWCHANNEL_A #pragma shader_feature_local _FLOWMASKCHANNEL_R _FLOWMASKCHANNEL_A #pragma shader_feature_local _DISSOLVEDIRECTION_OFF _DISSOLVEDIRECTION_X_DIRECTION _DISSOLVEDIRECTION_Y_DIRECTION #pragma shader_feature_local _MASKCHANNEL_R _MASKCHANNEL_A sampler2D _GlowTex; sampler2D _MainTex; sampler2D _FlowTex; sampler2D _FlowMaskTex; sampler2D _DissolveTex; sampler2D _MaskTex; CBUFFER_START( UnityPerMaterial ) float4 _GlowColor; float4 _DissolveEdgeColor; float4 _NormalMap_ST; float4 _FlowMaskTex_ST; float4 _LerpColor; float4 _MaskTex_ST; float4 _FlowTex_ST; float4 _MainColor; float4 _GlowTex_ST; float4 _MainTex_ST; float4 _DissolveTex_ST; float2 _Pivot; float2 _OffsetSpeed; float2 _FlowOffsetSpeed; float2 _DissolveUVScale; float2 _FlowPolarPivot; float2 _FlowPolarUV; float2 _MaskOffsetSpeed; float2 _MaskPivot; float2 _GlowOffsetSpeed; float _DissolveWorldUV; float _DissolveTexIntensity; float _DissolvePivotX; float _SoftDissolve; float _MaskAngle; float _DissolveEdgeWidth; float _MaskUVScale; float _z4_Dissolve; float _DissolvePivotY; float _z6_Mask; float _H; float _z1_MainTex; float _V; float _S; float _FlowMask; float _z5_Flow; float _FlowIntensity; float _FlowPolar; float _Angle; float _VerticalFlip; float _HorizontalFlip; float _UVScaleType; float _UVScale; float _z9_Glow; float qw; float _NormalIntensity; CBUFFER_END struct VertexInput { float4 positionOS : POSITION; float3 normal : NORMAL; float4 tangent : TANGENT; float4 uv0 : TEXCOORD0; float4 color : COLOR; UNITY_VERTEX_INPUT_INSTANCE_ID }; struct VertexOutput { float4 positionCS : SV_POSITION; float4 texCoord0 : TEXCOORD0; float4 color : TEXCOORD1; float3 positionWS : TEXCOORD2; float4 ase_texcoord3 : TEXCOORD3; UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; #if ETC1_EXTERNAL_ALPHA TEXTURE2D( _AlphaTex ); SAMPLER( sampler_AlphaTex ); float _EnableAlphaTexture; #endif 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); } VertexOutput vert( VertexInput v ) { VertexOutput o = (VertexOutput)0; UNITY_SETUP_INSTANCE_ID( v ); UNITY_TRANSFER_INSTANCE_ID( v, o ); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); o.ase_texcoord3 = v.positionOS; #ifdef ASE_ABSOLUTE_VERTEX_POS float3 defaultVertexValue = v.positionOS.xyz; #else float3 defaultVertexValue = float3( 0, 0, 0 ); #endif float3 vertexValue = defaultVertexValue; #ifdef ASE_ABSOLUTE_VERTEX_POS v.positionOS.xyz = vertexValue; #else v.positionOS.xyz += vertexValue; #endif v.normal = v.normal; v.tangent.xyz = v.tangent.xyz; VertexPositionInputs vertexInput = GetVertexPositionInputs( v.positionOS.xyz ); o.texCoord0 = v.uv0; o.color = v.color; o.positionCS = vertexInput.positionCS; o.positionWS = vertexInput.positionWS; return o; } half4 frag( VertexOutput IN ) : SV_Target { UNITY_SETUP_INSTANCE_ID( IN ); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); float3 positionWS = IN.positionWS.xyz; float2 uv_GlowTex = IN.texCoord0.xy * _GlowTex_ST.xy + _GlowTex_ST.zw; float2 panner545 = ( 1.0 * _Time.y * _GlowOffsetSpeed + uv_GlowTex); float4 tex2DNode546 = tex2D( _GlowTex, panner545 ); #if defined(_GLOWCHANNEL_R) float staticSwitch548 = tex2DNode546.r; #elif defined(_GLOWCHANNEL_A) float staticSwitch548 = tex2DNode546.a; #else float staticSwitch548 = tex2DNode546.r; #endif float4 lerpResult551 = lerp( float4( 0,0,0,0 ) , ( _GlowColor * staticSwitch548 ) , _z9_Glow); float2 uv_MainTex = IN.texCoord0.xy * _MainTex_ST.xy + _MainTex_ST.zw; float2 lerpResult412 = lerp( (uv_MainTex*_UVScale + 0.0) , ( ( uv_MainTex * _UVScale ) + -( _UVScale * 0.5 ) + 0.5 ) , _UVScaleType); float2 panner414 = ( 1.0 * _Time.y * _OffsetSpeed + lerpResult412); float temp_output_83_0 = (panner414).x; float lerpResult445 = lerp( temp_output_83_0 , ( 1.0 - temp_output_83_0 ) , _HorizontalFlip); float temp_output_82_0 = (panner414).y; float lerpResult447 = lerp( temp_output_82_0 , ( 1.0 - temp_output_82_0 ) , _VerticalFlip); float2 appendResult90 = (float2(lerpResult445 , lerpResult447)); float cos1_g53 = cos( ( _Angle / ( -360.0 / ( 2.0 * PI ) ) ) ); float sin1_g53 = sin( ( _Angle / ( -360.0 / ( 2.0 * PI ) ) ) ); float2 rotator1_g53 = mul( appendResult90 - _Pivot , float2x2( cos1_g53 , -sin1_g53 , sin1_g53 , cos1_g53 )) + _Pivot; float2 temp_output_421_0 = rotator1_g53; float2 uv_FlowTex = IN.texCoord0.xy * _FlowTex_ST.xy + _FlowTex_ST.zw; float2 temp_output_427_0 = ( float2( 0,0 ) + uv_FlowTex + (0) ); float2 CenteredUV15_g52 = ( temp_output_427_0 - _FlowPolarPivot ); float2 break17_g52 = CenteredUV15_g52; float2 appendResult23_g52 = (float2(( length( CenteredUV15_g52 ) * _FlowPolarUV.x * 2.0 ) , ( atan2( break17_g52.x , break17_g52.y ) * ( 1.0 / TWO_PI ) * _FlowPolarUV.y ))); float2 lerpResult429 = lerp( temp_output_427_0 , appendResult23_g52 , _FlowPolar); float2 panner430 = ( 1.0 * _Time.y * _FlowOffsetSpeed + lerpResult429); float2 temp_cast_0 = (saturate( tex2D( _FlowTex, panner430 ).r )).xx; float2 lerpResult432 = lerp( temp_output_421_0 , temp_cast_0 , _FlowIntensity); float2 uv_FlowMaskTex = IN.texCoord0.xy * _FlowMaskTex_ST.xy + _FlowMaskTex_ST.zw; float4 tex2DNode554 = tex2D( _FlowMaskTex, uv_FlowMaskTex ); #if defined(_FLOWMASKCHANNEL_R) float staticSwitch556 = tex2DNode554.r; #elif defined(_FLOWMASKCHANNEL_A) float staticSwitch556 = tex2DNode554.a; #else float staticSwitch556 = tex2DNode554.r; #endif float lerpResult563 = lerp( 1.0 , staticSwitch556 , _FlowMask); float2 lerpResult441 = lerp( temp_output_421_0 , lerpResult432 , ( _z5_Flow * lerpResult563 )); float4 tex2DNode1 = tex2D( _MainTex, lerpResult441 ); float3 hsvTorgb1_g15 = RGBToHSV( (tex2DNode1).rgb ); float clampResult8_g15 = clamp( ( hsvTorgb1_g15.y + _S ) , 0.0 , 1.0 ); float3 hsvTorgb9_g15 = HSVToRGB( float3(( hsvTorgb1_g15.x + _H ),clampResult8_g15,( hsvTorgb1_g15.z + _V )) ); float4 appendResult124 = (float4(hsvTorgb9_g15 , (tex2DNode1).a)); float4 lerpResult443 = lerp( float4( 1,1,1,1 ) , ( IN.color * _MainColor * appendResult124 ) , _z1_MainTex); float4 MainTex537 = lerpResult443; float temp_output_494_0 = (-0.1 + (qw - 0.0) * (1.05 - -0.1) / (1.0 - 0.0)); float2 uv_DissolveTex = IN.texCoord0.xy * _DissolveTex_ST.xy + _DissolveTex_ST.zw; float2 appendResult476 = (float2(IN.ase_texcoord3.xyz.x , IN.ase_texcoord3.xyz.y)); float2 lerpResult480 = lerp( uv_DissolveTex , appendResult476 , _DissolveWorldUV); float lerpResult490 = lerp( 0.5 , tex2D( _DissolveTex, ( _DissolveUVScale * lerpResult480 ) ).r , _DissolveTexIntensity); float2 texCoord464 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 ); #if defined(_DISSOLVEDIRECTION_OFF) float staticSwitch478 = 0.0; #elif defined(_DISSOLVEDIRECTION_X_DIRECTION) float staticSwitch478 = ( distance( texCoord464.x , _DissolvePivotX ) / (1.0 + (abs( (-1.0 + (_DissolvePivotX - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) ); #elif defined(_DISSOLVEDIRECTION_Y_DIRECTION) float staticSwitch478 = ( distance( texCoord464.y , _DissolvePivotY ) / (1.0 + (abs( (-1.0 + (_DissolvePivotY - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) ); #else float staticSwitch478 = 0.0; #endif float DissolveDirection484 = saturate( staticSwitch478 ); float temp_output_496_0 = ( lerpResult490 + DissolveDirection484 ); float temp_output_498_0 = ( temp_output_496_0 + _DissolveEdgeWidth ); float temp_output_501_0 = step( temp_output_494_0 , temp_output_498_0 ); float temp_output_503_0 = ( temp_output_501_0 - step( temp_output_494_0 , temp_output_496_0 ) ); float4 lerpResult507 = lerp( MainTex537 , ( _DissolveEdgeColor * temp_output_503_0 ) , temp_output_503_0); float4 DissolveRGBChannel508 = lerpResult507; float4 lerpResult539 = lerp( MainTex537 , DissolveRGBChannel508 , _z4_Dissolve); float4 lerpResult565 = lerp( ( lerpResult551 + float4( (lerpResult539).rgb , 0.0 ) ) , _LerpColor , _LerpColor.a); float2 uv_MaskTex = IN.texCoord0.xy * _MaskTex_ST.xy + _MaskTex_ST.zw; float2 panner519 = ( 1.0 * _Time.y * _MaskOffsetSpeed + ( ( uv_MaskTex * _MaskUVScale ) + -( _MaskUVScale * 0.5 ) + 0.5 )); float cos1_g64 = cos( ( _MaskAngle / ( -360.0 / ( 2.0 * PI ) ) ) ); float sin1_g64 = sin( ( _MaskAngle / ( -360.0 / ( 2.0 * PI ) ) ) ); float2 rotator1_g64 = mul( panner519 - _MaskPivot , float2x2( cos1_g64 , -sin1_g64 , sin1_g64 , cos1_g64 )) + _MaskPivot; float4 tex2DNode521 = tex2D( _MaskTex, rotator1_g64 ); #if defined(_MASKCHANNEL_R) float staticSwitch522 = tex2DNode521.r; #elif defined(_MASKCHANNEL_A) float staticSwitch522 = tex2DNode521.a; #else float staticSwitch522 = tex2DNode521.a; #endif float lerpResult523 = lerp( 1.0 , staticSwitch522 , _z6_Mask); float smoothstepResult509 = smoothstep( temp_output_498_0 , 0.0 , temp_output_494_0); float lerpResult511 = lerp( temp_output_501_0 , smoothstepResult509 , _SoftDissolve); float DissolveAlphaChannel512 = lerpResult511; float lerpResult541 = lerp( 1.0 , DissolveAlphaChannel512 , _z4_Dissolve); float4 appendResult536 = (float4(lerpResult565.rgb , ( (lerpResult539).a * lerpResult523 * lerpResult541 ))); float4 Color = appendResult536; #if defined(DEBUG_DISPLAY) SurfaceData2D surfaceData; InitializeSurfaceData(Color.rgb, Color.a, surfaceData); InputData2D inputData; InitializeInputData(positionWS.xy, half2(IN.texCoord0.xy), inputData); half4 debugColor = 0; SETUP_DEBUG_DATA_2D(inputData, positionWS); if (CanDebugOverrideOutputColor(surfaceData, inputData, debugColor)) { return debugColor; } #endif #if ETC1_EXTERNAL_ALPHA float4 alpha = SAMPLE_TEXTURE2D( _AlphaTex, sampler_AlphaTex, IN.texCoord0.xy ); Color.a = lerp( Color.a, alpha.r, _EnableAlphaTexture ); #endif Color *= IN.color; return Color; } ENDHLSL } Pass { Name "SceneSelectionPass" Tags { "LightMode"="SceneSelectionPass" } Cull Off HLSLPROGRAM #define ASE_SRP_VERSION 140011 #pragma vertex vert #pragma fragment frag #define _SURFACE_TYPE_TRANSPARENT 1 #define ATTRIBUTES_NEED_NORMAL #define ATTRIBUTES_NEED_TANGENT #define FEATURES_GRAPH_VERTEX #define SHADERPASS SHADERPASS_DEPTHONLY #define SCENESELECTIONPASS 1 #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" #define ASE_NEEDS_FRAG_POSITION #pragma shader_feature_local _GLOWCHANNEL_R _GLOWCHANNEL_A #pragma shader_feature_local _FLOWMASKCHANNEL_R _FLOWMASKCHANNEL_A #pragma shader_feature_local _DISSOLVEDIRECTION_OFF _DISSOLVEDIRECTION_X_DIRECTION _DISSOLVEDIRECTION_Y_DIRECTION #pragma shader_feature_local _MASKCHANNEL_R _MASKCHANNEL_A sampler2D _GlowTex; sampler2D _MainTex; sampler2D _FlowTex; sampler2D _FlowMaskTex; sampler2D _DissolveTex; sampler2D _MaskTex; CBUFFER_START( UnityPerMaterial ) float4 _GlowColor; float4 _DissolveEdgeColor; float4 _NormalMap_ST; float4 _FlowMaskTex_ST; float4 _LerpColor; float4 _MaskTex_ST; float4 _FlowTex_ST; float4 _MainColor; float4 _GlowTex_ST; float4 _MainTex_ST; float4 _DissolveTex_ST; float2 _Pivot; float2 _OffsetSpeed; float2 _FlowOffsetSpeed; float2 _DissolveUVScale; float2 _FlowPolarPivot; float2 _FlowPolarUV; float2 _MaskOffsetSpeed; float2 _MaskPivot; float2 _GlowOffsetSpeed; float _DissolveWorldUV; float _DissolveTexIntensity; float _DissolvePivotX; float _SoftDissolve; float _MaskAngle; float _DissolveEdgeWidth; float _MaskUVScale; float _z4_Dissolve; float _DissolvePivotY; float _z6_Mask; float _H; float _z1_MainTex; float _V; float _S; float _FlowMask; float _z5_Flow; float _FlowIntensity; float _FlowPolar; float _Angle; float _VerticalFlip; float _HorizontalFlip; float _UVScaleType; float _UVScale; float _z9_Glow; float qw; float _NormalIntensity; CBUFFER_END struct VertexInput { float3 positionOS : POSITION; float3 normal : NORMAL; float4 tangent : TANGENT; float4 ase_texcoord : TEXCOORD0; float4 ase_color : COLOR; UNITY_VERTEX_INPUT_INSTANCE_ID }; struct VertexOutput { float4 positionCS : SV_POSITION; float4 ase_texcoord : TEXCOORD0; float4 ase_color : COLOR; float4 ase_texcoord1 : TEXCOORD1; UNITY_VERTEX_INPUT_INSTANCE_ID }; int _ObjectId; int _PassValue; 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); } VertexOutput vert(VertexInput v ) { VertexOutput o = (VertexOutput)0; UNITY_SETUP_INSTANCE_ID(v); UNITY_TRANSFER_INSTANCE_ID(v, o); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); o.ase_texcoord.xy = v.ase_texcoord.xy; o.ase_color = v.ase_color; o.ase_texcoord1 = float4(v.positionOS,1); //setting value to unused interpolator channels and avoid initialization warnings o.ase_texcoord.zw = 0; #ifdef ASE_ABSOLUTE_VERTEX_POS float3 defaultVertexValue = v.positionOS.xyz; #else float3 defaultVertexValue = float3(0, 0, 0); #endif float3 vertexValue = defaultVertexValue; #ifdef ASE_ABSOLUTE_VERTEX_POS v.positionOS.xyz = vertexValue; #else v.positionOS.xyz += vertexValue; #endif VertexPositionInputs vertexInput = GetVertexPositionInputs(v.positionOS.xyz); float3 positionWS = TransformObjectToWorld(v.positionOS); o.positionCS = TransformWorldToHClip(positionWS); return o; } half4 frag(VertexOutput IN ) : SV_TARGET { float2 uv_GlowTex = IN.ase_texcoord.xy * _GlowTex_ST.xy + _GlowTex_ST.zw; float2 panner545 = ( 1.0 * _Time.y * _GlowOffsetSpeed + uv_GlowTex); float4 tex2DNode546 = tex2D( _GlowTex, panner545 ); #if defined(_GLOWCHANNEL_R) float staticSwitch548 = tex2DNode546.r; #elif defined(_GLOWCHANNEL_A) float staticSwitch548 = tex2DNode546.a; #else float staticSwitch548 = tex2DNode546.r; #endif float4 lerpResult551 = lerp( float4( 0,0,0,0 ) , ( _GlowColor * staticSwitch548 ) , _z9_Glow); float2 uv_MainTex = IN.ase_texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw; float2 lerpResult412 = lerp( (uv_MainTex*_UVScale + 0.0) , ( ( uv_MainTex * _UVScale ) + -( _UVScale * 0.5 ) + 0.5 ) , _UVScaleType); float2 panner414 = ( 1.0 * _Time.y * _OffsetSpeed + lerpResult412); float temp_output_83_0 = (panner414).x; float lerpResult445 = lerp( temp_output_83_0 , ( 1.0 - temp_output_83_0 ) , _HorizontalFlip); float temp_output_82_0 = (panner414).y; float lerpResult447 = lerp( temp_output_82_0 , ( 1.0 - temp_output_82_0 ) , _VerticalFlip); float2 appendResult90 = (float2(lerpResult445 , lerpResult447)); float cos1_g53 = cos( ( _Angle / ( -360.0 / ( 2.0 * PI ) ) ) ); float sin1_g53 = sin( ( _Angle / ( -360.0 / ( 2.0 * PI ) ) ) ); float2 rotator1_g53 = mul( appendResult90 - _Pivot , float2x2( cos1_g53 , -sin1_g53 , sin1_g53 , cos1_g53 )) + _Pivot; float2 temp_output_421_0 = rotator1_g53; float2 uv_FlowTex = IN.ase_texcoord.xy * _FlowTex_ST.xy + _FlowTex_ST.zw; float2 temp_output_427_0 = ( float2( 0,0 ) + uv_FlowTex + (0) ); float2 CenteredUV15_g52 = ( temp_output_427_0 - _FlowPolarPivot ); float2 break17_g52 = CenteredUV15_g52; float2 appendResult23_g52 = (float2(( length( CenteredUV15_g52 ) * _FlowPolarUV.x * 2.0 ) , ( atan2( break17_g52.x , break17_g52.y ) * ( 1.0 / TWO_PI ) * _FlowPolarUV.y ))); float2 lerpResult429 = lerp( temp_output_427_0 , appendResult23_g52 , _FlowPolar); float2 panner430 = ( 1.0 * _Time.y * _FlowOffsetSpeed + lerpResult429); float2 temp_cast_0 = (saturate( tex2D( _FlowTex, panner430 ).r )).xx; float2 lerpResult432 = lerp( temp_output_421_0 , temp_cast_0 , _FlowIntensity); float2 uv_FlowMaskTex = IN.ase_texcoord.xy * _FlowMaskTex_ST.xy + _FlowMaskTex_ST.zw; float4 tex2DNode554 = tex2D( _FlowMaskTex, uv_FlowMaskTex ); #if defined(_FLOWMASKCHANNEL_R) float staticSwitch556 = tex2DNode554.r; #elif defined(_FLOWMASKCHANNEL_A) float staticSwitch556 = tex2DNode554.a; #else float staticSwitch556 = tex2DNode554.r; #endif float lerpResult563 = lerp( 1.0 , staticSwitch556 , _FlowMask); float2 lerpResult441 = lerp( temp_output_421_0 , lerpResult432 , ( _z5_Flow * lerpResult563 )); float4 tex2DNode1 = tex2D( _MainTex, lerpResult441 ); float3 hsvTorgb1_g15 = RGBToHSV( (tex2DNode1).rgb ); float clampResult8_g15 = clamp( ( hsvTorgb1_g15.y + _S ) , 0.0 , 1.0 ); float3 hsvTorgb9_g15 = HSVToRGB( float3(( hsvTorgb1_g15.x + _H ),clampResult8_g15,( hsvTorgb1_g15.z + _V )) ); float4 appendResult124 = (float4(hsvTorgb9_g15 , (tex2DNode1).a)); float4 lerpResult443 = lerp( float4( 1,1,1,1 ) , ( IN.ase_color * _MainColor * appendResult124 ) , _z1_MainTex); float4 MainTex537 = lerpResult443; float temp_output_494_0 = (-0.1 + (qw - 0.0) * (1.05 - -0.1) / (1.0 - 0.0)); float2 uv_DissolveTex = IN.ase_texcoord.xy * _DissolveTex_ST.xy + _DissolveTex_ST.zw; float2 appendResult476 = (float2(IN.ase_texcoord1.xyz.x , IN.ase_texcoord1.xyz.y)); float2 lerpResult480 = lerp( uv_DissolveTex , appendResult476 , _DissolveWorldUV); float lerpResult490 = lerp( 0.5 , tex2D( _DissolveTex, ( _DissolveUVScale * lerpResult480 ) ).r , _DissolveTexIntensity); float2 texCoord464 = IN.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 ); #if defined(_DISSOLVEDIRECTION_OFF) float staticSwitch478 = 0.0; #elif defined(_DISSOLVEDIRECTION_X_DIRECTION) float staticSwitch478 = ( distance( texCoord464.x , _DissolvePivotX ) / (1.0 + (abs( (-1.0 + (_DissolvePivotX - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) ); #elif defined(_DISSOLVEDIRECTION_Y_DIRECTION) float staticSwitch478 = ( distance( texCoord464.y , _DissolvePivotY ) / (1.0 + (abs( (-1.0 + (_DissolvePivotY - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) ); #else float staticSwitch478 = 0.0; #endif float DissolveDirection484 = saturate( staticSwitch478 ); float temp_output_496_0 = ( lerpResult490 + DissolveDirection484 ); float temp_output_498_0 = ( temp_output_496_0 + _DissolveEdgeWidth ); float temp_output_501_0 = step( temp_output_494_0 , temp_output_498_0 ); float temp_output_503_0 = ( temp_output_501_0 - step( temp_output_494_0 , temp_output_496_0 ) ); float4 lerpResult507 = lerp( MainTex537 , ( _DissolveEdgeColor * temp_output_503_0 ) , temp_output_503_0); float4 DissolveRGBChannel508 = lerpResult507; float4 lerpResult539 = lerp( MainTex537 , DissolveRGBChannel508 , _z4_Dissolve); float4 lerpResult565 = lerp( ( lerpResult551 + float4( (lerpResult539).rgb , 0.0 ) ) , _LerpColor , _LerpColor.a); float2 uv_MaskTex = IN.ase_texcoord.xy * _MaskTex_ST.xy + _MaskTex_ST.zw; float2 panner519 = ( 1.0 * _Time.y * _MaskOffsetSpeed + ( ( uv_MaskTex * _MaskUVScale ) + -( _MaskUVScale * 0.5 ) + 0.5 )); float cos1_g64 = cos( ( _MaskAngle / ( -360.0 / ( 2.0 * PI ) ) ) ); float sin1_g64 = sin( ( _MaskAngle / ( -360.0 / ( 2.0 * PI ) ) ) ); float2 rotator1_g64 = mul( panner519 - _MaskPivot , float2x2( cos1_g64 , -sin1_g64 , sin1_g64 , cos1_g64 )) + _MaskPivot; float4 tex2DNode521 = tex2D( _MaskTex, rotator1_g64 ); #if defined(_MASKCHANNEL_R) float staticSwitch522 = tex2DNode521.r; #elif defined(_MASKCHANNEL_A) float staticSwitch522 = tex2DNode521.a; #else float staticSwitch522 = tex2DNode521.a; #endif float lerpResult523 = lerp( 1.0 , staticSwitch522 , _z6_Mask); float smoothstepResult509 = smoothstep( temp_output_498_0 , 0.0 , temp_output_494_0); float lerpResult511 = lerp( temp_output_501_0 , smoothstepResult509 , _SoftDissolve); float DissolveAlphaChannel512 = lerpResult511; float lerpResult541 = lerp( 1.0 , DissolveAlphaChannel512 , _z4_Dissolve); float4 appendResult536 = (float4(lerpResult565.rgb , ( (lerpResult539).a * lerpResult523 * lerpResult541 ))); float4 Color = appendResult536; half4 outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); return outColor; } ENDHLSL } Pass { Name "ScenePickingPass" Tags { "LightMode"="Picking" } Cull Off HLSLPROGRAM #define ASE_SRP_VERSION 140011 #pragma vertex vert #pragma fragment frag #define _SURFACE_TYPE_TRANSPARENT 1 #define ATTRIBUTES_NEED_NORMAL #define ATTRIBUTES_NEED_TANGENT #define FEATURES_GRAPH_VERTEX #define SHADERPASS SHADERPASS_DEPTHONLY #define SCENEPICKINGPASS 1 #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" #define ASE_NEEDS_FRAG_POSITION #pragma shader_feature_local _GLOWCHANNEL_R _GLOWCHANNEL_A #pragma shader_feature_local _FLOWMASKCHANNEL_R _FLOWMASKCHANNEL_A #pragma shader_feature_local _DISSOLVEDIRECTION_OFF _DISSOLVEDIRECTION_X_DIRECTION _DISSOLVEDIRECTION_Y_DIRECTION #pragma shader_feature_local _MASKCHANNEL_R _MASKCHANNEL_A sampler2D _GlowTex; sampler2D _MainTex; sampler2D _FlowTex; sampler2D _FlowMaskTex; sampler2D _DissolveTex; sampler2D _MaskTex; CBUFFER_START( UnityPerMaterial ) float4 _GlowColor; float4 _DissolveEdgeColor; float4 _NormalMap_ST; float4 _FlowMaskTex_ST; float4 _LerpColor; float4 _MaskTex_ST; float4 _FlowTex_ST; float4 _MainColor; float4 _GlowTex_ST; float4 _MainTex_ST; float4 _DissolveTex_ST; float2 _Pivot; float2 _OffsetSpeed; float2 _FlowOffsetSpeed; float2 _DissolveUVScale; float2 _FlowPolarPivot; float2 _FlowPolarUV; float2 _MaskOffsetSpeed; float2 _MaskPivot; float2 _GlowOffsetSpeed; float _DissolveWorldUV; float _DissolveTexIntensity; float _DissolvePivotX; float _SoftDissolve; float _MaskAngle; float _DissolveEdgeWidth; float _MaskUVScale; float _z4_Dissolve; float _DissolvePivotY; float _z6_Mask; float _H; float _z1_MainTex; float _V; float _S; float _FlowMask; float _z5_Flow; float _FlowIntensity; float _FlowPolar; float _Angle; float _VerticalFlip; float _HorizontalFlip; float _UVScaleType; float _UVScale; float _z9_Glow; float qw; float _NormalIntensity; CBUFFER_END struct VertexInput { float3 positionOS : POSITION; float3 normal : NORMAL; float4 tangent : TANGENT; float4 ase_texcoord : TEXCOORD0; float4 ase_color : COLOR; UNITY_VERTEX_INPUT_INSTANCE_ID }; struct VertexOutput { float4 positionCS : SV_POSITION; float4 ase_texcoord : TEXCOORD0; float4 ase_color : COLOR; float4 ase_texcoord1 : TEXCOORD1; UNITY_VERTEX_INPUT_INSTANCE_ID }; float4 _SelectionID; 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); } VertexOutput vert(VertexInput v ) { VertexOutput o = (VertexOutput)0; UNITY_SETUP_INSTANCE_ID(v); UNITY_TRANSFER_INSTANCE_ID(v, o); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); o.ase_texcoord.xy = v.ase_texcoord.xy; o.ase_color = v.ase_color; o.ase_texcoord1 = float4(v.positionOS,1); //setting value to unused interpolator channels and avoid initialization warnings o.ase_texcoord.zw = 0; #ifdef ASE_ABSOLUTE_VERTEX_POS float3 defaultVertexValue = v.positionOS.xyz; #else float3 defaultVertexValue = float3(0, 0, 0); #endif float3 vertexValue = defaultVertexValue; #ifdef ASE_ABSOLUTE_VERTEX_POS v.positionOS.xyz = vertexValue; #else v.positionOS.xyz += vertexValue; #endif VertexPositionInputs vertexInput = GetVertexPositionInputs(v.positionOS.xyz); float3 positionWS = TransformObjectToWorld(v.positionOS); o.positionCS = TransformWorldToHClip(positionWS); return o; } half4 frag(VertexOutput IN ) : SV_TARGET { float2 uv_GlowTex = IN.ase_texcoord.xy * _GlowTex_ST.xy + _GlowTex_ST.zw; float2 panner545 = ( 1.0 * _Time.y * _GlowOffsetSpeed + uv_GlowTex); float4 tex2DNode546 = tex2D( _GlowTex, panner545 ); #if defined(_GLOWCHANNEL_R) float staticSwitch548 = tex2DNode546.r; #elif defined(_GLOWCHANNEL_A) float staticSwitch548 = tex2DNode546.a; #else float staticSwitch548 = tex2DNode546.r; #endif float4 lerpResult551 = lerp( float4( 0,0,0,0 ) , ( _GlowColor * staticSwitch548 ) , _z9_Glow); float2 uv_MainTex = IN.ase_texcoord.xy * _MainTex_ST.xy + _MainTex_ST.zw; float2 lerpResult412 = lerp( (uv_MainTex*_UVScale + 0.0) , ( ( uv_MainTex * _UVScale ) + -( _UVScale * 0.5 ) + 0.5 ) , _UVScaleType); float2 panner414 = ( 1.0 * _Time.y * _OffsetSpeed + lerpResult412); float temp_output_83_0 = (panner414).x; float lerpResult445 = lerp( temp_output_83_0 , ( 1.0 - temp_output_83_0 ) , _HorizontalFlip); float temp_output_82_0 = (panner414).y; float lerpResult447 = lerp( temp_output_82_0 , ( 1.0 - temp_output_82_0 ) , _VerticalFlip); float2 appendResult90 = (float2(lerpResult445 , lerpResult447)); float cos1_g53 = cos( ( _Angle / ( -360.0 / ( 2.0 * PI ) ) ) ); float sin1_g53 = sin( ( _Angle / ( -360.0 / ( 2.0 * PI ) ) ) ); float2 rotator1_g53 = mul( appendResult90 - _Pivot , float2x2( cos1_g53 , -sin1_g53 , sin1_g53 , cos1_g53 )) + _Pivot; float2 temp_output_421_0 = rotator1_g53; float2 uv_FlowTex = IN.ase_texcoord.xy * _FlowTex_ST.xy + _FlowTex_ST.zw; float2 temp_output_427_0 = ( float2( 0,0 ) + uv_FlowTex + (0) ); float2 CenteredUV15_g52 = ( temp_output_427_0 - _FlowPolarPivot ); float2 break17_g52 = CenteredUV15_g52; float2 appendResult23_g52 = (float2(( length( CenteredUV15_g52 ) * _FlowPolarUV.x * 2.0 ) , ( atan2( break17_g52.x , break17_g52.y ) * ( 1.0 / TWO_PI ) * _FlowPolarUV.y ))); float2 lerpResult429 = lerp( temp_output_427_0 , appendResult23_g52 , _FlowPolar); float2 panner430 = ( 1.0 * _Time.y * _FlowOffsetSpeed + lerpResult429); float2 temp_cast_0 = (saturate( tex2D( _FlowTex, panner430 ).r )).xx; float2 lerpResult432 = lerp( temp_output_421_0 , temp_cast_0 , _FlowIntensity); float2 uv_FlowMaskTex = IN.ase_texcoord.xy * _FlowMaskTex_ST.xy + _FlowMaskTex_ST.zw; float4 tex2DNode554 = tex2D( _FlowMaskTex, uv_FlowMaskTex ); #if defined(_FLOWMASKCHANNEL_R) float staticSwitch556 = tex2DNode554.r; #elif defined(_FLOWMASKCHANNEL_A) float staticSwitch556 = tex2DNode554.a; #else float staticSwitch556 = tex2DNode554.r; #endif float lerpResult563 = lerp( 1.0 , staticSwitch556 , _FlowMask); float2 lerpResult441 = lerp( temp_output_421_0 , lerpResult432 , ( _z5_Flow * lerpResult563 )); float4 tex2DNode1 = tex2D( _MainTex, lerpResult441 ); float3 hsvTorgb1_g15 = RGBToHSV( (tex2DNode1).rgb ); float clampResult8_g15 = clamp( ( hsvTorgb1_g15.y + _S ) , 0.0 , 1.0 ); float3 hsvTorgb9_g15 = HSVToRGB( float3(( hsvTorgb1_g15.x + _H ),clampResult8_g15,( hsvTorgb1_g15.z + _V )) ); float4 appendResult124 = (float4(hsvTorgb9_g15 , (tex2DNode1).a)); float4 lerpResult443 = lerp( float4( 1,1,1,1 ) , ( IN.ase_color * _MainColor * appendResult124 ) , _z1_MainTex); float4 MainTex537 = lerpResult443; float temp_output_494_0 = (-0.1 + (qw - 0.0) * (1.05 - -0.1) / (1.0 - 0.0)); float2 uv_DissolveTex = IN.ase_texcoord.xy * _DissolveTex_ST.xy + _DissolveTex_ST.zw; float2 appendResult476 = (float2(IN.ase_texcoord1.xyz.x , IN.ase_texcoord1.xyz.y)); float2 lerpResult480 = lerp( uv_DissolveTex , appendResult476 , _DissolveWorldUV); float lerpResult490 = lerp( 0.5 , tex2D( _DissolveTex, ( _DissolveUVScale * lerpResult480 ) ).r , _DissolveTexIntensity); float2 texCoord464 = IN.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 ); #if defined(_DISSOLVEDIRECTION_OFF) float staticSwitch478 = 0.0; #elif defined(_DISSOLVEDIRECTION_X_DIRECTION) float staticSwitch478 = ( distance( texCoord464.x , _DissolvePivotX ) / (1.0 + (abs( (-1.0 + (_DissolvePivotX - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) ); #elif defined(_DISSOLVEDIRECTION_Y_DIRECTION) float staticSwitch478 = ( distance( texCoord464.y , _DissolvePivotY ) / (1.0 + (abs( (-1.0 + (_DissolvePivotY - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) ); #else float staticSwitch478 = 0.0; #endif float DissolveDirection484 = saturate( staticSwitch478 ); float temp_output_496_0 = ( lerpResult490 + DissolveDirection484 ); float temp_output_498_0 = ( temp_output_496_0 + _DissolveEdgeWidth ); float temp_output_501_0 = step( temp_output_494_0 , temp_output_498_0 ); float temp_output_503_0 = ( temp_output_501_0 - step( temp_output_494_0 , temp_output_496_0 ) ); float4 lerpResult507 = lerp( MainTex537 , ( _DissolveEdgeColor * temp_output_503_0 ) , temp_output_503_0); float4 DissolveRGBChannel508 = lerpResult507; float4 lerpResult539 = lerp( MainTex537 , DissolveRGBChannel508 , _z4_Dissolve); float4 lerpResult565 = lerp( ( lerpResult551 + float4( (lerpResult539).rgb , 0.0 ) ) , _LerpColor , _LerpColor.a); float2 uv_MaskTex = IN.ase_texcoord.xy * _MaskTex_ST.xy + _MaskTex_ST.zw; float2 panner519 = ( 1.0 * _Time.y * _MaskOffsetSpeed + ( ( uv_MaskTex * _MaskUVScale ) + -( _MaskUVScale * 0.5 ) + 0.5 )); float cos1_g64 = cos( ( _MaskAngle / ( -360.0 / ( 2.0 * PI ) ) ) ); float sin1_g64 = sin( ( _MaskAngle / ( -360.0 / ( 2.0 * PI ) ) ) ); float2 rotator1_g64 = mul( panner519 - _MaskPivot , float2x2( cos1_g64 , -sin1_g64 , sin1_g64 , cos1_g64 )) + _MaskPivot; float4 tex2DNode521 = tex2D( _MaskTex, rotator1_g64 ); #if defined(_MASKCHANNEL_R) float staticSwitch522 = tex2DNode521.r; #elif defined(_MASKCHANNEL_A) float staticSwitch522 = tex2DNode521.a; #else float staticSwitch522 = tex2DNode521.a; #endif float lerpResult523 = lerp( 1.0 , staticSwitch522 , _z6_Mask); float smoothstepResult509 = smoothstep( temp_output_498_0 , 0.0 , temp_output_494_0); float lerpResult511 = lerp( temp_output_501_0 , smoothstepResult509 , _SoftDissolve); float DissolveAlphaChannel512 = lerpResult511; float lerpResult541 = lerp( 1.0 , DissolveAlphaChannel512 , _z4_Dissolve); float4 appendResult536 = (float4(lerpResult565.rgb , ( (lerpResult539).a * lerpResult523 * lerpResult541 ))); float4 Color = appendResult536; half4 outColor = _SelectionID; return outColor; } ENDHLSL } } CustomEditor "LWGUI.LWGUI" Fallback "Hidden/InternalErrorShader" } /*ASEBEGIN Version=19202 Node;AmplifyShaderEditor.CommentaryNode;532;-3447.437,-2207.242;Inherit;False;2149.808;510.5121;;24;405;407;409;410;414;412;406;83;82;84;85;444;446;408;411;413;404;445;447;90;422;421;423;398;主贴图UV;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;93;-903.574,-2188.738;Inherit;False;2270.663;643.2556;;30;541;531;539;538;540;536;533;534;535;537;443;13;11;12;442;345;1;341;397;396;395;394;117;124;123;110;111;553;564;565;主贴图;1,1,1,1;0;0 Node;AmplifyShaderEditor.ComponentMaskNode;111;-545.0201,-2010.03;Inherit;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.FunctionNode;110;-309.866,-1945.778;Inherit;False;RGBtoHSV;-1;;15;827948a46ca58ff4e910af75ab2862af;0;4;10;FLOAT3;0,0,0;False;11;FLOAT;0;False;12;FLOAT;0;False;13;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.ComponentMaskNode;123;-540.3217,-1636.398;Inherit;False;False;False;False;True;1;0;COLOR;0,0,0,0;False;1;FLOAT;0 Node;AmplifyShaderEditor.DynamicAppendNode;124;-95.52184,-1949.8;Inherit;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.SimpleMultiplyOpNode;117;52.35445,-2005.646;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT4;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;394;439.8591,-2003.189;Float;False;False;-1;2;ASEMaterialInspector;0;1;New Amplify Shader;199187dac283dbe4a8cb1ea611d70c58;True;Sprite Normal;0;1;Sprite Normal;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;5;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;UniversalMaterialType=Lit;ShaderGraphShader=true;True;0;True;12;all;0;False;True;2;5;False;;10;False;;3;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;2;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=NormalsRendering;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;395;439.8591,-2003.189;Float;False;False;-1;2;ASEMaterialInspector;0;1;New Amplify Shader;199187dac283dbe4a8cb1ea611d70c58;True;Sprite Forward;0;2;Sprite Forward;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;5;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;UniversalMaterialType=Lit;ShaderGraphShader=true;True;0;True;12;all;0;False;True;2;5;False;;10;False;;3;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;2;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;396;439.8591,-2003.189;Float;False;False;-1;2;ASEMaterialInspector;0;1;New Amplify Shader;199187dac283dbe4a8cb1ea611d70c58;True;SceneSelectionPass;0;3;SceneSelectionPass;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;5;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;UniversalMaterialType=Lit;ShaderGraphShader=true;True;0;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=SceneSelectionPass;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;397;439.8591,-2003.189;Float;False;False;-1;2;ASEMaterialInspector;0;1;New Amplify Shader;199187dac283dbe4a8cb1ea611d70c58;True;ScenePickingPass;0;4;ScenePickingPass;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;5;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;UniversalMaterialType=Lit;ShaderGraphShader=true;True;0;True;12;all;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;1;LightMode=Picking;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 Node;AmplifyShaderEditor.VertexColorNode;341;-127.0492,-2127.783;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.CommentaryNode;424;-2805.902,-1631.973;Inherit;False;1795.941;557.2677;;17;439;438;437;436;435;434;432;431;430;429;428;427;426;425;554;556;562;扰动;1,1,1,1;0;0 Node;AmplifyShaderEditor.RangedFloatNode;11;-583.9666,-1823.65;Inherit;False;Property;_S;主贴图饱和度;5;0;Create;False;0;0;0;False;1;Sub(z1);False;0;0;-1;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;13;-581.394,-1726.932;Inherit;False;Property;_V;主贴图明度;6;0;Create;False;0;0;0;False;1;Sub(z1);False;0;0;-1;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;448;-1936,-848;Inherit;False;2682.816;1467.438;;46;464;456;454;472;484;482;478;475;474;473;471;470;468;465;463;459;458;507;505;488;504;497;513;512;511;510;509;508;506;503;502;501;498;496;494;491;490;487;485;483;481;480;479;477;476;469;溶解;1,1,1,1;0;0 Node;AmplifyShaderEditor.PosVertexDataNode;469;-1888,-640;Inherit;True;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.DynamicAppendNode;476;-1648,-592;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.Vector2Node;479;-1504,-784;Inherit;False;Property;_DissolveUVScale;溶解贴图UV尺寸;39;0;Create;False;0;0;0;False;1;Sub(z4);False;1,1;1,1;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.LerpOp;480;-1504,-624;Inherit;False;3;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;481;-1312,-720;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SamplerNode;483;-1168,-720;Inherit;True;Property;_DissolveTex;溶解贴图;35;0;Create;False;0;0;0;False;1;Sub(z4);False;-1;None;72c91df59ee8e464baef98c294cc648c;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;485;-1024,-800;Inherit;False;Constant;_Float4;Float 4;26;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;487;-1040,-528;Inherit;False;Property;_DissolveTexIntensity;溶解贴图强度;37;0;Create;False;0;0;0;False;1;Sub(z4);False;1;1;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;490;-864,-688;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.TFHCRemapNode;494;-544,-736;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;-0.1;False;4;FLOAT;1.05;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;496;-544,-544;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;498;-368,-448;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;500;-980.4213,-1455.984;Inherit;False;1840.552;535.5455;;16;524;523;522;521;520;526;525;514;527;518;528;529;515;516;519;517;遮罩贴图;1,1,1,1;0;0 Node;AmplifyShaderEditor.StepOpNode;501;-176,-528;Inherit;False;2;0;FLOAT;0.5;False;1;FLOAT;0.5019608;False;1;FLOAT;0 Node;AmplifyShaderEditor.StepOpNode;502;-176,-624;Inherit;False;2;0;FLOAT;0.5;False;1;FLOAT;0.5019608;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleSubtractOpNode;503;0,-592;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;506;160,-672;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;508;496,-704;Inherit;False;DissolveRGBChannel;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.SmoothstepOpNode;509;-176,-416;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;510;-144,-288;Inherit;False;Property;_SoftDissolve;软溶解;36;1;[Toggle];Create;False;0;0;0;False;1;SubToggle(z4);False;0;1;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;511;0,-432;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;512;160,-432;Inherit;False;DissolveAlphaChannel;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;513;-1792,-448;Inherit;False;Property;_DissolveWorldUV;溶解使用世界UV;38;1;[Toggle];Create;False;0;0;0;False;1;SubToggle(z4);False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;517;-564.4216,-1327.984;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.PannerNode;519;-276.4213,-1279.984;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.GetLocalVarNode;425;-2741.661,-1317.176;Inherit;False;-1;;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;427;-2549.661,-1301.176;Inherit;False;3;3;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.FunctionNode;428;-2405.661,-1557.177;Inherit;False;Polar Coordinates;-1;;52;7dab8e02884cf104ebefaa2e788e4162;0;4;1;FLOAT2;0,0;False;2;FLOAT2;0.5,0.5;False;3;FLOAT;1;False;4;FLOAT;1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.LerpOp;429;-2165.661,-1525.177;Inherit;False;3;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.PannerNode;430;-2005.661,-1493.176;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SaturateNode;431;-1541.662,-1477.176;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.Vector2Node;437;-2197.661,-1381.176;Inherit;False;Property;_FlowOffsetSpeed;扰动贴图偏移速度XY;19;0;Create;False;0;0;0;False;1;Sub(z6);False;0,0;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.Vector2Node;438;-2629.661,-1461.176;Inherit;False;Property;_FlowPolarUV;扰动贴图极坐标UV;21;0;Create;False;0;0;0;False;1;Sub(z6);False;1,1;1,1;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.Vector2Node;439;-2629.661,-1589.177;Inherit;False;Property;_FlowPolarPivot;扰动贴图极坐标锚点;22;0;Create;False;0;0;0;False;1;Sub(z6);False;0.5,0.5;0.5,0.5;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;405;-3004.511,-2024.71;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;407;-3116.511,-1896.71;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.NegateNode;409;-2972.511,-1912.71;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;410;-2828.511,-1992.71;Inherit;False;3;3;0;FLOAT2;0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.PannerNode;414;-2476.789,-2008.71;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.LerpOp;412;-2635.656,-2157.242;Inherit;False;3;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.ScaleAndOffsetNode;406;-3076.442,-2152.71;Inherit;False;3;0;FLOAT2;0,0;False;1;FLOAT;1;False;2;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.ComponentMaskNode;83;-2283.691,-2034.039;Inherit;False;True;False;True;True;1;0;FLOAT2;0,0;False;1;FLOAT;0 Node;AmplifyShaderEditor.ComponentMaskNode;82;-2284.187,-1950.721;Inherit;False;False;True;True;True;1;0;FLOAT2;0,0;False;1;FLOAT;0 Node;AmplifyShaderEditor.OneMinusNode;84;-2074.167,-2052.882;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.OneMinusNode;85;-2074.167,-1924.882;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;408;-3270.575,-1849.843;Inherit;False;Constant;_Float0;Float 0;23;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;411;-2862.916,-2088.71;Inherit;False;Property;_UVScaleType;主贴图UV从中心缩放;9;1;[Toggle];Create;False;0;2;No;0;Yes;1;0;False;1;SubToggle(z1);False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.Vector2Node;413;-2700.511,-1976.71;Inherit;False;Property;_OffsetSpeed;主贴图偏移速度XY;11;0;Create;False;0;0;0;False;1;Sub(z1);False;0,0;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.RangedFloatNode;404;-3397.437,-1973.178;Inherit;False;Property;_UVScale;主贴图UV缩放值;10;0;Create;False;0;0;0;False;1;Sub(z1);False;1;1;0;10;0;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;445;-1909.75,-2107.222;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;447;-1917.316,-1940.04;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.DynamicAppendNode;90;-1755.03,-2062.061;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.Vector2Node;422;-1766.853,-1949.851;Inherit;False;Property;_Pivot;主贴图锚点;12;0;Create;False;0;0;0;False;1;Sub(z1);False;0.5,0.5;0.5,0.5;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.FunctionNode;421;-1571.628,-2003.954;Inherit;False;Rotator;-1;;53;3c6f90f0570571047a976ebdf151c813;0;3;8;FLOAT2;0,0;False;9;FLOAT2;0,0;False;10;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.RangedFloatNode;423;-1858.834,-1809.73;Inherit;False;Property;_Angle;主贴图旋转角度;13;0;Create;False;0;0;0;False;1;Sub(z1);False;360;0;0;360;0;1;FLOAT;0 Node;AmplifyShaderEditor.NegateNode;516;-557.4216,-1214.984;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;515;-693.4216,-1206.984;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;529;-967.4211,-1273.984;Inherit;False;Property;_MaskUVScale;遮罩贴图UV缩放值;28;0;Create;False;0;0;0;False;1;Sub(z5);False;1;1;0;10;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;528;-846.4213,-1151.984;Inherit;False;Constant;_Float6;Float 3;23;0;Create;True;0;0;0;False;0;False;0.5;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;518;-407.4215,-1303.984;Inherit;False;3;3;0;FLOAT2;0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.Vector2Node;527;-487.4215,-1131.984;Inherit;False;Property;_MaskOffsetSpeed;遮罩贴图偏移速度;29;0;Create;False;0;0;0;False;1;Sub(z5);False;0,0;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.LerpOp;443;235.0003,-2050.365;Inherit;False;3;0;COLOR;1,1,1,1;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.Vector2Node;525;-238.3145,-1146.718;Inherit;False;Property;_MaskPivot;遮罩贴图锚点;30;0;Create;False;0;0;0;False;1;Sub(z5);False;0.5,0.5;0.5,0.5;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.RangedFloatNode;526;-332.3144,-1007.718;Inherit;False;Property;_MaskAngle;遮罩贴图旋转角度;31;0;Create;False;0;0;0;False;1;Sub(z5);False;0;0;0;360;0;1;FLOAT;0 Node;AmplifyShaderEditor.FunctionNode;520;-50.31423,-1198.92;Inherit;False;Rotator;-1;;64;3c6f90f0570571047a976ebdf151c813;0;3;8;FLOAT2;0,0;False;9;FLOAT2;0,0;False;10;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.StaticSwitch;522;488.3453,-1202.915;Inherit;False;Property;_MaskChannel;遮罩贴图使用通道;32;0;Create;False;0;0;0;False;0;False;0;1;1;True;;KeywordEnum;2;R;A;Create;True;True;All;9;1;FLOAT;0;False;0;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;8;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;523;704,-1184;Inherit;False;3;0;FLOAT;1;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;497;-656,-384;Inherit;False;Property;_DissolveEdgeWidth;溶解亮边宽度;40;0;Create;False;0;0;0;False;1;Sub(z4);False;0;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.ColorNode;504;-64,-784;Inherit;False;Property;_DissolveEdgeColor;溶解亮边颜色;34;1;[HDR];Create;False;0;0;0;False;1;Sub(z4);False;0,0,0,1;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RegisterLocalVarNode;537;396.1878,-2030.998;Inherit;False;MainTex;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;505;160,-768;Inherit;False;537;MainTex;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.LerpOp;507;336,-720;Inherit;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;535;1072,-1808;Inherit;False;3;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.ComponentMaskNode;534;864,-1824;Inherit;False;False;False;False;True;1;0;COLOR;0,0,0,0;False;1;FLOAT;0 Node;AmplifyShaderEditor.ComponentMaskNode;533;864,-1920;Inherit;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.DynamicAppendNode;536;1216,-1904;Inherit;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.GetLocalVarNode;540;368,-1904;Inherit;False;508;DissolveRGBChannel;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.LerpOp;539;624,-1953.354;Inherit;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.GetLocalVarNode;531;352,-1680;Inherit;False;512;DissolveAlphaChannel;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;541;624,-1696;Inherit;False;3;0;FLOAT;1;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.TFHCRemapNode;458;-992,432;Inherit;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.TFHCRemapNode;459;-992,-32;Inherit;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.AbsOpNode;463;-816,432;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.AbsOpNode;465;-816,-32;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.DistanceOpNode;468;-608,288;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0.5;False;1;FLOAT;0 Node;AmplifyShaderEditor.DistanceOpNode;470;-608,160;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0.5;False;1;FLOAT;0 Node;AmplifyShaderEditor.TFHCRemapNode;471;-704,432;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;1;False;4;FLOAT;2;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleDivideOpNode;473;-464,160;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;2;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;474;-480,64;Inherit;False;Constant;_Float1;Float 1;28;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleDivideOpNode;475;-464,288;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;2;False;1;FLOAT;0 Node;AmplifyShaderEditor.StaticSwitch;478;-320,144;Inherit;True;Property;_DissolveDirection;溶解方向;44;0;Create;False;0;0;0;False;0;False;0;0;0;True;;KeywordEnum;3;Off;X_Direction;Y_Direction;Create;True;True;All;9;1;FLOAT;0;False;0;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;8;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SaturateNode;482;16,144;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;484;160,144;Inherit;False;DissolveDirection;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.TFHCRemapNode;472;-704,-32;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;1;False;4;FLOAT;2;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;454;-1264,0;Inherit;False;Property;_DissolvePivotX;水平方向溶解锚点;42;0;Create;False;0;0;0;False;1;Sub(z4);False;0.5;0.5;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;456;-1264,416;Inherit;False;Property;_DissolvePivotY;垂直方向溶解锚点;43;0;Create;False;0;0;0;False;1;Sub(z4);False;0.5;0.5;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;542;-304,-2672;Inherit;False;1389.653;440.8036;;9;551;550;549;548;547;546;545;544;543;自发光;1,1,1,1;0;0 Node;AmplifyShaderEditor.PannerNode;545;16,-2560;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SamplerNode;546;192,-2432;Inherit;True;Property;_GlowTex;自发光贴图;47;0;Create;False;0;0;0;False;1;Sub(z9);False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.ColorNode;547;272,-2624;Inherit;False;Property;_GlowColor;自发光颜色;46;1;[HDR];Create;False;0;0;0;False;1;Sub(z9);False;1,1,1,1;1,1,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;549;688,-2512;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.LerpOp;551;864,-2416;Inherit;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.SimpleAddOpNode;553;1088,-1984;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RangedFloatNode;444;-2107.495,-2133.832;Inherit;False;Property;_HorizontalFlip;主贴图水平翻转;7;1;[Toggle];Create;False;0;2;No;0;Yes;1;0;False;1;SubToggle(z1);False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;446;-2100.841,-1839.799;Inherit;False;Property;_VerticalFlip;主贴图垂直翻转;8;1;[Toggle];Create;False;0;2;No;0;Yes;1;0;False;1;SubToggle(z1);False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.TextureCoordinatesNode;398;-3329.104,-2150.431;Inherit;False;0;1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.TextureCoordinatesNode;514;-896.4213,-1403.984;Inherit;False;0;521;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.TextureCoordinatesNode;543;-240,-2624;Inherit;False;0;546;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.SamplerNode;434;-1829.662,-1524.177;Inherit;True;Property;_FlowTex;扰动贴图;17;0;Create;False;0;0;0;False;1;Sub(z6);False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.StaticSwitch;548;480,-2416;Inherit;False;Property;_GlowChannel;发光贴图使用通道;49;0;Create;False;0;0;0;False;0;False;0;0;0;True;;KeywordEnum;2;R;A;Create;True;True;All;9;1;FLOAT;0;False;0;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;8;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;435;-1540.272,-1367.985;Inherit;False;Property;_FlowIntensity;扰动强度;18;0;Create;False;0;0;0;False;1;Sub(z6);False;0.1;0.1;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;440;-1305.981,-1801.627;Inherit;False;Property;_z5_Flow;扰动;16;1;[Toggle];Create;False;0;0;0;True;1;Main(z6,_KEYWORD,on,on);False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;524;544,-1072;Inherit;False;Property;_z6_Mask;遮罩;26;1;[Toggle];Create;False;0;2;No;0;Yes;1;0;False;1;Main(z5,_KEYWORD,on,on);False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;436;-2389.661,-1397.176;Inherit;False;Property;_FlowPolar;扰动贴图极坐标;20;1;[Toggle];Create;False;0;2;No;0;Yes;1;0;False;1;SubToggle(z6);False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;563;-1305.393,-1682.477;Inherit;False;3;0;FLOAT;1;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.StaticSwitch;556;-1433.582,-1247.937;Inherit;False;Property;_FlowMaskChannel;扰动遮罩贴图使用通道;25;0;Create;False;0;0;0;False;0;False;0;0;0;True;;KeywordEnum;2;R;A;Create;True;True;All;9;1;FLOAT;0;False;0;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;8;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;441;-1054.982,-1875.627;Inherit;False;3;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.RangedFloatNode;562;-1480.393,-1613.477;Inherit;False;Property;_FlowMask;扰动遮罩;23;1;[Toggle];Create;False;0;0;0;False;1;SubToggle(z6);False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;559;-1163.393,-1730.477;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;432;-1228.662,-1489.176;Inherit;False;3;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.TextureCoordinatesNode;426;-2773.661,-1221.176;Inherit;False;0;434;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;442;75.00026,-2101.665;Inherit;False;Property;_z1_MainTex;主贴图;0;1;[Toggle];Create;False;0;0;0;True;1;Main(z1,_KEYWORD,on,on);False;1;1;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;393;1588,-1936;Float;False;True;-1;2;LWGUI.LWGUI;0;16;BaseASE/Sprite/Lit/Default;199187dac283dbe4a8cb1ea611d70c58;True;Sprite Lit;0;0;Sprite Lit;6;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;2;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;5;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;UniversalMaterialType=Lit;ShaderGraphShader=true;True;2;True;12;all;0;False;True;2;5;False;;10;False;;3;1;False;;10;False;;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;True;True;True;0;False;;False;False;False;False;False;False;False;True;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;True;2;False;;True;3;False;;True;True;0;False;;0;False;;True;1;LightMode=Universal2D;False;False;0;Hidden/InternalErrorShader;0;0;Standard;3;Vertex Position;1;0;Debug Display;0;0;External Alpha;0;0;0;5;True;True;True;True;True;False;;False;0 Node;AmplifyShaderEditor.LerpOp;565;1198.255,-2124.205;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;1,1,1,0;False;2;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.SamplerNode;554;-1715.207,-1275.056;Inherit;True;Property;_FlowMaskTex;扰动遮罩贴图;24;0;Create;False;0;0;0;False;1;Sub(z6);False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;521;204.8825,-1214.117;Inherit;True;Property;_MaskTex;遮罩贴图;27;0;Create;False;0;0;0;False;1;Sub(z6);False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;1;-884.2774,-2013.045;Inherit;True;Property;_MainTex;主贴图;2;0;Create;False;0;0;0;False;1;Sub(z1);False;1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;0;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;538;464,-1808;Inherit;False;Property;_z4_Dissolve;溶解;33;1;[Toggle];Create;False;0;0;0;True;1;Main(z4,_KEYWORD,on,on);False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;12;-582.9666,-1928.496;Inherit;False;Property;_H;主贴图色相;4;0;Create;False;0;0;0;False;1;Sub(z1);False;0;0;-1;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;550;560,-2320;Inherit;False;Property;_z9_Glow;自发光;45;1;[Toggle];Create;False;0;2;No;0;Yes;1;0;False;1;Main(z9,_KEYWORD,on,on);False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.Vector2Node;544;-224,-2496;Inherit;False;Property;_GlowOffsetSpeed;自发光贴图偏移速度;48;0;Create;False;0;0;0;False;1;Sub(z9);False;0,0;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 Node;AmplifyShaderEditor.ColorNode;564;963.3851,-2150.442;Inherit;False;Property;_LerpColor;替换颜色;3;1;[HDR];Create;False;0;0;0;False;1;Sub(z1);False;1,1,1,0;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;567;1117.263,-1489.843;Inherit;True;Property;_NormalMap;法线贴图;14;1;[Normal];Create;False;0;0;0;False;1;Sub(z1);False;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;566;959.4102,-1490.754;Inherit;False;Property;_NormalIntensity;法线强度;15;0;Create;False;0;0;0;False;1;Sub(z1);False;1;5;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.TextureCoordinatesNode;464;-848,208;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.TextureCoordinatesNode;477;-1744,-768;Inherit;False;0;483;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;488;-768,-528;Inherit;False;484;DissolveDirection;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;491;-832,-784;Inherit;False;Property;qw;溶解程度;41;0;Create;False;0;0;0;False;1;Sub(z4);False;0;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.ColorNode;345;-157.1243,-1794.992;Inherit;False;Property;_MainColor;主颜色;1;1;[HDR];Create;False;0;0;0;False;1;Sub(z1);False;1,1,1,1;1,1,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 WireConnection;111;0;1;0 WireConnection;110;10;111;0 WireConnection;110;11;12;0 WireConnection;110;12;11;0 WireConnection;110;13;13;0 WireConnection;123;0;1;0 WireConnection;124;0;110;0 WireConnection;124;3;123;0 WireConnection;117;0;341;0 WireConnection;117;1;345;0 WireConnection;117;2;124;0 WireConnection;476;0;469;1 WireConnection;476;1;469;2 WireConnection;480;0;477;0 WireConnection;480;1;476;0 WireConnection;480;2;513;0 WireConnection;481;0;479;0 WireConnection;481;1;480;0 WireConnection;483;1;481;0 WireConnection;490;0;485;0 WireConnection;490;1;483;1 WireConnection;490;2;487;0 WireConnection;494;0;491;0 WireConnection;496;0;490;0 WireConnection;496;1;488;0 WireConnection;498;0;496;0 WireConnection;498;1;497;0 WireConnection;501;0;494;0 WireConnection;501;1;498;0 WireConnection;502;0;494;0 WireConnection;502;1;496;0 WireConnection;503;0;501;0 WireConnection;503;1;502;0 WireConnection;506;0;504;0 WireConnection;506;1;503;0 WireConnection;508;0;507;0 WireConnection;509;0;494;0 WireConnection;509;1;498;0 WireConnection;511;0;501;0 WireConnection;511;1;509;0 WireConnection;511;2;510;0 WireConnection;512;0;511;0 WireConnection;517;0;514;0 WireConnection;517;1;529;0 WireConnection;519;0;518;0 WireConnection;519;2;527;0 WireConnection;427;1;426;0 WireConnection;427;2;425;0 WireConnection;428;1;427;0 WireConnection;428;2;439;0 WireConnection;428;3;438;1 WireConnection;428;4;438;2 WireConnection;429;0;427;0 WireConnection;429;1;428;0 WireConnection;429;2;436;0 WireConnection;430;0;429;0 WireConnection;430;2;437;0 WireConnection;431;0;434;1 WireConnection;405;0;398;0 WireConnection;405;1;404;0 WireConnection;407;0;404;0 WireConnection;407;1;408;0 WireConnection;409;0;407;0 WireConnection;410;0;405;0 WireConnection;410;1;409;0 WireConnection;410;2;408;0 WireConnection;414;0;412;0 WireConnection;414;2;413;0 WireConnection;412;0;406;0 WireConnection;412;1;410;0 WireConnection;412;2;411;0 WireConnection;406;0;398;0 WireConnection;406;1;404;0 WireConnection;83;0;414;0 WireConnection;82;0;414;0 WireConnection;84;0;83;0 WireConnection;85;0;82;0 WireConnection;445;0;83;0 WireConnection;445;1;84;0 WireConnection;445;2;444;0 WireConnection;447;0;82;0 WireConnection;447;1;85;0 WireConnection;447;2;446;0 WireConnection;90;0;445;0 WireConnection;90;1;447;0 WireConnection;421;8;90;0 WireConnection;421;9;422;0 WireConnection;421;10;423;0 WireConnection;516;0;515;0 WireConnection;515;0;529;0 WireConnection;515;1;528;0 WireConnection;518;0;517;0 WireConnection;518;1;516;0 WireConnection;518;2;528;0 WireConnection;443;1;117;0 WireConnection;443;2;442;0 WireConnection;520;8;519;0 WireConnection;520;9;525;0 WireConnection;520;10;526;0 WireConnection;522;1;521;1 WireConnection;522;0;521;4 WireConnection;523;1;522;0 WireConnection;523;2;524;0 WireConnection;537;0;443;0 WireConnection;507;0;505;0 WireConnection;507;1;506;0 WireConnection;507;2;503;0 WireConnection;535;0;534;0 WireConnection;535;1;523;0 WireConnection;535;2;541;0 WireConnection;534;0;539;0 WireConnection;533;0;539;0 WireConnection;536;0;565;0 WireConnection;536;3;535;0 WireConnection;539;0;537;0 WireConnection;539;1;540;0 WireConnection;539;2;538;0 WireConnection;541;1;531;0 WireConnection;541;2;538;0 WireConnection;458;0;456;0 WireConnection;459;0;454;0 WireConnection;463;0;458;0 WireConnection;465;0;459;0 WireConnection;468;0;464;2 WireConnection;468;1;456;0 WireConnection;470;0;464;1 WireConnection;470;1;454;0 WireConnection;471;0;463;0 WireConnection;473;0;470;0 WireConnection;473;1;472;0 WireConnection;475;0;468;0 WireConnection;475;1;471;0 WireConnection;478;1;474;0 WireConnection;478;0;473;0 WireConnection;478;2;475;0 WireConnection;482;0;478;0 WireConnection;484;0;482;0 WireConnection;472;0;465;0 WireConnection;545;0;543;0 WireConnection;545;2;544;0 WireConnection;546;1;545;0 WireConnection;549;0;547;0 WireConnection;549;1;548;0 WireConnection;551;1;549;0 WireConnection;551;2;550;0 WireConnection;553;0;551;0 WireConnection;553;1;533;0 WireConnection;434;1;430;0 WireConnection;548;1;546;1 WireConnection;548;0;546;4 WireConnection;563;1;556;0 WireConnection;563;2;562;0 WireConnection;556;1;554;1 WireConnection;556;0;554;4 WireConnection;441;0;421;0 WireConnection;441;1;432;0 WireConnection;441;2;559;0 WireConnection;559;0;440;0 WireConnection;559;1;563;0 WireConnection;432;0;421;0 WireConnection;432;1;431;0 WireConnection;432;2;435;0 WireConnection;393;1;536;0 WireConnection;393;3;567;0 WireConnection;565;0;553;0 WireConnection;565;1;564;0 WireConnection;565;2;564;4 WireConnection;521;1;520;0 WireConnection;1;1;441;0 WireConnection;567;5;566;0 ASEEND*/ //CHKSM=A8012B39F7D5D8F155874DEE3DBE15C12EF97A48