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