Files
zeling_v2/Assets/_Game/Shaders/BaseASE/Character/Sprite_Character.shader

1637 lines
84 KiB
Plaintext

// Made with Amplify Shader Editor v1.9.2.2
// Available at the Unity Asset Store - http://u3d.as/y3X
Shader "BaseASE/Sprite/Character"
{
Properties
{
[HideInInspector] _AlphaCutoff("Alpha Cutoff ", Range(0, 1)) = 0.5
[Enum(UnityEngine.Rendering.CullMode)]_TwoSided("单双面显示", Float) = 0
[Toggle]_ZWriteMode("深度写入", Float) = 0
[HDR]_Color("主颜色", Color) = (0.7843137,0.7843137,0.7843137,1)
_MainTex("主贴图", 2D) = "white" {}
_H("主贴图色相", Range( -1 , 1)) = 0
_S("主贴图饱和度", Range( -1 , 1)) = 0
_V("主贴图明度", Range( -1 , 1)) = 0
_MainTexOffsetSpeed("主贴图偏移速度", Vector) = (0,0,0,0)
_MainTexCenter("主贴图旋转中心", Vector) = (0.5,0.5,0,0)
_MainTexAngle("主贴图旋转角度", Range( 0 , 360)) = 0
[Toggle(_HORIZONTALFLIP_ON)] _HorizontalFlip("主贴图水平翻转", Float) = 0
[Toggle(_VERTICALFLIP_ON)] _VerticalFlip("主贴图垂直翻转", Float) = 0
[Normal]_NormalMap("法线贴图", 2D) = "bump" {}
_NormalIntensity("法线强度", Float) = 1
[HDR]_ReplaceColor("替换颜色", Color) = (2,2,2,1)
[HDR]_RimColor("边缘光颜色", Color) = (0,0,0,1)
_OutlineWidth("描边宽度", Float) = 1
[HDR]_EdgeColor("溶解亮边颜色", Color) = (0,0,0,1)
_DissolveTex("溶解贴图", 2D) = "white" {}
_DissolveEdgeWidth("溶解亮边宽度", Range( 0 , 1)) = 0
_DissolveTexPower("溶解贴图强度", Range( 0 , 1)) = 1
[Toggle(_SOFTDISSOLVE_ON)] _SoftDissolve("软溶解", Float) = 0
_DissolveInt("溶解程度", Range( -0.1 , 1.05)) = 0
[KeywordEnum(Off,X_InsideToOutside,X_OutsideToInside,Y_InsideToOutside,Y_OutsideToInside)] _DissolveDir("溶解方向", Float) = 0
_DissolvePivotX1("水平方向溶解锚点", Range( 0 , 1)) = 0.5
_DissolvePivotY1("垂直方向溶解锚点", Range( 0 , 1)) = 0.5
_FlowTex("扰动贴图", 2D) = "white" {}
_FlowStr("扰动强度", Float) = 0
_X_Speed("X_扰动速度", Float) = 0
_Y_Speed("Y_扰动速度", Float) = 0
[HDR]_EmissionColor("发光颜色", Color) = (1,1,1,1)
_EmissionTex("发光贴图", 2D) = "white" {}
[Toggle(_EMISSION_ON)] _Emission("发光", 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" }
Cull Off
HLSLINCLUDE
#pragma target 2.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_COLOR
#pragma shader_feature_local _EMISSION_ON
#pragma shader_feature_local _HORIZONTALFLIP_ON
#pragma shader_feature_local _VERTICALFLIP_ON
#pragma shader_feature_local _DISSOLVEDIR_OFF _DISSOLVEDIR_X_INSIDETOOUTSIDE _DISSOLVEDIR_X_OUTSIDETOINSIDE _DISSOLVEDIR_Y_INSIDETOOUTSIDE _DISSOLVEDIR_Y_OUTSIDETOINSIDE
#pragma shader_feature_local _SOFTDISSOLVE_ON
sampler2D _MainTex;
sampler2D _FlowTex;
sampler2D _DissolveTex;
sampler2D _EmissionTex;
sampler2D _NormalMap;
CBUFFER_START( UnityPerMaterial )
float4 _RimColor;
float4 _NormalMap_ST;
float4 _DissolveTex_ST;
float4 _MainTex_TexelSize;
float4 _FlowTex_ST;
float4 _EdgeColor;
float4 _EmissionTex_ST;
float4 _Color;
float4 _ReplaceColor;
float4 _EmissionColor;
float2 _MainTexOffsetSpeed;
float2 _MainTexCenter;
float _DissolveEdgeWidth;
float _DissolveTexPower;
float _DissolvePivotY1;
float _DissolvePivotX1;
float _DissolveInt;
float _TwoSided;
float _V;
float _S;
float _H;
float _MainTexAngle;
float _FlowStr;
float _Y_Speed;
float _X_Speed;
float _ZWriteMode;
float _OutlineWidth;
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;
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;
#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 texCoord73 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 );
float2 appendResult329 = (float2(_X_Speed , _Y_Speed));
float2 uv_FlowTex = IN.texCoord0.xy * _FlowTex_ST.xy + _FlowTex_ST.zw;
float2 panner330 = ( 1.0 * _Time.y * appendResult329 + uv_FlowTex);
float2 temp_cast_0 = (tex2D( _FlowTex, panner330 ).r).xx;
float2 lerpResult332 = lerp( texCoord73 , temp_cast_0 , _FlowStr);
float2 panner80 = ( 1.0 * _Time.y * _MainTexOffsetSpeed + lerpResult332);
float temp_output_83_0 = (panner80).x;
#ifdef _HORIZONTALFLIP_ON
float staticSwitch86 = ( 1.0 - temp_output_83_0 );
#else
float staticSwitch86 = temp_output_83_0;
#endif
float temp_output_82_0 = (panner80).y;
#ifdef _VERTICALFLIP_ON
float staticSwitch87 = ( 1.0 - temp_output_82_0 );
#else
float staticSwitch87 = temp_output_82_0;
#endif
float2 appendResult90 = (float2(staticSwitch86 , staticSwitch87));
float cos1_g10 = cos( ( _MainTexAngle / ( -360.0 / ( 2.0 * PI ) ) ) );
float sin1_g10 = sin( ( _MainTexAngle / ( -360.0 / ( 2.0 * PI ) ) ) );
float2 rotator1_g10 = mul( appendResult90 - _MainTexCenter , float2x2( cos1_g10 , -sin1_g10 , sin1_g10 , cos1_g10 )) + _MainTexCenter;
float4 tex2DNode1 = tex2D( _MainTex, rotator1_g10 );
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 temp_output_117_0 = ( _Color * appendResult124 * IN.ase_color );
float2 texCoord337 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 );
float temp_output_365_0 = ( _OutlineWidth / _MainTex_TexelSize.z );
float2 appendResult340 = (float2(( texCoord337.x - temp_output_365_0 ) , texCoord337.y));
float2 appendResult342 = (float2(( texCoord337.x + temp_output_365_0 ) , texCoord337.y));
float temp_output_366_0 = ( _OutlineWidth / _MainTex_TexelSize.w );
float2 appendResult345 = (float2(texCoord337.x , ( texCoord337.y - temp_output_366_0 )));
float2 appendResult346 = (float2(texCoord337.x , ( texCoord337.y + temp_output_366_0 )));
float temp_output_414_0 = ( ceil( tex2D( _MainTex, appendResult340 ).a ) + ceil( tex2D( _MainTex, appendResult342 ).a ) + ceil( tex2D( _MainTex, appendResult345 ).a ) + ceil( tex2D( _MainTex, appendResult346 ).a ) );
float4 lerpResult508 = lerp( float4( (temp_output_117_0).rgb , 0.0 ) , _RimColor , saturate( ( saturate( temp_output_414_0 ) - ceil( tex2DNode1.a ) ) ));
float2 texCoord215 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 );
float temp_output_222_0 = ( distance( texCoord215.x , _DissolvePivotX1 ) / (1.0 + (abs( (-1.0 + (_DissolvePivotX1 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) );
float temp_output_221_0 = ( distance( texCoord215.y , _DissolvePivotY1 ) / (1.0 + (abs( (-1.0 + (_DissolvePivotY1 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) );
#if defined(_DISSOLVEDIR_OFF)
float staticSwitch230 = 1.0;
#elif defined(_DISSOLVEDIR_X_INSIDETOOUTSIDE)
float staticSwitch230 = temp_output_222_0;
#elif defined(_DISSOLVEDIR_X_OUTSIDETOINSIDE)
float staticSwitch230 = ( 1.0 - temp_output_222_0 );
#elif defined(_DISSOLVEDIR_Y_INSIDETOOUTSIDE)
float staticSwitch230 = temp_output_221_0;
#elif defined(_DISSOLVEDIR_Y_OUTSIDETOINSIDE)
float staticSwitch230 = ( 1.0 - temp_output_221_0 );
#else
float staticSwitch230 = 1.0;
#endif
float DissolveDirection234 = saturate( staticSwitch230 );
float2 uv_DissolveTex = IN.texCoord0.xy * _DissolveTex_ST.xy + _DissolveTex_ST.zw;
float lerpResult239 = lerp( DissolveDirection234 , tex2D( _DissolveTex, uv_DissolveTex ).r , _DissolveTexPower);
float temp_output_247_0 = ( lerpResult239 + _DissolveEdgeWidth );
float temp_output_249_0 = step( _DissolveInt , temp_output_247_0 );
float temp_output_254_0 = ( temp_output_249_0 - step( _DissolveInt , lerpResult239 ) );
float4 lerpResult256 = lerp( lerpResult508 , ( _EdgeColor * temp_output_254_0 ) , temp_output_254_0);
float3 temp_output_257_0 = (lerpResult256).rgb;
float2 uv_EmissionTex = IN.texCoord0.xy * _EmissionTex_ST.xy + _EmissionTex_ST.zw;
float4 tex2DNode510 = tex2D( _EmissionTex, uv_EmissionTex );
float3 appendResult516 = (float3(tex2DNode510.r , tex2DNode510.g , tex2DNode510.b));
#ifdef _EMISSION_ON
float4 staticSwitch515 = ( ( _EmissionColor * float4( appendResult516 , 0.0 ) * tex2DNode510.a ) + float4( temp_output_257_0 , 0.0 ) );
#else
float4 staticSwitch515 = float4( temp_output_257_0 , 0.0 );
#endif
float4 lerpResult453 = lerp( staticSwitch515 , _ReplaceColor , _ReplaceColor.a);
float smoothstepResult251 = smoothstep( temp_output_247_0 , 0.0 , _DissolveInt);
#ifdef _SOFTDISSOLVE_ON
float staticSwitch252 = smoothstepResult251;
#else
float staticSwitch252 = temp_output_249_0;
#endif
float4 appendResult374 = (float4(lerpResult453.rgb , saturate( ( ( temp_output_414_0 + (temp_output_117_0).a ) * staticSwitch252 ) )));
float2 uv_NormalMap = IN.texCoord0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
float3 unpack517 = UnpackNormalScale( tex2D( _NormalMap, uv_NormalMap ), _NormalIntensity );
unpack517.z = lerp( 1, unpack517.z, saturate(_NormalIntensity) );
float4 Color = appendResult374;
float4 Mask = float4(1,1,1,1);
float3 Normal = unpack517;
#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
#pragma shader_feature_local _EMISSION_ON
#pragma shader_feature_local _HORIZONTALFLIP_ON
#pragma shader_feature_local _VERTICALFLIP_ON
#pragma shader_feature_local _DISSOLVEDIR_OFF _DISSOLVEDIR_X_INSIDETOOUTSIDE _DISSOLVEDIR_X_OUTSIDETOINSIDE _DISSOLVEDIR_Y_INSIDETOOUTSIDE _DISSOLVEDIR_Y_OUTSIDETOINSIDE
#pragma shader_feature_local _SOFTDISSOLVE_ON
sampler2D _MainTex;
sampler2D _FlowTex;
sampler2D _DissolveTex;
sampler2D _EmissionTex;
sampler2D _NormalMap;
CBUFFER_START( UnityPerMaterial )
float4 _RimColor;
float4 _NormalMap_ST;
float4 _DissolveTex_ST;
float4 _MainTex_TexelSize;
float4 _FlowTex_ST;
float4 _EdgeColor;
float4 _EmissionTex_ST;
float4 _Color;
float4 _ReplaceColor;
float4 _EmissionColor;
float2 _MainTexOffsetSpeed;
float2 _MainTexCenter;
float _DissolveEdgeWidth;
float _DissolveTexPower;
float _DissolvePivotY1;
float _DissolvePivotX1;
float _DissolveInt;
float _TwoSided;
float _V;
float _S;
float _H;
float _MainTexAngle;
float _FlowStr;
float _Y_Speed;
float _X_Speed;
float _ZWriteMode;
float _OutlineWidth;
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;
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);
#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 texCoord73 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 );
float2 appendResult329 = (float2(_X_Speed , _Y_Speed));
float2 uv_FlowTex = IN.texCoord0.xy * _FlowTex_ST.xy + _FlowTex_ST.zw;
float2 panner330 = ( 1.0 * _Time.y * appendResult329 + uv_FlowTex);
float2 temp_cast_0 = (tex2D( _FlowTex, panner330 ).r).xx;
float2 lerpResult332 = lerp( texCoord73 , temp_cast_0 , _FlowStr);
float2 panner80 = ( 1.0 * _Time.y * _MainTexOffsetSpeed + lerpResult332);
float temp_output_83_0 = (panner80).x;
#ifdef _HORIZONTALFLIP_ON
float staticSwitch86 = ( 1.0 - temp_output_83_0 );
#else
float staticSwitch86 = temp_output_83_0;
#endif
float temp_output_82_0 = (panner80).y;
#ifdef _VERTICALFLIP_ON
float staticSwitch87 = ( 1.0 - temp_output_82_0 );
#else
float staticSwitch87 = temp_output_82_0;
#endif
float2 appendResult90 = (float2(staticSwitch86 , staticSwitch87));
float cos1_g10 = cos( ( _MainTexAngle / ( -360.0 / ( 2.0 * PI ) ) ) );
float sin1_g10 = sin( ( _MainTexAngle / ( -360.0 / ( 2.0 * PI ) ) ) );
float2 rotator1_g10 = mul( appendResult90 - _MainTexCenter , float2x2( cos1_g10 , -sin1_g10 , sin1_g10 , cos1_g10 )) + _MainTexCenter;
float4 tex2DNode1 = tex2D( _MainTex, rotator1_g10 );
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 temp_output_117_0 = ( _Color * appendResult124 * IN.color );
float2 texCoord337 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 );
float temp_output_365_0 = ( _OutlineWidth / _MainTex_TexelSize.z );
float2 appendResult340 = (float2(( texCoord337.x - temp_output_365_0 ) , texCoord337.y));
float2 appendResult342 = (float2(( texCoord337.x + temp_output_365_0 ) , texCoord337.y));
float temp_output_366_0 = ( _OutlineWidth / _MainTex_TexelSize.w );
float2 appendResult345 = (float2(texCoord337.x , ( texCoord337.y - temp_output_366_0 )));
float2 appendResult346 = (float2(texCoord337.x , ( texCoord337.y + temp_output_366_0 )));
float temp_output_414_0 = ( ceil( tex2D( _MainTex, appendResult340 ).a ) + ceil( tex2D( _MainTex, appendResult342 ).a ) + ceil( tex2D( _MainTex, appendResult345 ).a ) + ceil( tex2D( _MainTex, appendResult346 ).a ) );
float4 lerpResult508 = lerp( float4( (temp_output_117_0).rgb , 0.0 ) , _RimColor , saturate( ( saturate( temp_output_414_0 ) - ceil( tex2DNode1.a ) ) ));
float2 texCoord215 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 );
float temp_output_222_0 = ( distance( texCoord215.x , _DissolvePivotX1 ) / (1.0 + (abs( (-1.0 + (_DissolvePivotX1 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) );
float temp_output_221_0 = ( distance( texCoord215.y , _DissolvePivotY1 ) / (1.0 + (abs( (-1.0 + (_DissolvePivotY1 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) );
#if defined(_DISSOLVEDIR_OFF)
float staticSwitch230 = 1.0;
#elif defined(_DISSOLVEDIR_X_INSIDETOOUTSIDE)
float staticSwitch230 = temp_output_222_0;
#elif defined(_DISSOLVEDIR_X_OUTSIDETOINSIDE)
float staticSwitch230 = ( 1.0 - temp_output_222_0 );
#elif defined(_DISSOLVEDIR_Y_INSIDETOOUTSIDE)
float staticSwitch230 = temp_output_221_0;
#elif defined(_DISSOLVEDIR_Y_OUTSIDETOINSIDE)
float staticSwitch230 = ( 1.0 - temp_output_221_0 );
#else
float staticSwitch230 = 1.0;
#endif
float DissolveDirection234 = saturate( staticSwitch230 );
float2 uv_DissolveTex = IN.texCoord0.xy * _DissolveTex_ST.xy + _DissolveTex_ST.zw;
float lerpResult239 = lerp( DissolveDirection234 , tex2D( _DissolveTex, uv_DissolveTex ).r , _DissolveTexPower);
float temp_output_247_0 = ( lerpResult239 + _DissolveEdgeWidth );
float temp_output_249_0 = step( _DissolveInt , temp_output_247_0 );
float temp_output_254_0 = ( temp_output_249_0 - step( _DissolveInt , lerpResult239 ) );
float4 lerpResult256 = lerp( lerpResult508 , ( _EdgeColor * temp_output_254_0 ) , temp_output_254_0);
float3 temp_output_257_0 = (lerpResult256).rgb;
float2 uv_EmissionTex = IN.texCoord0.xy * _EmissionTex_ST.xy + _EmissionTex_ST.zw;
float4 tex2DNode510 = tex2D( _EmissionTex, uv_EmissionTex );
float3 appendResult516 = (float3(tex2DNode510.r , tex2DNode510.g , tex2DNode510.b));
#ifdef _EMISSION_ON
float4 staticSwitch515 = ( ( _EmissionColor * float4( appendResult516 , 0.0 ) * tex2DNode510.a ) + float4( temp_output_257_0 , 0.0 ) );
#else
float4 staticSwitch515 = float4( temp_output_257_0 , 0.0 );
#endif
float4 lerpResult453 = lerp( staticSwitch515 , _ReplaceColor , _ReplaceColor.a);
float smoothstepResult251 = smoothstep( temp_output_247_0 , 0.0 , _DissolveInt);
#ifdef _SOFTDISSOLVE_ON
float staticSwitch252 = smoothstepResult251;
#else
float staticSwitch252 = temp_output_249_0;
#endif
float4 appendResult374 = (float4(lerpResult453.rgb , saturate( ( ( temp_output_414_0 + (temp_output_117_0).a ) * staticSwitch252 ) )));
float2 uv_NormalMap = IN.texCoord0.xy * _NormalMap_ST.xy + _NormalMap_ST.zw;
float3 unpack517 = UnpackNormalScale( tex2D( _NormalMap, uv_NormalMap ), _NormalIntensity );
unpack517.z = lerp( 1, unpack517.z, saturate(_NormalIntensity) );
float4 Color = appendResult374;
float3 Normal = unpack517;
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
#pragma shader_feature_local _EMISSION_ON
#pragma shader_feature_local _HORIZONTALFLIP_ON
#pragma shader_feature_local _VERTICALFLIP_ON
#pragma shader_feature_local _DISSOLVEDIR_OFF _DISSOLVEDIR_X_INSIDETOOUTSIDE _DISSOLVEDIR_X_OUTSIDETOINSIDE _DISSOLVEDIR_Y_INSIDETOOUTSIDE _DISSOLVEDIR_Y_OUTSIDETOINSIDE
#pragma shader_feature_local _SOFTDISSOLVE_ON
sampler2D _MainTex;
sampler2D _FlowTex;
sampler2D _DissolveTex;
sampler2D _EmissionTex;
CBUFFER_START( UnityPerMaterial )
float4 _RimColor;
float4 _NormalMap_ST;
float4 _DissolveTex_ST;
float4 _MainTex_TexelSize;
float4 _FlowTex_ST;
float4 _EdgeColor;
float4 _EmissionTex_ST;
float4 _Color;
float4 _ReplaceColor;
float4 _EmissionColor;
float2 _MainTexOffsetSpeed;
float2 _MainTexCenter;
float _DissolveEdgeWidth;
float _DissolveTexPower;
float _DissolvePivotY1;
float _DissolvePivotX1;
float _DissolveInt;
float _TwoSided;
float _V;
float _S;
float _H;
float _MainTexAngle;
float _FlowStr;
float _Y_Speed;
float _X_Speed;
float _ZWriteMode;
float _OutlineWidth;
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;
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 );
#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 texCoord73 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 );
float2 appendResult329 = (float2(_X_Speed , _Y_Speed));
float2 uv_FlowTex = IN.texCoord0.xy * _FlowTex_ST.xy + _FlowTex_ST.zw;
float2 panner330 = ( 1.0 * _Time.y * appendResult329 + uv_FlowTex);
float2 temp_cast_0 = (tex2D( _FlowTex, panner330 ).r).xx;
float2 lerpResult332 = lerp( texCoord73 , temp_cast_0 , _FlowStr);
float2 panner80 = ( 1.0 * _Time.y * _MainTexOffsetSpeed + lerpResult332);
float temp_output_83_0 = (panner80).x;
#ifdef _HORIZONTALFLIP_ON
float staticSwitch86 = ( 1.0 - temp_output_83_0 );
#else
float staticSwitch86 = temp_output_83_0;
#endif
float temp_output_82_0 = (panner80).y;
#ifdef _VERTICALFLIP_ON
float staticSwitch87 = ( 1.0 - temp_output_82_0 );
#else
float staticSwitch87 = temp_output_82_0;
#endif
float2 appendResult90 = (float2(staticSwitch86 , staticSwitch87));
float cos1_g10 = cos( ( _MainTexAngle / ( -360.0 / ( 2.0 * PI ) ) ) );
float sin1_g10 = sin( ( _MainTexAngle / ( -360.0 / ( 2.0 * PI ) ) ) );
float2 rotator1_g10 = mul( appendResult90 - _MainTexCenter , float2x2( cos1_g10 , -sin1_g10 , sin1_g10 , cos1_g10 )) + _MainTexCenter;
float4 tex2DNode1 = tex2D( _MainTex, rotator1_g10 );
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 temp_output_117_0 = ( _Color * appendResult124 * IN.color );
float2 texCoord337 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 );
float temp_output_365_0 = ( _OutlineWidth / _MainTex_TexelSize.z );
float2 appendResult340 = (float2(( texCoord337.x - temp_output_365_0 ) , texCoord337.y));
float2 appendResult342 = (float2(( texCoord337.x + temp_output_365_0 ) , texCoord337.y));
float temp_output_366_0 = ( _OutlineWidth / _MainTex_TexelSize.w );
float2 appendResult345 = (float2(texCoord337.x , ( texCoord337.y - temp_output_366_0 )));
float2 appendResult346 = (float2(texCoord337.x , ( texCoord337.y + temp_output_366_0 )));
float temp_output_414_0 = ( ceil( tex2D( _MainTex, appendResult340 ).a ) + ceil( tex2D( _MainTex, appendResult342 ).a ) + ceil( tex2D( _MainTex, appendResult345 ).a ) + ceil( tex2D( _MainTex, appendResult346 ).a ) );
float4 lerpResult508 = lerp( float4( (temp_output_117_0).rgb , 0.0 ) , _RimColor , saturate( ( saturate( temp_output_414_0 ) - ceil( tex2DNode1.a ) ) ));
float2 texCoord215 = IN.texCoord0.xy * float2( 1,1 ) + float2( 0,0 );
float temp_output_222_0 = ( distance( texCoord215.x , _DissolvePivotX1 ) / (1.0 + (abs( (-1.0 + (_DissolvePivotX1 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) );
float temp_output_221_0 = ( distance( texCoord215.y , _DissolvePivotY1 ) / (1.0 + (abs( (-1.0 + (_DissolvePivotY1 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) );
#if defined(_DISSOLVEDIR_OFF)
float staticSwitch230 = 1.0;
#elif defined(_DISSOLVEDIR_X_INSIDETOOUTSIDE)
float staticSwitch230 = temp_output_222_0;
#elif defined(_DISSOLVEDIR_X_OUTSIDETOINSIDE)
float staticSwitch230 = ( 1.0 - temp_output_222_0 );
#elif defined(_DISSOLVEDIR_Y_INSIDETOOUTSIDE)
float staticSwitch230 = temp_output_221_0;
#elif defined(_DISSOLVEDIR_Y_OUTSIDETOINSIDE)
float staticSwitch230 = ( 1.0 - temp_output_221_0 );
#else
float staticSwitch230 = 1.0;
#endif
float DissolveDirection234 = saturate( staticSwitch230 );
float2 uv_DissolveTex = IN.texCoord0.xy * _DissolveTex_ST.xy + _DissolveTex_ST.zw;
float lerpResult239 = lerp( DissolveDirection234 , tex2D( _DissolveTex, uv_DissolveTex ).r , _DissolveTexPower);
float temp_output_247_0 = ( lerpResult239 + _DissolveEdgeWidth );
float temp_output_249_0 = step( _DissolveInt , temp_output_247_0 );
float temp_output_254_0 = ( temp_output_249_0 - step( _DissolveInt , lerpResult239 ) );
float4 lerpResult256 = lerp( lerpResult508 , ( _EdgeColor * temp_output_254_0 ) , temp_output_254_0);
float3 temp_output_257_0 = (lerpResult256).rgb;
float2 uv_EmissionTex = IN.texCoord0.xy * _EmissionTex_ST.xy + _EmissionTex_ST.zw;
float4 tex2DNode510 = tex2D( _EmissionTex, uv_EmissionTex );
float3 appendResult516 = (float3(tex2DNode510.r , tex2DNode510.g , tex2DNode510.b));
#ifdef _EMISSION_ON
float4 staticSwitch515 = ( ( _EmissionColor * float4( appendResult516 , 0.0 ) * tex2DNode510.a ) + float4( temp_output_257_0 , 0.0 ) );
#else
float4 staticSwitch515 = float4( temp_output_257_0 , 0.0 );
#endif
float4 lerpResult453 = lerp( staticSwitch515 , _ReplaceColor , _ReplaceColor.a);
float smoothstepResult251 = smoothstep( temp_output_247_0 , 0.0 , _DissolveInt);
#ifdef _SOFTDISSOLVE_ON
float staticSwitch252 = smoothstepResult251;
#else
float staticSwitch252 = temp_output_249_0;
#endif
float4 appendResult374 = (float4(lerpResult453.rgb , saturate( ( ( temp_output_414_0 + (temp_output_117_0).a ) * staticSwitch252 ) )));
float4 Color = appendResult374;
#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_COLOR
#pragma shader_feature_local _EMISSION_ON
#pragma shader_feature_local _HORIZONTALFLIP_ON
#pragma shader_feature_local _VERTICALFLIP_ON
#pragma shader_feature_local _DISSOLVEDIR_OFF _DISSOLVEDIR_X_INSIDETOOUTSIDE _DISSOLVEDIR_X_OUTSIDETOINSIDE _DISSOLVEDIR_Y_INSIDETOOUTSIDE _DISSOLVEDIR_Y_OUTSIDETOINSIDE
#pragma shader_feature_local _SOFTDISSOLVE_ON
sampler2D _MainTex;
sampler2D _FlowTex;
sampler2D _DissolveTex;
sampler2D _EmissionTex;
CBUFFER_START( UnityPerMaterial )
float4 _RimColor;
float4 _NormalMap_ST;
float4 _DissolveTex_ST;
float4 _MainTex_TexelSize;
float4 _FlowTex_ST;
float4 _EdgeColor;
float4 _EmissionTex_ST;
float4 _Color;
float4 _ReplaceColor;
float4 _EmissionColor;
float2 _MainTexOffsetSpeed;
float2 _MainTexCenter;
float _DissolveEdgeWidth;
float _DissolveTexPower;
float _DissolvePivotY1;
float _DissolvePivotX1;
float _DissolveInt;
float _TwoSided;
float _V;
float _S;
float _H;
float _MainTexAngle;
float _FlowStr;
float _Y_Speed;
float _X_Speed;
float _ZWriteMode;
float _OutlineWidth;
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;
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;
//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 texCoord73 = IN.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 );
float2 appendResult329 = (float2(_X_Speed , _Y_Speed));
float2 uv_FlowTex = IN.ase_texcoord.xy * _FlowTex_ST.xy + _FlowTex_ST.zw;
float2 panner330 = ( 1.0 * _Time.y * appendResult329 + uv_FlowTex);
float2 temp_cast_0 = (tex2D( _FlowTex, panner330 ).r).xx;
float2 lerpResult332 = lerp( texCoord73 , temp_cast_0 , _FlowStr);
float2 panner80 = ( 1.0 * _Time.y * _MainTexOffsetSpeed + lerpResult332);
float temp_output_83_0 = (panner80).x;
#ifdef _HORIZONTALFLIP_ON
float staticSwitch86 = ( 1.0 - temp_output_83_0 );
#else
float staticSwitch86 = temp_output_83_0;
#endif
float temp_output_82_0 = (panner80).y;
#ifdef _VERTICALFLIP_ON
float staticSwitch87 = ( 1.0 - temp_output_82_0 );
#else
float staticSwitch87 = temp_output_82_0;
#endif
float2 appendResult90 = (float2(staticSwitch86 , staticSwitch87));
float cos1_g10 = cos( ( _MainTexAngle / ( -360.0 / ( 2.0 * PI ) ) ) );
float sin1_g10 = sin( ( _MainTexAngle / ( -360.0 / ( 2.0 * PI ) ) ) );
float2 rotator1_g10 = mul( appendResult90 - _MainTexCenter , float2x2( cos1_g10 , -sin1_g10 , sin1_g10 , cos1_g10 )) + _MainTexCenter;
float4 tex2DNode1 = tex2D( _MainTex, rotator1_g10 );
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 temp_output_117_0 = ( _Color * appendResult124 * IN.ase_color );
float2 texCoord337 = IN.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 );
float temp_output_365_0 = ( _OutlineWidth / _MainTex_TexelSize.z );
float2 appendResult340 = (float2(( texCoord337.x - temp_output_365_0 ) , texCoord337.y));
float2 appendResult342 = (float2(( texCoord337.x + temp_output_365_0 ) , texCoord337.y));
float temp_output_366_0 = ( _OutlineWidth / _MainTex_TexelSize.w );
float2 appendResult345 = (float2(texCoord337.x , ( texCoord337.y - temp_output_366_0 )));
float2 appendResult346 = (float2(texCoord337.x , ( texCoord337.y + temp_output_366_0 )));
float temp_output_414_0 = ( ceil( tex2D( _MainTex, appendResult340 ).a ) + ceil( tex2D( _MainTex, appendResult342 ).a ) + ceil( tex2D( _MainTex, appendResult345 ).a ) + ceil( tex2D( _MainTex, appendResult346 ).a ) );
float4 lerpResult508 = lerp( float4( (temp_output_117_0).rgb , 0.0 ) , _RimColor , saturate( ( saturate( temp_output_414_0 ) - ceil( tex2DNode1.a ) ) ));
float2 texCoord215 = IN.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 );
float temp_output_222_0 = ( distance( texCoord215.x , _DissolvePivotX1 ) / (1.0 + (abs( (-1.0 + (_DissolvePivotX1 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) );
float temp_output_221_0 = ( distance( texCoord215.y , _DissolvePivotY1 ) / (1.0 + (abs( (-1.0 + (_DissolvePivotY1 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) );
#if defined(_DISSOLVEDIR_OFF)
float staticSwitch230 = 1.0;
#elif defined(_DISSOLVEDIR_X_INSIDETOOUTSIDE)
float staticSwitch230 = temp_output_222_0;
#elif defined(_DISSOLVEDIR_X_OUTSIDETOINSIDE)
float staticSwitch230 = ( 1.0 - temp_output_222_0 );
#elif defined(_DISSOLVEDIR_Y_INSIDETOOUTSIDE)
float staticSwitch230 = temp_output_221_0;
#elif defined(_DISSOLVEDIR_Y_OUTSIDETOINSIDE)
float staticSwitch230 = ( 1.0 - temp_output_221_0 );
#else
float staticSwitch230 = 1.0;
#endif
float DissolveDirection234 = saturate( staticSwitch230 );
float2 uv_DissolveTex = IN.ase_texcoord.xy * _DissolveTex_ST.xy + _DissolveTex_ST.zw;
float lerpResult239 = lerp( DissolveDirection234 , tex2D( _DissolveTex, uv_DissolveTex ).r , _DissolveTexPower);
float temp_output_247_0 = ( lerpResult239 + _DissolveEdgeWidth );
float temp_output_249_0 = step( _DissolveInt , temp_output_247_0 );
float temp_output_254_0 = ( temp_output_249_0 - step( _DissolveInt , lerpResult239 ) );
float4 lerpResult256 = lerp( lerpResult508 , ( _EdgeColor * temp_output_254_0 ) , temp_output_254_0);
float3 temp_output_257_0 = (lerpResult256).rgb;
float2 uv_EmissionTex = IN.ase_texcoord.xy * _EmissionTex_ST.xy + _EmissionTex_ST.zw;
float4 tex2DNode510 = tex2D( _EmissionTex, uv_EmissionTex );
float3 appendResult516 = (float3(tex2DNode510.r , tex2DNode510.g , tex2DNode510.b));
#ifdef _EMISSION_ON
float4 staticSwitch515 = ( ( _EmissionColor * float4( appendResult516 , 0.0 ) * tex2DNode510.a ) + float4( temp_output_257_0 , 0.0 ) );
#else
float4 staticSwitch515 = float4( temp_output_257_0 , 0.0 );
#endif
float4 lerpResult453 = lerp( staticSwitch515 , _ReplaceColor , _ReplaceColor.a);
float smoothstepResult251 = smoothstep( temp_output_247_0 , 0.0 , _DissolveInt);
#ifdef _SOFTDISSOLVE_ON
float staticSwitch252 = smoothstepResult251;
#else
float staticSwitch252 = temp_output_249_0;
#endif
float4 appendResult374 = (float4(lerpResult453.rgb , saturate( ( ( temp_output_414_0 + (temp_output_117_0).a ) * staticSwitch252 ) )));
float4 Color = appendResult374;
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_COLOR
#pragma shader_feature_local _EMISSION_ON
#pragma shader_feature_local _HORIZONTALFLIP_ON
#pragma shader_feature_local _VERTICALFLIP_ON
#pragma shader_feature_local _DISSOLVEDIR_OFF _DISSOLVEDIR_X_INSIDETOOUTSIDE _DISSOLVEDIR_X_OUTSIDETOINSIDE _DISSOLVEDIR_Y_INSIDETOOUTSIDE _DISSOLVEDIR_Y_OUTSIDETOINSIDE
#pragma shader_feature_local _SOFTDISSOLVE_ON
sampler2D _MainTex;
sampler2D _FlowTex;
sampler2D _DissolveTex;
sampler2D _EmissionTex;
CBUFFER_START( UnityPerMaterial )
float4 _RimColor;
float4 _NormalMap_ST;
float4 _DissolveTex_ST;
float4 _MainTex_TexelSize;
float4 _FlowTex_ST;
float4 _EdgeColor;
float4 _EmissionTex_ST;
float4 _Color;
float4 _ReplaceColor;
float4 _EmissionColor;
float2 _MainTexOffsetSpeed;
float2 _MainTexCenter;
float _DissolveEdgeWidth;
float _DissolveTexPower;
float _DissolvePivotY1;
float _DissolvePivotX1;
float _DissolveInt;
float _TwoSided;
float _V;
float _S;
float _H;
float _MainTexAngle;
float _FlowStr;
float _Y_Speed;
float _X_Speed;
float _ZWriteMode;
float _OutlineWidth;
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;
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;
//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 texCoord73 = IN.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 );
float2 appendResult329 = (float2(_X_Speed , _Y_Speed));
float2 uv_FlowTex = IN.ase_texcoord.xy * _FlowTex_ST.xy + _FlowTex_ST.zw;
float2 panner330 = ( 1.0 * _Time.y * appendResult329 + uv_FlowTex);
float2 temp_cast_0 = (tex2D( _FlowTex, panner330 ).r).xx;
float2 lerpResult332 = lerp( texCoord73 , temp_cast_0 , _FlowStr);
float2 panner80 = ( 1.0 * _Time.y * _MainTexOffsetSpeed + lerpResult332);
float temp_output_83_0 = (panner80).x;
#ifdef _HORIZONTALFLIP_ON
float staticSwitch86 = ( 1.0 - temp_output_83_0 );
#else
float staticSwitch86 = temp_output_83_0;
#endif
float temp_output_82_0 = (panner80).y;
#ifdef _VERTICALFLIP_ON
float staticSwitch87 = ( 1.0 - temp_output_82_0 );
#else
float staticSwitch87 = temp_output_82_0;
#endif
float2 appendResult90 = (float2(staticSwitch86 , staticSwitch87));
float cos1_g10 = cos( ( _MainTexAngle / ( -360.0 / ( 2.0 * PI ) ) ) );
float sin1_g10 = sin( ( _MainTexAngle / ( -360.0 / ( 2.0 * PI ) ) ) );
float2 rotator1_g10 = mul( appendResult90 - _MainTexCenter , float2x2( cos1_g10 , -sin1_g10 , sin1_g10 , cos1_g10 )) + _MainTexCenter;
float4 tex2DNode1 = tex2D( _MainTex, rotator1_g10 );
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 temp_output_117_0 = ( _Color * appendResult124 * IN.ase_color );
float2 texCoord337 = IN.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 );
float temp_output_365_0 = ( _OutlineWidth / _MainTex_TexelSize.z );
float2 appendResult340 = (float2(( texCoord337.x - temp_output_365_0 ) , texCoord337.y));
float2 appendResult342 = (float2(( texCoord337.x + temp_output_365_0 ) , texCoord337.y));
float temp_output_366_0 = ( _OutlineWidth / _MainTex_TexelSize.w );
float2 appendResult345 = (float2(texCoord337.x , ( texCoord337.y - temp_output_366_0 )));
float2 appendResult346 = (float2(texCoord337.x , ( texCoord337.y + temp_output_366_0 )));
float temp_output_414_0 = ( ceil( tex2D( _MainTex, appendResult340 ).a ) + ceil( tex2D( _MainTex, appendResult342 ).a ) + ceil( tex2D( _MainTex, appendResult345 ).a ) + ceil( tex2D( _MainTex, appendResult346 ).a ) );
float4 lerpResult508 = lerp( float4( (temp_output_117_0).rgb , 0.0 ) , _RimColor , saturate( ( saturate( temp_output_414_0 ) - ceil( tex2DNode1.a ) ) ));
float2 texCoord215 = IN.ase_texcoord.xy * float2( 1,1 ) + float2( 0,0 );
float temp_output_222_0 = ( distance( texCoord215.x , _DissolvePivotX1 ) / (1.0 + (abs( (-1.0 + (_DissolvePivotX1 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) );
float temp_output_221_0 = ( distance( texCoord215.y , _DissolvePivotY1 ) / (1.0 + (abs( (-1.0 + (_DissolvePivotY1 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)) ) - 0.0) * (2.0 - 1.0) / (1.0 - 0.0)) );
#if defined(_DISSOLVEDIR_OFF)
float staticSwitch230 = 1.0;
#elif defined(_DISSOLVEDIR_X_INSIDETOOUTSIDE)
float staticSwitch230 = temp_output_222_0;
#elif defined(_DISSOLVEDIR_X_OUTSIDETOINSIDE)
float staticSwitch230 = ( 1.0 - temp_output_222_0 );
#elif defined(_DISSOLVEDIR_Y_INSIDETOOUTSIDE)
float staticSwitch230 = temp_output_221_0;
#elif defined(_DISSOLVEDIR_Y_OUTSIDETOINSIDE)
float staticSwitch230 = ( 1.0 - temp_output_221_0 );
#else
float staticSwitch230 = 1.0;
#endif
float DissolveDirection234 = saturate( staticSwitch230 );
float2 uv_DissolveTex = IN.ase_texcoord.xy * _DissolveTex_ST.xy + _DissolveTex_ST.zw;
float lerpResult239 = lerp( DissolveDirection234 , tex2D( _DissolveTex, uv_DissolveTex ).r , _DissolveTexPower);
float temp_output_247_0 = ( lerpResult239 + _DissolveEdgeWidth );
float temp_output_249_0 = step( _DissolveInt , temp_output_247_0 );
float temp_output_254_0 = ( temp_output_249_0 - step( _DissolveInt , lerpResult239 ) );
float4 lerpResult256 = lerp( lerpResult508 , ( _EdgeColor * temp_output_254_0 ) , temp_output_254_0);
float3 temp_output_257_0 = (lerpResult256).rgb;
float2 uv_EmissionTex = IN.ase_texcoord.xy * _EmissionTex_ST.xy + _EmissionTex_ST.zw;
float4 tex2DNode510 = tex2D( _EmissionTex, uv_EmissionTex );
float3 appendResult516 = (float3(tex2DNode510.r , tex2DNode510.g , tex2DNode510.b));
#ifdef _EMISSION_ON
float4 staticSwitch515 = ( ( _EmissionColor * float4( appendResult516 , 0.0 ) * tex2DNode510.a ) + float4( temp_output_257_0 , 0.0 ) );
#else
float4 staticSwitch515 = float4( temp_output_257_0 , 0.0 );
#endif
float4 lerpResult453 = lerp( staticSwitch515 , _ReplaceColor , _ReplaceColor.a);
float smoothstepResult251 = smoothstep( temp_output_247_0 , 0.0 , _DissolveInt);
#ifdef _SOFTDISSOLVE_ON
float staticSwitch252 = smoothstepResult251;
#else
float staticSwitch252 = temp_output_249_0;
#endif
float4 appendResult374 = (float4(lerpResult453.rgb , saturate( ( ( temp_output_414_0 + (temp_output_117_0).a ) * staticSwitch252 ) )));
float4 Color = appendResult374;
half4 outColor = _SelectionID;
return outColor;
}
ENDHLSL
}
}
CustomEditor "UnityEditor.ShaderGraph.PBRMasterGUI"
Fallback "Hidden/InternalErrorShader"
}
/*ASEBEGIN
Version=19202
Node;AmplifyShaderEditor.CommentaryNode;333;-3390.635,-2192.64;Inherit;False;846.4639;413.1736;;7;328;327;326;329;330;323;325;UV扰动;1,1,1,1;0;0
Node;AmplifyShaderEditor.RangedFloatNode;327;-3339.813,-2005.641;Inherit;False;Property;_X_Speed;X_扰动速度;28;0;Create;False;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;328;-3340.635,-1924.917;Inherit;False;Property;_Y_Speed;Y_扰动速度;29;0;Create;False;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.TextureCoordinatesNode;326;-3264.813,-2142.64;Inherit;False;0;323;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.DynamicAppendNode;329;-3182.893,-2006.523;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.CommentaryNode;67;-2500.055,-2193.827;Inherit;False;1562.956;519.4134;;14;91;90;32;28;87;86;85;84;83;82;80;77;73;332;UV;1,1,1,1;0;0
Node;AmplifyShaderEditor.PannerNode;330;-3039.326,-2088.06;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
Node;AmplifyShaderEditor.SamplerNode;323;-2864.171,-2095.376;Inherit;True;Property;_FlowTex;扰动贴图;26;0;Create;False;0;0;0;False;0;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.RangedFloatNode;325;-2710.44,-1895.467;Inherit;False;Property;_FlowStr;扰动强度;27;0;Create;False;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.TextureCoordinatesNode;73;-2465.22,-2142.437;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.CommentaryNode;202;-958.807,-1348.77;Inherit;False;2391.231;1311.975;;36;257;256;255;254;253;252;251;250;249;247;246;244;242;239;238;236;234;233;231;230;228;226;225;222;221;220;219;218;217;215;214;212;211;209;207;204;溶解;1,1,1,1;0;0
Node;AmplifyShaderEditor.Vector2Node;77;-2236.027,-1982.246;Inherit;False;Property;_MainTexOffsetSpeed;主贴图偏移速度;7;0;Create;False;0;0;0;False;0;False;0,0;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
Node;AmplifyShaderEditor.LerpOp;332;-2244.623,-2146.987;Inherit;False;3;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.RangedFloatNode;207;-676.3236,-291.6543;Inherit;False;Property;_DissolvePivotY1;垂直方向溶解锚点;25;0;Create;False;0;0;0;False;0;False;0.5;1;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;204;-681.5446,-538.8662;Inherit;False;Property;_DissolvePivotX1;水平方向溶解锚点;24;0;Create;False;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.PannerNode;80;-2056.453,-2027.995;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
Node;AmplifyShaderEditor.TFHCRemapNode;211;-377.3285,-677.8621;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.ComponentMaskNode;82;-1875.448,-1975.304;Inherit;False;False;True;True;True;1;0;FLOAT2;0,0;False;1;FLOAT;0
Node;AmplifyShaderEditor.CommentaryNode;386;-1986,-3538;Inherit;False;1997;952;;26;364;335;366;365;338;341;346;345;342;340;339;343;347;337;350;348;336;349;382;384;381;383;414;493;496;495;描边;1,1,1,1;0;0
Node;AmplifyShaderEditor.TFHCRemapNode;209;-399.1385,-215.6163;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.ComponentMaskNode;83;-1876.252,-2056.022;Inherit;False;True;False;True;True;1;0;FLOAT2;0,0;False;1;FLOAT;0
Node;AmplifyShaderEditor.AbsOpNode;214;-200.3285,-677.8621;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.TextureCoordinatesNode;215;-252.0297,-428.6462;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.AbsOpNode;212;-222.1384,-215.6163;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.OneMinusNode;85;-1680.592,-1984.225;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.OneMinusNode;84;-1687.018,-2106.193;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.TFHCRemapNode;217;-110.1385,-215.6163;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.DistanceOpNode;220;-12.04154,-338.1184;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0.5;False;1;FLOAT;0
Node;AmplifyShaderEditor.DistanceOpNode;218;-11.34147,-491.9182;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0.5;False;1;FLOAT;0
Node;AmplifyShaderEditor.StaticSwitch;86;-1541.919,-2134.684;Inherit;False;Property;_HorizontalFlip;主贴图水平翻转;10;0;Create;False;0;0;0;False;0;False;0;0;0;True;;Toggle;2;Key0;Key1;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.StaticSwitch;87;-1534.591,-2021.225;Inherit;False;Property;_VerticalFlip;主贴图垂直翻转;11;0;Create;False;0;0;0;False;0;False;0;0;0;True;;Toggle;2;Key0;Key1;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.TFHCRemapNode;219;-88.32858,-677.8621;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;28;-1532.027,-1774.246;Inherit;False;Property;_MainTexAngle;主贴图旋转角度;9;0;Create;False;0;0;0;False;0;False;0;0;0;360;0;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleDivideOpNode;221;140.4095,-340.6824;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;2;False;1;FLOAT;0
Node;AmplifyShaderEditor.DynamicAppendNode;90;-1310.69,-2081.961;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;32;-1442.734,-1908.014;Inherit;False;Property;_MainTexCenter;主贴图旋转中心;8;0;Create;False;0;0;0;False;0;False;0.5,0.5;0.5,0.5;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
Node;AmplifyShaderEditor.SimpleDivideOpNode;222;138.1845,-503.1202;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;2;False;1;FLOAT;0
Node;AmplifyShaderEditor.CommentaryNode;93;-903.574,-2188.738;Inherit;False;1091.595;642.3313;;11;124;1;2;117;123;110;11;111;13;12;172;主贴图;1,1,1,1;0;0
Node;AmplifyShaderEditor.OneMinusNode;225;266.2295,-345.3713;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.OneMinusNode;228;263.6715,-471.1623;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;226;215.6715,-629.8624;Inherit;False;Constant;_Float0;Float 0;28;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.FunctionNode;91;-1181.341,-1988.275;Inherit;False;Rotator;-1;;10;3c6f90f0570571047a976ebdf151c813;0;3;8;FLOAT2;0,0;False;9;FLOAT2;0,0;False;10;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.SamplerNode;1;-882.6324,-2016.69;Inherit;True;Property;_MainTex1;主贴图;1;0;Create;False;0;0;0;False;0;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;12;-582.9666,-1928.496;Inherit;False;Property;_H;主贴图色相;4;0;Create;False;0;0;0;False;0;False;0;0;-1;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;11;-583.9666,-1823.65;Inherit;False;Property;_S;主贴图饱和度;5;0;Create;False;0;0;0;False;0;False;0;0;-1;1;0;1;FLOAT;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.TextureCoordinatesNode;231;-733.6849,-1218.317;Inherit;False;0;236;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;13;-581.394,-1726.932;Inherit;False;Property;_V;主贴图明度;6;0;Create;False;0;0;0;False;0;False;0;0;-1;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.SamplerNode;236;-509.3018,-1227.967;Inherit;True;Property;_DissolveTex;溶解贴图;18;0;Create;False;0;0;0;False;0;False;-1;72c91df59ee8e464baef98c294cc648c;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.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.VertexColorNode;172;-113.7907,-1842.517;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
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;FLOAT4;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0
Node;AmplifyShaderEditor.RangedFloatNode;244;21.22317,-912.5222;Inherit;False;Property;_DissolveEdgeWidth;溶解亮边宽度;19;0;Create;False;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;246;42.17717,-1247.887;Inherit;False;Property;_DissolveInt;溶解程度;22;0;Create;False;0;0;0;False;0;False;0;0;-0.1;1.05;0;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleAddOpNode;247;296.2961,-997.1096;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.StepOpNode;250;492.4273,-1126.065;Inherit;False;2;0;FLOAT;0.5;False;1;FLOAT;0.5019608;False;1;FLOAT;0
Node;AmplifyShaderEditor.StepOpNode;249;494.902,-1023.917;Inherit;False;2;0;FLOAT;0.5;False;1;FLOAT;0.5019608;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleSubtractOpNode;254;714.3397,-1055.584;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.ColorNode;253;482.745,-1298.77;Inherit;False;Property;_EdgeColor;溶解亮边颜色;17;1;[HDR];Create;False;0;0;0;False;0;False;0,0,0,1;0,0,0,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;255;784.5313,-1174.645;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
Node;AmplifyShaderEditor.ComponentMaskNode;377;229.5186,-1838.519;Inherit;False;False;False;False;True;1;0;COLOR;0,0,0,0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SmoothstepOpNode;251;488.0441,-914.4974;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.LerpOp;256;981.2954,-1200.997;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.StaticSwitch;252;718.7654,-1294.737;Inherit;False;Property;_SoftDissolve;软溶解;21;0;Create;False;0;0;0;False;0;False;0;0;0;True;;Toggle;2;Key0;Key1;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.ComponentMaskNode;257;1138.509,-1194.413;Inherit;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.CommentaryNode;100;2393.9,-1792.4;Inherit;False;171;239;;2;122;116;渲染设置;1,1,1,1;0;0
Node;AmplifyShaderEditor.LerpOp;453;1465.287,-1732.204;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.TemplateMultiPassMasterNode;489;1824,-1680;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;12;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;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;True;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;490;1824,-1680;Float;False;False;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;12;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;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;True;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;491;1824,-1467;Float;False;False;-1;2;ASEMaterialInspector;0;12;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;492;1824,-1467;Float;False;False;-1;2;ASEMaterialInspector;0;12;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.ComponentMaskNode;145;221.306,-1956.8;Inherit;False;True;True;True;False;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.ColorNode;2;-148.5155,-2130.128;Inherit;False;Property;_Color;主颜色;2;1;[HDR];Create;False;0;0;0;False;0;False;0.7843137,0.7843137,0.7843137,1;0.7843137,0.7843137,0.7843137,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.ColorNode;498;284.7915,-1740.198;Inherit;False;Property;_RimColor;边缘光颜色;15;1;[HDR];Create;False;0;0;0;False;0;False;0,0,0,1;0,0,0,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.LerpOp;508;587.42,-1942.804;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.SaturateNode;497;34.80086,-2915.551;Inherit;True;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;505;1033.934,-1486.901;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleAddOpNode;504;906.9301,-1484.255;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SaturateNode;509;1178.064,-1483.99;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;116;2409.899,-1728.4;Inherit;False;Property;_TwoSided;单双面显示;0;1;[Enum];Create;False;0;1;Option1;0;1;UnityEngine.Rendering.CullMode;True;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;122;2409.899,-1632.4;Inherit;False;Property;_ZWriteMode;深度写入;1;1;[Toggle];Create;False;0;0;0;True;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.DynamicAppendNode;374;1627.818,-1720.585;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.SimpleAddOpNode;511;1180.756,-1935.284;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;COLOR;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;514;1037.189,-1946.042;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;COLOR;0
Node;AmplifyShaderEditor.DynamicAppendNode;516;877.9543,-1910.303;Inherit;False;FLOAT3;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.ColorNode;513;801.5536,-2300.374;Inherit;False;Property;_EmissionColor;发光颜色;30;1;[HDR];Create;False;0;0;0;False;0;False;1,1,1,1;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;488;2169.8,-1735.9;Float;False;True;-1;2;UnityEditor.ShaderGraph.PBRMasterGUI;0;16;BaseASE/Sprite/Character;199187dac283dbe4a8cb1ea611d70c58;True;Sprite Lit;0;0;Sprite Lit;6;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;255;False;;255;False;;255;False;;7;False;;1;False;;1;False;;1;False;;7;False;;1;False;;1;False;;1;False;;True;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.RangedFloatNode;518;1539.538,-1495.582;Inherit;False;Property;_NormalIntensity;法线强度;13;0;Create;False;0;0;0;False;0;False;1;5;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.SamplerNode;517;1745.392,-1605.172;Inherit;True;Property;_NormalMap;法线贴图;12;1;[Normal];Create;False;0;0;0;False;0;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.SimpleDivideOpNode;366;-1488,-3328;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.TextureCoordinatesNode;337;-1600,-3120;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.SimpleDivideOpNode;365;-1488,-3424;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleSubtractOpNode;339;-1344,-3424;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleAddOpNode;341;-1326.58,-3312;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleSubtractOpNode;343;-1342.58,-3201.42;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.DynamicAppendNode;345;-1182.58,-3200;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.DynamicAppendNode;342;-1182.58,-3312;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.SamplerNode;350;-1008,-2816;Inherit;True;Property;_TextureSample3;Texture Sample 3;30;0;Create;True;0;0;0;False;0;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;349;-1008,-3024;Inherit;True;Property;_TextureSample2;Texture Sample 2;30;0;Create;True;0;0;0;False;0;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;336;-1008,-3440;Inherit;True;Property;_TextureSample0;Texture Sample 0;2;0;Create;True;0;0;0;False;0;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;348;-1008,-3232;Inherit;True;Property;_TextureSample1;Texture Sample 1;30;0;Create;True;0;0;0;False;0;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.CeilOpNode;381;-720,-3408;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.CeilOpNode;382;-720,-3216;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;338;-1648,-3488;Inherit;False;Property;_OutlineWidth;描边宽度;16;0;Create;False;0;0;0;False;0;False;1;10;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleSubtractOpNode;493;-210.6324,-2891.801;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleAddOpNode;414;-572.6036,-2976.278;Inherit;True;4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.TexturePropertyNode;335;-1936,-3280;Inherit;True;Property;_MainTex;主贴图;3;0;Create;False;0;0;0;False;0;False;25c5aa54724322a459d8f4bcb786ca2f;25c5aa54724322a459d8f4bcb786ca2f;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1
Node;AmplifyShaderEditor.CeilOpNode;383;-720,-3008;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.TexelSizeNode;364;-1695.409,-3406.053;Inherit;False;-1;1;0;SAMPLER2D;;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SaturateNode;496;-353.3574,-2927.531;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.CeilOpNode;495;-339.3279,-2825.613;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.CeilOpNode;384;-725,-2800;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.DynamicAppendNode;346;-1182.58,-3088;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.DynamicAppendNode;340;-1182.58,-3424;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.SimpleAddOpNode;347;-1328,-3088;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SamplerNode;510;732.7114,-2126.354;Inherit;True;Property;_EmissionTex;发光贴图;31;0;Create;False;0;0;0;False;0;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;515;1293.577,-1932.093;Inherit;False;Property;_Emission;发光;32;0;Create;False;0;0;0;False;0;False;0;0;0;True;;Toggle;2;Key0;Key1;Create;True;True;All;9;1;COLOR;0,0,0,0;False;0;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;4;COLOR;0,0,0,0;False;5;COLOR;0,0,0,0;False;6;COLOR;0,0,0,0;False;7;COLOR;0,0,0,0;False;8;COLOR;0,0,0,0;False;1;COLOR;0
Node;AmplifyShaderEditor.ColorNode;454;1223.417,-1802.441;Inherit;False;Property;_ReplaceColor;替换颜色;14;1;[HDR];Create;False;0;0;0;False;0;False;2,2,2,1;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SaturateNode;233;777.245,-613.2513;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.StaticSwitch;230;417.6729,-629.8624;Inherit;True;Property;_DissolveDir;溶解方向;23;0;Create;False;0;0;0;False;0;False;0;0;0;True;;KeywordEnum;5;Off;X_InsideToOutside;X_OutsideToInside;Y_InsideToOutside;Y_OutsideToInside;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.RegisterLocalVarNode;234;948.8258,-616.1104;Inherit;False;DissolveDirection;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.LerpOp;239;-54.55395,-1158.863;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.GetLocalVarNode;242;-329.3059,-1301.663;Inherit;False;234;DissolveDirection;1;0;OBJECT;;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;238;-244.0048,-1032.974;Inherit;False;Property;_DissolveTexPower;溶解贴图强度;20;0;Create;False;0;0;0;False;0;False;1;0.5;0;1;0;1;FLOAT;0
WireConnection;329;0;327;0
WireConnection;329;1;328;0
WireConnection;330;0;326;0
WireConnection;330;2;329;0
WireConnection;323;1;330;0
WireConnection;332;0;73;0
WireConnection;332;1;323;1
WireConnection;332;2;325;0
WireConnection;80;0;332;0
WireConnection;80;2;77;0
WireConnection;211;0;204;0
WireConnection;82;0;80;0
WireConnection;209;0;207;0
WireConnection;83;0;80;0
WireConnection;214;0;211;0
WireConnection;212;0;209;0
WireConnection;85;0;82;0
WireConnection;84;0;83;0
WireConnection;217;0;212;0
WireConnection;220;0;215;2
WireConnection;220;1;207;0
WireConnection;218;0;215;1
WireConnection;218;1;204;0
WireConnection;86;1;83;0
WireConnection;86;0;84;0
WireConnection;87;1;82;0
WireConnection;87;0;85;0
WireConnection;219;0;214;0
WireConnection;221;0;220;0
WireConnection;221;1;217;0
WireConnection;90;0;86;0
WireConnection;90;1;87;0
WireConnection;222;0;218;0
WireConnection;222;1;219;0
WireConnection;225;0;221;0
WireConnection;228;0;222;0
WireConnection;91;8;90;0
WireConnection;91;9;32;0
WireConnection;91;10;28;0
WireConnection;1;0;335;0
WireConnection;1;1;91;0
WireConnection;111;0;1;0
WireConnection;236;1;231;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;2;0
WireConnection;117;1;124;0
WireConnection;117;2;172;0
WireConnection;247;0;239;0
WireConnection;247;1;244;0
WireConnection;250;0;246;0
WireConnection;250;1;239;0
WireConnection;249;0;246;0
WireConnection;249;1;247;0
WireConnection;254;0;249;0
WireConnection;254;1;250;0
WireConnection;255;0;253;0
WireConnection;255;1;254;0
WireConnection;377;0;117;0
WireConnection;251;0;246;0
WireConnection;251;1;247;0
WireConnection;256;0;508;0
WireConnection;256;1;255;0
WireConnection;256;2;254;0
WireConnection;252;1;249;0
WireConnection;252;0;251;0
WireConnection;257;0;256;0
WireConnection;453;0;515;0
WireConnection;453;1;454;0
WireConnection;453;2;454;4
WireConnection;145;0;117;0
WireConnection;508;0;145;0
WireConnection;508;1;498;0
WireConnection;508;2;497;0
WireConnection;497;0;493;0
WireConnection;505;0;504;0
WireConnection;505;1;252;0
WireConnection;504;0;414;0
WireConnection;504;1;377;0
WireConnection;509;0;505;0
WireConnection;374;0;453;0
WireConnection;374;3;509;0
WireConnection;511;0;514;0
WireConnection;511;1;257;0
WireConnection;514;0;513;0
WireConnection;514;1;516;0
WireConnection;514;2;510;4
WireConnection;516;0;510;1
WireConnection;516;1;510;2
WireConnection;516;2;510;3
WireConnection;488;1;374;0
WireConnection;488;3;517;0
WireConnection;517;5;518;0
WireConnection;366;0;338;0
WireConnection;366;1;364;4
WireConnection;365;0;338;0
WireConnection;365;1;364;3
WireConnection;339;0;337;1
WireConnection;339;1;365;0
WireConnection;341;0;337;1
WireConnection;341;1;365;0
WireConnection;343;0;337;2
WireConnection;343;1;366;0
WireConnection;345;0;337;1
WireConnection;345;1;343;0
WireConnection;342;0;341;0
WireConnection;342;1;337;2
WireConnection;350;0;335;0
WireConnection;350;1;346;0
WireConnection;349;0;335;0
WireConnection;349;1;345;0
WireConnection;336;0;335;0
WireConnection;336;1;340;0
WireConnection;348;0;335;0
WireConnection;348;1;342;0
WireConnection;381;0;336;4
WireConnection;382;0;348;4
WireConnection;493;0;496;0
WireConnection;493;1;495;0
WireConnection;414;0;381;0
WireConnection;414;1;382;0
WireConnection;414;2;383;0
WireConnection;414;3;384;0
WireConnection;383;0;349;4
WireConnection;364;0;335;0
WireConnection;496;0;414;0
WireConnection;495;0;1;4
WireConnection;384;0;350;4
WireConnection;346;0;337;1
WireConnection;346;1;347;0
WireConnection;340;0;339;0
WireConnection;340;1;337;2
WireConnection;347;0;337;2
WireConnection;347;1;366;0
WireConnection;515;1;257;0
WireConnection;515;0;511;0
WireConnection;233;0;230;0
WireConnection;230;1;226;0
WireConnection;230;0;222;0
WireConnection;230;2;228;0
WireConnection;230;3;221;0
WireConnection;230;4;225;0
WireConnection;234;0;233;0
WireConnection;239;0;242;0
WireConnection;239;1;236;1
WireConnection;239;2;238;0
ASEEND*/
//CHKSM=E0E72BDD39DE4CAEDF1B822A88B08FD58D370497