// Made with Amplify Shader Editor v1.9.2.2 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "BaseASE/Sprite/Unlit" { Properties { [HideInInspector] _EmissionColor("Emission Color", Color) = (1,1,1,1) [HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5 [Enum(UnityEngine.Rendering.CullMode)]_CullMode("剔除模式", Float) = 0 [Enum(No,4,Yes,8)]_ZTestMode("显示在最前面", Float) = 4 [Enum(Off,0,On,1)]_ZWriteMode("深度写入", Float) = 0 _DepthOffset("深度偏移", Float) = 0 [Toggle][Main(z1,_KEYWORD,on,on)]_z1_MainTex("主贴图", Float) = 1 [HDR][Sub(z1)]_MainColor("主颜色", Color) = (1,1,1,1) [Sub(z1)]_MainTex("主贴图", 2D) = "white" {} [Sub(z1)]_H("主贴图色相", Range( -1 , 1)) = 0 [Sub(z1)]_S("主贴图饱和度", Range( -1 , 1)) = 0 [Sub(z1)]_V("主贴图明度", Range( -1 , 1)) = 0 [Toggle][SubToggle(z1)]_WorldUV("是否使用世界UV", Float) = 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 [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)]_DissolveIntensity("溶解程度", 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" } Cull [_CullMode] 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 Unlit" Tags { "LightMode"="Universal2D" } Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha ZTest [_ZTestMode] ZWrite [_ZWriteMode] Offset 0 , [_DepthOffset] ColorMask RGBA HLSLPROGRAM #define ASE_SRP_VERSION 120110 #pragma vertex vert #pragma fragment frag #define _SURFACE_TYPE_TRANSPARENT 1 #define SHADERPASS SHADERPASS_SPRITEUNLIT #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 _MainTex_ST; float4 _FlowMaskTex_ST; float4 _GlowColor; float4 _GlowTex_ST; float4 _MaskTex_ST; float4 _MainColor; float4 _DissolveEdgeColor; float4 _FlowTex_ST; float4 _DissolveTex_ST; float2 _FlowOffsetSpeed; float2 _FlowPolarUV; float2 _Pivot; float2 _FlowPolarPivot; float2 _MaskOffsetSpeed; float2 _OffsetSpeed; float2 _GlowOffsetSpeed; float2 _MaskPivot; float2 _DissolveUVScale; float _DissolveWorldUV; float _DissolveIntensity; float _ZWriteMode; float _DissolvePivotY; float _DissolvePivotX; float _DissolveEdgeWidth; float _z4_Dissolve; float _MaskUVScale; float _MaskAngle; float _DissolveTexIntensity; float _z1_MainTex; float _FlowIntensity; float _S; float _ZTestMode; float _DepthOffset; float _CullMode; float _z9_Glow; float _WorldUV; float _UVScale; float _UVScaleType; float _HorizontalFlip; float _VerticalFlip; float _Angle; float _FlowPolar; float _z6_Mask; float _z5_Flow; float _FlowMask; float _H; float _V; float _SoftDissolve; 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; 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 float4 _RendererColor; 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 ); float4 ase_clipPos = TransformObjectToHClip((v.positionOS).xyz); float4 screenPos = ComputeScreenPos(ase_clipPos); o.ase_texcoord3 = screenPos; 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.positionWS = vertexInput.positionWS; 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; float4 screenPos = IN.ase_texcoord3; float4 ase_screenPosNorm = screenPos / screenPos.w; ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; float2 appendResult567 = (float2(ase_screenPosNorm.x , ase_screenPosNorm.y)); float2 lerpResult566 = lerp( uv_MainTex , appendResult567 , _WorldUV); float2 lerpResult412 = lerp( (lerpResult566*_UVScale + 0.0) , ( ( lerpResult566 * _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 + (_DissolveIntensity - 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); 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(( lerpResult551 + float4( (lerpResult539).rgb , 0.0 ) ).rgb , ( (lerpResult539).a * lerpResult523 * lerpResult541 ))); float4 Color = appendResult536; #if ETC1_EXTERNAL_ALPHA float4 alpha = SAMPLE_TEXTURE2D( _AlphaTex, sampler_AlphaTex, IN.texCoord0.xy ); Color.a = lerp( Color.a, alpha.r, _EnableAlphaTexture ); #endif #if defined(DEBUG_DISPLAY) SurfaceData2D surfaceData; InitializeSurfaceData(Color.rgb, Color.a, surfaceData); InputData2D inputData; InitializeInputData(IN.positionWS.xy, half2(IN.texCoord0.xy), inputData); half4 debugColor = 0; SETUP_DEBUG_DATA_2D(inputData, IN.positionWS); if (CanDebugOverrideOutputColor(surfaceData, inputData, debugColor)) { return debugColor; } #endif Color *= IN.color * _RendererColor; return Color; } ENDHLSL } Pass { Name "Sprite Unlit Forward" Tags { "LightMode"="UniversalForward" } Blend SrcAlpha OneMinusSrcAlpha, One OneMinusSrcAlpha ZTest [_ZTestMode] ZWrite [_ZWriteMode] Offset 0 , [_DepthOffset] ColorMask RGBA HLSLPROGRAM #define ASE_SRP_VERSION 120110 #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 _MainTex_ST; float4 _FlowMaskTex_ST; float4 _GlowColor; float4 _GlowTex_ST; float4 _MaskTex_ST; float4 _MainColor; float4 _DissolveEdgeColor; float4 _FlowTex_ST; float4 _DissolveTex_ST; float2 _FlowOffsetSpeed; float2 _FlowPolarUV; float2 _Pivot; float2 _FlowPolarPivot; float2 _MaskOffsetSpeed; float2 _OffsetSpeed; float2 _GlowOffsetSpeed; float2 _MaskPivot; float2 _DissolveUVScale; float _DissolveWorldUV; float _DissolveIntensity; float _ZWriteMode; float _DissolvePivotY; float _DissolvePivotX; float _DissolveEdgeWidth; float _z4_Dissolve; float _MaskUVScale; float _MaskAngle; float _DissolveTexIntensity; float _z1_MainTex; float _FlowIntensity; float _S; float _ZTestMode; float _DepthOffset; float _CullMode; float _z9_Glow; float _WorldUV; float _UVScale; float _UVScaleType; float _HorizontalFlip; float _VerticalFlip; float _Angle; float _FlowPolar; float _z6_Mask; float _z5_Flow; float _FlowMask; float _H; float _V; float _SoftDissolve; 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; 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 float4 _RendererColor; 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 ); float4 ase_clipPos = TransformObjectToHClip((v.positionOS).xyz); float4 screenPos = ComputeScreenPos(ase_clipPos); o.ase_texcoord3 = screenPos; 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.positionWS = vertexInput.positionWS; 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; float4 screenPos = IN.ase_texcoord3; float4 ase_screenPosNorm = screenPos / screenPos.w; ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; float2 appendResult567 = (float2(ase_screenPosNorm.x , ase_screenPosNorm.y)); float2 lerpResult566 = lerp( uv_MainTex , appendResult567 , _WorldUV); float2 lerpResult412 = lerp( (lerpResult566*_UVScale + 0.0) , ( ( lerpResult566 * _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 + (_DissolveIntensity - 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); 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(( lerpResult551 + float4( (lerpResult539).rgb , 0.0 ) ).rgb , ( (lerpResult539).a * lerpResult523 * lerpResult541 ))); float4 Color = appendResult536; #if ETC1_EXTERNAL_ALPHA float4 alpha = SAMPLE_TEXTURE2D( _AlphaTex, sampler_AlphaTex, IN.texCoord0.xy ); Color.a = lerp( Color.a, alpha.r, _EnableAlphaTexture ); #endif #if defined(DEBUG_DISPLAY) SurfaceData2D surfaceData; InitializeSurfaceData(Color.rgb, Color.a, surfaceData); InputData2D inputData; InitializeInputData(IN.positionWS.xy, half2(IN.texCoord0.xy), inputData); half4 debugColor = 0; SETUP_DEBUG_DATA_2D(inputData, IN.positionWS); if (CanDebugOverrideOutputColor(surfaceData, inputData, debugColor)) { return debugColor; } #endif Color *= IN.color * _RendererColor; return Color; } ENDHLSL } Pass { Name "SceneSelectionPass" Tags { "LightMode"="SceneSelectionPass" } Cull Off HLSLPROGRAM #define ASE_SRP_VERSION 120110 #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 _MainTex_ST; float4 _FlowMaskTex_ST; float4 _GlowColor; float4 _GlowTex_ST; float4 _MaskTex_ST; float4 _MainColor; float4 _DissolveEdgeColor; float4 _FlowTex_ST; float4 _DissolveTex_ST; float2 _FlowOffsetSpeed; float2 _FlowPolarUV; float2 _Pivot; float2 _FlowPolarPivot; float2 _MaskOffsetSpeed; float2 _OffsetSpeed; float2 _GlowOffsetSpeed; float2 _MaskPivot; float2 _DissolveUVScale; float _DissolveWorldUV; float _DissolveIntensity; float _ZWriteMode; float _DissolvePivotY; float _DissolvePivotX; float _DissolveEdgeWidth; float _z4_Dissolve; float _MaskUVScale; float _MaskAngle; float _DissolveTexIntensity; float _z1_MainTex; float _FlowIntensity; float _S; float _ZTestMode; float _DepthOffset; float _CullMode; float _z9_Glow; float _WorldUV; float _UVScale; float _UVScaleType; float _HorizontalFlip; float _VerticalFlip; float _Angle; float _FlowPolar; float _z6_Mask; float _z5_Flow; float _FlowMask; float _H; float _V; float _SoftDissolve; 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; float4 ase_texcoord2 : TEXCOORD2; 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 ); float4 ase_clipPos = TransformObjectToHClip((v.positionOS).xyz); float4 screenPos = ComputeScreenPos(ase_clipPos); o.ase_texcoord1 = screenPos; o.ase_texcoord.xy = v.ase_texcoord.xy; o.ase_color = v.ase_color; o.ase_texcoord2 = 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; float4 screenPos = IN.ase_texcoord1; float4 ase_screenPosNorm = screenPos / screenPos.w; ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; float2 appendResult567 = (float2(ase_screenPosNorm.x , ase_screenPosNorm.y)); float2 lerpResult566 = lerp( uv_MainTex , appendResult567 , _WorldUV); float2 lerpResult412 = lerp( (lerpResult566*_UVScale + 0.0) , ( ( lerpResult566 * _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 + (_DissolveIntensity - 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_texcoord2.xyz.x , IN.ase_texcoord2.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); 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(( lerpResult551 + float4( (lerpResult539).rgb , 0.0 ) ).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 120110 #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 _MainTex_ST; float4 _FlowMaskTex_ST; float4 _GlowColor; float4 _GlowTex_ST; float4 _MaskTex_ST; float4 _MainColor; float4 _DissolveEdgeColor; float4 _FlowTex_ST; float4 _DissolveTex_ST; float2 _FlowOffsetSpeed; float2 _FlowPolarUV; float2 _Pivot; float2 _FlowPolarPivot; float2 _MaskOffsetSpeed; float2 _OffsetSpeed; float2 _GlowOffsetSpeed; float2 _MaskPivot; float2 _DissolveUVScale; float _DissolveWorldUV; float _DissolveIntensity; float _ZWriteMode; float _DissolvePivotY; float _DissolvePivotX; float _DissolveEdgeWidth; float _z4_Dissolve; float _MaskUVScale; float _MaskAngle; float _DissolveTexIntensity; float _z1_MainTex; float _FlowIntensity; float _S; float _ZTestMode; float _DepthOffset; float _CullMode; float _z9_Glow; float _WorldUV; float _UVScale; float _UVScaleType; float _HorizontalFlip; float _VerticalFlip; float _Angle; float _FlowPolar; float _z6_Mask; float _z5_Flow; float _FlowMask; float _H; float _V; float _SoftDissolve; 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; float4 ase_texcoord2 : TEXCOORD2; 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 ); float4 ase_clipPos = TransformObjectToHClip((v.positionOS).xyz); float4 screenPos = ComputeScreenPos(ase_clipPos); o.ase_texcoord1 = screenPos; o.ase_texcoord.xy = v.ase_texcoord.xy; o.ase_color = v.ase_color; o.ase_texcoord2 = 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; float4 screenPos = IN.ase_texcoord1; float4 ase_screenPosNorm = screenPos / screenPos.w; ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5; float2 appendResult567 = (float2(ase_screenPosNorm.x , ase_screenPosNorm.y)); float2 lerpResult566 = lerp( uv_MainTex , appendResult567 , _WorldUV); float2 lerpResult412 = lerp( (lerpResult566*_UVScale + 0.0) , ( ( lerpResult566 * _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 + (_DissolveIntensity - 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_texcoord2.xyz.x , IN.ase_texcoord2.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); 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(( lerpResult551 + float4( (lerpResult539).rgb , 0.0 ) ).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;;24;541;531;539;538;540;536;533;534;535;537;443;13;11;12;442;345;1;341;117;124;123;110;111;553;主贴图;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.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.ColorNode;345;-157.1243,-1794.992;Inherit;False;Property;_MainColor;主颜色;5;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 Node;AmplifyShaderEditor.RangedFloatNode;12;-582.9666,-1928.496;Inherit;False;Property;_H;主贴图色相;7;0;Create;False;0;0;0;False;1;Sub(z1);False;0;0;-1;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;11;-583.9666,-1823.65;Inherit;False;Property;_S;主贴图饱和度;8;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;主贴图明度;9;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尺寸;41;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;溶解贴图;37;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;溶解贴图强度;39;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.RangedFloatNode;491;-832,-784;Inherit;False;Property;_DissolveIntensity;溶解程度;43;0;Create;False;0;0;0;False;1;Sub(z4);False;0;0;0;1;0;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;软溶解;38;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;40;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;21;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;23;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;扰动贴图极坐标锚点;24;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.Vector2Node;413;-2700.511,-1976.71;Inherit;False;Property;_OffsetSpeed;主贴图偏移速度XY;15;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.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;主贴图锚点;16;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;主贴图旋转角度;17;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缩放值;30;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;遮罩贴图偏移速度;31;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;遮罩贴图锚点;32;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;遮罩贴图旋转角度;33;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.SamplerNode;521;204.8825,-1214.117;Inherit;True;Property;_MaskTex;遮罩贴图;29;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;522;488.3453,-1202.915;Inherit;False;Property;_MaskChannel;遮罩贴图使用通道;34;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;溶解亮边宽度;42;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;溶解亮边颜色;36;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.GetLocalVarNode;488;-768,-528;Inherit;False;484;DissolveDirection;1;0;OBJECT;;False;1;FLOAT;0 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.RangedFloatNode;538;464,-1808;Inherit;False;Property;_z4_Dissolve;溶解;35;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.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;溶解方向;46;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;水平方向溶解锚点;44;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;垂直方向溶解锚点;45;0;Create;False;0;0;0;False;1;Sub(z4);False;0.5;0.5;0;1;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.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.Vector2Node;544;-224,-2496;Inherit;False;Property;_GlowOffsetSpeed;自发光贴图偏移速度;50;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.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;自发光贴图;49;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;自发光颜色;48;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.RangedFloatNode;550;560,-2320;Inherit;False;Property;_z9_Glow;自发光;47;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.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;主贴图水平翻转;11;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;主贴图垂直翻转;12;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;442;75.00026,-2101.665;Inherit;False;Property;_z1_MainTex;主贴图;4;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.SamplerNode;1;-884.2774,-2013.045;Inherit;True;Property;_MainTex;主贴图;6;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.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.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;扰动贴图;19;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;发光贴图使用通道;51;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;扰动强度;20;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;扰动;18;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;遮罩;28;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;扰动贴图极坐标;22;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;扰动遮罩贴图使用通道;27;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;扰动遮罩;25;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.SamplerNode;554;-1715.207,-1275.056;Inherit;True;Property;_FlowMaskTex;扰动遮罩贴图;26;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.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.RangedFloatNode;411;-2862.916,-2088.71;Inherit;False;Property;_UVScaleType;主贴图UV从中心缩放;13;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.DynamicAppendNode;567;-3268.094,-2456.184;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.LerpOp;566;-3126.094,-2366.184;Inherit;False;3;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.ScreenPosInputsNode;568;-3464.094,-2498.184;Float;False;0;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;569;1472,-1904;Float;False;True;-1;2;LWGUI.LWGUI;0;15;BaseASE/Sprite/Unlit;cf964e524c8e69742b1d21fbe2ebcc4a;True;Sprite Unlit;0;0;Sprite Unlit;4;False;False;False;False;False;False;False;False;False;False;False;False;False;True;True;2;True;_CullMode;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;3;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;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;;True;True;2;True;_ZWriteMode;True;3;True;_ZTestMode;True;True;0;False;;0;True;_DepthOffset;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;4;True;True;True;True;False;;False;0 Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;570;1472,-1904;Float;False;False;-1;2;ASEMaterialInspector;0;1;New Amplify Shader;cf964e524c8e69742b1d21fbe2ebcc4a;True;Sprite Unlit Forward;0;1;Sprite Unlit 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;3;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;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;True;;True;3;True;;True;True;0;False;;0;True;;True;1;LightMode=UniversalForward;False;False;0;Hidden/InternalErrorShader;0;0;Standard;0;False;0 Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;571;1472,-1904;Float;False;False;-1;2;ASEMaterialInspector;0;1;New Amplify Shader;cf964e524c8e69742b1d21fbe2ebcc4a;True;SceneSelectionPass;0;2;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;3;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;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;572;1472,-1904;Float;False;False;-1;2;ASEMaterialInspector;0;1;New Amplify Shader;cf964e524c8e69742b1d21fbe2ebcc4a;True;ScenePickingPass;0;3;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;3;RenderPipeline=UniversalPipeline;RenderType=Transparent=RenderType;Queue=Transparent=Queue=0;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.RangedFloatNode;404;-3397.437,-1973.178;Inherit;False;Property;_UVScale;主贴图UV缩放值;14;0;Create;False;0;0;0;False;1;Sub(z1);False;1;1;0;10;0;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;573;1447.603,-1717.428;Inherit;False;228;390;;4;575;577;576;574;基础设置;1,1,1,1;0;0 Node;AmplifyShaderEditor.RangedFloatNode;574;1495.603,-1509.428;Inherit;False;Property;_ZWriteMode;深度写入;2;1;[Enum];Create;False;0;2;Off;0;On;1;0;True;0;False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;576;1495.603,-1589.428;Inherit;False;Property;_ZTestMode;显示在最前面;1;1;[Enum];Create;False;0;2;No;4;Yes;8;0;True;0;False;4;4;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;577;1495.603,-1429.428;Inherit;False;Property;_DepthOffset;深度偏移;3;0;Create;False;0;0;0;True;0;False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;575;1495.603,-1669.428;Inherit;False;Property;_CullMode;剔除模式;0;1;[Enum];Create;False;0;0;1;UnityEngine.Rendering.CullMode;True;0;False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;565;-3415.704,-2310.396;Inherit;False;Property;_WorldUV;是否使用世界UV;10;1;[Toggle];Create;False;0;0;0;False;1;SubToggle(z1);False;0;0;0;0;0;1;FLOAT;0 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;566;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;566;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;521;1;520;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;553;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;1;1;441;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;567;0;568;1 WireConnection;567;1;568;2 WireConnection;566;0;398;0 WireConnection;566;1;567;0 WireConnection;566;2;565;0 WireConnection;569;1;536;0 ASEEND*/ //CHKSM=B0D7A412C3798F8DE371D81564B4E072680A5E78