Files
zeling_v2/Assets/_Game/Shaders/BaseASE/Environment/Sprite_Lit.shader

1881 lines
99 KiB
GLSL

// 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