// Made with Amplify Shader Editor // Available at the Unity Asset Store - http://u3d.as/y3X Shader "ASE_Base_OutLine" { Properties { _Texture("Texture", 2D) = "white" {} _Color("Color", Color) = (1,1,1,1) _ShaowColor("ShaowColor", Color) = (0.5711552,0.6109352,0.8018868,1) _Boundry("Boundry", Range( 0 , 1)) = 0.5 _Smooth("Smooth", Range( 0 , 1)) = 0.5 _HLColor("HLColor", Color) = (0,0,0,1) _HLBoundry("HLBoundry", Range( 0 , 1)) = 0 _HLSmooth("HLSmooth", Range( 0 , 1)) = 0.5 [HDR]_FreColor("FreColor", Color) = (0,0,0,1) _FreBoundry("FreBoundry", Range( 0 , 1)) = 0.3494399 _FreSmooth("FreSmooth", Range( 0 , 1)) = 0.4470588 [HDR]_EmissionColor("EmissionColor", Color) = (0,0,0,0) _EmissionTex("EmissionTex", 2D) = "white" {} _OutLineColor("OutLine Color", Color) = (0.7015347,0.6714578,0.745283,1) _OutLineWidth("OutLine Width", Range( 0 , 0.15)) = 0.03 [Toggle]_OutLineType("OutLineType", Float) = 0 [HideInInspector] _texcoord( "", 2D ) = "white" {} [HideInInspector] __dirty( "", Int ) = 1 } SubShader { Tags{ } Cull Front CGPROGRAM #pragma target 3.0 #pragma surface outlineSurf Outline nofog keepalpha noshadow noambient novertexlights nolightmap nodynlightmap nodirlightmap nometa noforwardadd vertex:outlineVertexDataFunc void outlineVertexDataFunc( inout appdata_full v, out Input o ) { UNITY_INITIALIZE_OUTPUT( Input, o ); float3 ase_vertexNormal = v.normal.xyz; float3 ase_vertex3Pos = v.vertex.xyz; float4 unityObjectToClipPos135 = UnityObjectToClipPos( ase_vertex3Pos ); float3 outlineVar = ( _OutLineWidth * ase_vertexNormal * (( _OutLineType )?( unityObjectToClipPos135.w ):( 1.0 )) ); v.vertex.xyz += outlineVar; } inline half4 LightingOutline( SurfaceOutput s, half3 lightDir, half atten ) { return half4 ( 0,0,0, s.Alpha); } void outlineSurf( Input i, inout SurfaceOutput o ) { float temp_output_4_0_g14 = (1.0 + (_HLBoundry - 0.0) * (0.0 - 1.0) / (1.0 - 0.0)); float temp_output_15_0_g14 = _HLSmooth; float3 ase_worldPos = i.worldPos; #if defined(LIGHTMAP_ON) && UNITY_VERSION < 560 //aseld float3 ase_worldlightDir = 0; #else //aseld float3 ase_worldlightDir = normalize( UnityWorldSpaceLightDir( ase_worldPos ) ); #endif //aseld float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) ); float dotResult3_g12 = dot( ase_worldlightDir , ase_worldNormal ); float LightingModel113 = dotResult3_g12; float smoothstepResult8_g14 = smoothstep( ( temp_output_4_0_g14 - temp_output_15_0_g14 ) , ( temp_output_4_0_g14 + temp_output_15_0_g14 ) , LightingModel113); float4 lerpResult9_g14 = lerp( float4( 0,0,0,0 ) , _HLColor , smoothstepResult8_g14); float4 HighLightColor115 = lerpResult9_g14; float2 uv_EmissionTex = i.uv_texcoord * _EmissionTex_ST.xy + _EmissionTex_ST.zw; float4 Emission117 = ( tex2D( _EmissionTex, uv_EmissionTex ) * _EmissionColor ); float2 uv_Texture = i.uv_texcoord * _Texture_ST.xy + _Texture_ST.zw; float4 MainTex112 = tex2D( _Texture, uv_Texture ); float4 MainColor111 = _Color; float temp_output_42_0_g13 = (-1.0 + (0.5 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)); float temp_output_38_0_g13 = LightingModel113; float smoothstepResult39_g13 = smoothstep( ( temp_output_42_0_g13 - 0.5 ) , ( temp_output_42_0_g13 + 0.5 ) , temp_output_38_0_g13); float lerpResult46_g13 = lerp( 1.0 , 0.0 , smoothstepResult39_g13); float smoothstepResult56_g13 = smoothstep( 0.0 , 0.5 , 1); float temp_output_14_0_g13 = (-1.0 + (_Boundry - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)); float temp_output_37_0_g13 = _Smooth; float smoothstepResult20_g13 = smoothstep( ( temp_output_14_0_g13 - temp_output_37_0_g13 ) , ( temp_output_14_0_g13 + temp_output_37_0_g13 ) , temp_output_38_0_g13); float4 lerpResult28_g13 = lerp( _ShaowColor , float4( 1,1,1,0 ) , ( saturate( ( lerpResult46_g13 + smoothstepResult56_g13 ) ) * smoothstepResult20_g13 )); float4 ShadowColor114 = lerpResult28_g13; float4 temp_output_103_0 = ( MainTex112 * MainColor111 * ShadowColor114 ); float4 OutLineColorMultiply131 = ( HighLightColor115 + Emission117 + temp_output_103_0 ); o.Emission = ( _OutLineColor * OutLineColorMultiply131 ).rgb; o.Normal = float3(0,0,-1); } ENDCG Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" } Cull Back CGINCLUDE #include "UnityPBSLighting.cginc" #include "UnityCG.cginc" #include "Lighting.cginc" #pragma target 4.6 #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector #undef WorldNormalVector #define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2; #define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))) #define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)) #endif struct Input { float2 uv_texcoord; float3 worldPos; float3 worldNormal; INTERNAL_DATA }; struct SurfaceOutputCustomLightingCustom { half3 Albedo; half3 Normal; half3 Emission; half Metallic; half Smoothness; half Occlusion; half Alpha; Input SurfInput; UnityGIInput GIData; }; uniform sampler2D _Texture; uniform float4 _Texture_ST; uniform float4 _Color; uniform float4 _ShaowColor; uniform float _Boundry; uniform float _Smooth; uniform float4 _HLColor; uniform float _HLBoundry; uniform float _HLSmooth; uniform float _FreBoundry; uniform float _FreSmooth; uniform float4 _FreColor; uniform sampler2D _EmissionTex; uniform float4 _EmissionTex_ST; uniform float4 _EmissionColor; uniform float4 _OutLineColor; uniform float _OutLineWidth; uniform float _OutLineType; void vertexDataFunc( inout appdata_full v, out Input o ) { UNITY_INITIALIZE_OUTPUT( Input, o ); float3 OutLine109 = 0; v.vertex.xyz += OutLine109; v.vertex.w = 1; } inline half4 LightingStandardCustomLighting( inout SurfaceOutputCustomLightingCustom s, half3 viewDir, UnityGI gi ) { UnityGIInput data = s.GIData; Input i = s.SurfInput; half4 c = 0; #ifdef UNITY_PASS_FORWARDBASE float ase_lightAtten = data.atten; if( _LightColor0.a == 0) ase_lightAtten = 0; #else float3 ase_lightAttenRGB = gi.light.color / ( ( _LightColor0.rgb ) + 0.000001 ); float ase_lightAtten = max( max( ase_lightAttenRGB.r, ase_lightAttenRGB.g ), ase_lightAttenRGB.b ); #endif #if defined(HANDLE_SHADOWS_BLENDING_IN_GI) half bakedAtten = UnitySampleBakedOcclusion(data.lightmapUV.xy, data.worldPos); float zDist = dot(_WorldSpaceCameraPos - data.worldPos, UNITY_MATRIX_V[2].xyz); float fadeDist = UnityComputeShadowFadeDistance(data.worldPos, zDist); ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_Texture = i.uv_texcoord * _Texture_ST.xy + _Texture_ST.zw; float4 MainTex112 = tex2D( _Texture, uv_Texture ); float4 MainColor111 = _Color; float temp_output_42_0_g13 = (-1.0 + (0.5 - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)); float3 ase_worldPos = i.worldPos; #if defined(LIGHTMAP_ON) && UNITY_VERSION < 560 //aseld float3 ase_worldlightDir = 0; #else //aseld float3 ase_worldlightDir = normalize( UnityWorldSpaceLightDir( ase_worldPos ) ); #endif //aseld float3 ase_worldNormal = i.worldNormal; float dotResult3_g12 = dot( ase_worldlightDir , ase_worldNormal ); float LightingModel113 = dotResult3_g12; float temp_output_38_0_g13 = LightingModel113; float smoothstepResult39_g13 = smoothstep( ( temp_output_42_0_g13 - 0.5 ) , ( temp_output_42_0_g13 + 0.5 ) , temp_output_38_0_g13); float lerpResult46_g13 = lerp( 1.0 , 0.0 , smoothstepResult39_g13); float smoothstepResult56_g13 = smoothstep( 0.0 , 0.5 , ase_lightAtten); float temp_output_14_0_g13 = (-1.0 + (_Boundry - 0.0) * (1.0 - -1.0) / (1.0 - 0.0)); float temp_output_37_0_g13 = _Smooth; float smoothstepResult20_g13 = smoothstep( ( temp_output_14_0_g13 - temp_output_37_0_g13 ) , ( temp_output_14_0_g13 + temp_output_37_0_g13 ) , temp_output_38_0_g13); float4 lerpResult28_g13 = lerp( _ShaowColor , float4( 1,1,1,0 ) , ( saturate( ( lerpResult46_g13 + smoothstepResult56_g13 ) ) * smoothstepResult20_g13 )); float4 ShadowColor114 = lerpResult28_g13; float4 temp_output_103_0 = ( MainTex112 * MainColor111 * ShadowColor114 ); float temp_output_4_0_g14 = (1.0 + (_HLBoundry - 0.0) * (0.0 - 1.0) / (1.0 - 0.0)); float temp_output_15_0_g14 = _HLSmooth; float smoothstepResult8_g14 = smoothstep( ( temp_output_4_0_g14 - temp_output_15_0_g14 ) , ( temp_output_4_0_g14 + temp_output_15_0_g14 ) , LightingModel113); float4 lerpResult9_g14 = lerp( float4( 0,0,0,0 ) , _HLColor , smoothstepResult8_g14); float4 HighLightColor115 = lerpResult9_g14; float temp_output_22_0_g15 = ( 1.0 - (-0.2 + (_FreBoundry - 0.0) * (1.0 - -0.2) / (1.0 - 0.0)) ); float temp_output_30_0_g15 = _FreSmooth; float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) ); float fresnelNdotV26_g15 = dot( ase_worldNormal, ase_worldViewDir ); float fresnelNode26_g15 = ( 0.0 + 1.0 * pow( 1.0 - fresnelNdotV26_g15, 1.0 ) ); float smoothstepResult28_g15 = smoothstep( ( temp_output_22_0_g15 - temp_output_30_0_g15 ) , ( temp_output_22_0_g15 + temp_output_30_0_g15 ) , fresnelNode26_g15); float4 temp_output_14_0_g15 = _FreColor; float4 Fresnel129 = ( smoothstepResult28_g15 * temp_output_14_0_g15 * (temp_output_14_0_g15).a ); float2 uv_EmissionTex = i.uv_texcoord * _EmissionTex_ST.xy + _EmissionTex_ST.zw; float4 Emission117 = ( tex2D( _EmissionTex, uv_EmissionTex ) * _EmissionColor ); c.rgb = ( temp_output_103_0 + HighLightColor115 + Fresnel129 + Emission117 ).rgb; c.a = 1; return c; } inline void LightingStandardCustomLighting_GI( inout SurfaceOutputCustomLightingCustom s, UnityGIInput data, inout UnityGI gi ) { s.GIData = data; } void surf( Input i , inout SurfaceOutputCustomLightingCustom o ) { o.SurfInput = i; } ENDCG CGPROGRAM #pragma surface surf StandardCustomLighting keepalpha fullforwardshadows exclude_path:deferred noambient novertexlights nolightmap nodirlightmap noforwardadd vertex:vertexDataFunc ENDCG Pass { Name "ShadowCaster" Tags{ "LightMode" = "ShadowCaster" } ZWrite On CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma target 4.6 #pragma multi_compile_shadowcaster #pragma multi_compile UNITY_PASS_SHADOWCASTER #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 #include "HLSLSupport.cginc" #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) #define CAN_SKIP_VPOS #endif #include "UnityCG.cginc" #include "Lighting.cginc" #include "UnityPBSLighting.cginc" struct v2f { V2F_SHADOW_CASTER; float2 customPack1 : TEXCOORD1; float4 tSpace0 : TEXCOORD2; float4 tSpace1 : TEXCOORD3; float4 tSpace2 : TEXCOORD4; UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; v2f vert( appdata_full v ) { v2f o; UNITY_SETUP_INSTANCE_ID( v ); UNITY_INITIALIZE_OUTPUT( v2f, o ); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); UNITY_TRANSFER_INSTANCE_ID( v, o ); Input customInputData; vertexDataFunc( v, customInputData ); float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; half3 worldNormal = UnityObjectToWorldNormal( v.normal ); half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz ); half tangentSign = v.tangent.w * unity_WorldTransformParams.w; half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign; o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x ); o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y ); o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z ); o.customPack1.xy = customInputData.uv_texcoord; o.customPack1.xy = v.texcoord; TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) return o; } half4 frag( v2f IN #if !defined( CAN_SKIP_VPOS ) , UNITY_VPOS_TYPE vpos : VPOS #endif ) : SV_Target { UNITY_SETUP_INSTANCE_ID( IN ); Input surfIN; UNITY_INITIALIZE_OUTPUT( Input, surfIN ); surfIN.uv_texcoord = IN.customPack1.xy; float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w ); half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); surfIN.worldPos = worldPos; surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z ); surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz; surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz; surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz; SurfaceOutputCustomLightingCustom o; UNITY_INITIALIZE_OUTPUT( SurfaceOutputCustomLightingCustom, o ) surf( surfIN, o ); #if defined( CAN_SKIP_VPOS ) float2 vpos = IN.pos; #endif SHADOW_CASTER_FRAGMENT( IN ) } ENDCG } } Fallback "Diffuse" CustomEditor "ASEMaterialInspector" } /*ASEBEGIN Version=18935 0;23;1680;1006;1954.186;1578.474;1.543767;True;False Node;AmplifyShaderEditor.CommentaryNode;126;-1875.827,-1227.681;Inherit;False;493.6641;165.4685;Comment;2;107;113;;1,1,1,1;0;0 Node;AmplifyShaderEditor.FunctionNode;107;-1825.827,-1172.213;Inherit;False;LightingModel_Base;-1;;12;2d69c2a75ad764b40a4077c9804cced5;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;83;-1877.55,-560.2308;Inherit;False;776.6438;381.8537;;6;114;99;124;84;85;86;暗面颜色;1,1,1,1;0;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;113;-1606.162,-1177.681;Float;False;LightingModel;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;122;-1885.691,-1014.124;Inherit;False;578.2001;409.2957;Comment;4;111;112;100;94;主贴图和主颜色;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;87;-1869.848,-124.2653;Inherit;False;776.1842;395.472;;6;115;125;102;98;91;90;高光颜色;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;88;-1071.698,319.8162;Inherit;False;658.2699;414.8395;;4;117;101;95;96;自发光;1,1,1,1;0;0 Node;AmplifyShaderEditor.RangedFloatNode;86;-1854.125,-340.5378;Inherit;False;Property;_Boundry;Boundry;3;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.ColorNode;85;-1825.334,-513.5755;Inherit;False;Property;_ShaowColor;ShaowColor;2;0;Create;True;0;0;0;False;0;False;0.5711552,0.6109352,0.8018868,1;0.5711552,0.6109352,0.8018868,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;84;-1854.39,-261.6993;Inherit;False;Property;_Smooth;Smooth;4;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;124;-1539.616,-497.1451;Inherit;False;113;LightingModel;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.ColorNode;94;-1826.655,-964.1244;Inherit;False;Property;_Color;Color;1;0;Create;True;0;0;0;False;0;False;1,1,1,1;1,1,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;100;-1835.691,-800.8288;Inherit;True;Property;_Texture;Texture;0;0;Create;True;0;0;0;False;0;False;-1;750b1bd7ba8bd28489650de6d0a95cc5;750b1bd7ba8bd28489650de6d0a95cc5;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;99;-1560.255,-414.1651;Inherit;False;Light_Shadow;-1;;13;7fd334ea8a37541079f58347518ddcb5;0;4;38;FLOAT;0;False;35;COLOR;0,0,0,0;False;36;FLOAT;0;False;37;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.RangedFloatNode;91;-1830.55,102.6973;Inherit;False;Property;_HLBoundry;HLBoundry;6;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;90;-1827.083,179.1682;Inherit;False;Property;_HLSmooth;HLSmooth;7;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.ColorNode;98;-1805.341,-67.42003;Inherit;False;Property;_HLColor;HLColor;5;0;Create;True;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.GetLocalVarNode;125;-1547.843,-35.59983;Inherit;False;113;LightingModel;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.ColorNode;95;-1002.087,558.301;Inherit;False;Property;_EmissionColor;EmissionColor;11;1;[HDR];Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;96;-1047.925,369.305;Inherit;True;Property;_EmissionTex;EmissionTex;12;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.RegisterLocalVarNode;112;-1540.491,-799.9484;Inherit;False;MainTex;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;111;-1588.298,-963.1857;Inherit;False;MainColor;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.FunctionNode;102;-1554.638,43.47255;Inherit;False;Light_HighLight;-1;;14;0266fca0a32984b5d998165239f13ee6;0;4;16;FLOAT;0;False;13;COLOR;0,0,0,0;False;14;FLOAT;0;False;15;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;101;-756.2178,371.9135;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;114;-1287.514,-416.9308;Float;False;ShadowColor;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;115;-1296.515,38.76063;Inherit;False;HighLightColor;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;120;-731.2037,-142.2188;Inherit;False;111;MainColor;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;117;-613.2548,367.1446;Inherit;False;Emission;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;123;-740.4604,-69.5373;Inherit;False;114;ShadowColor;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;121;-731.5772,-213.6385;Inherit;False;112;MainTex;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;119;-553.3876,-277.7765;Inherit;False;117;Emission;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;127;-565.0762,-350.1033;Inherit;False;115;HighLightColor;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;103;-503.4567,-141.04;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.CommentaryNode;67;-964.2244,-1281.915;Inherit;False;996.9253;696.483;;11;137;109;32;36;33;133;35;37;132;135;136;描边;1,1,1,1;0;0 Node;AmplifyShaderEditor.SimpleAddOpNode;108;-340.8802,-246.1511;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.PosVertexDataNode;136;-927.3157,-763.5288;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.CommentaryNode;89;-1859.576,329.5394;Inherit;False;753.2069;382.484;;5;129;104;97;93;92;菲涅尔;1,1,1,1;0;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;131;-208.7107,-251.9365;Inherit;False;OutLineColorMultiply;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.UnityObjToClipPosHlpNode;135;-743.9034,-763.6174;Inherit;False;1;0;FLOAT3;0,0,0;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.ColorNode;133;-928.487,-1229.511;Float;False;Property;_OutLineColor;OutLine Color;13;0;Create;True;0;0;0;False;0;False;0.7015347,0.6714578,0.745283,1;0.7015347,0.6714578,0.745283,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;35;-799.425,-998.6323;Inherit;False;Property;_OutLineWidth;OutLine Width;14;0;Create;True;0;0;0;False;0;False;0.03;0.03;0;0.15;0;1;FLOAT;0 Node;AmplifyShaderEditor.NormalVertexDataNode;37;-751.6556,-918.9951;Inherit;False;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.GetLocalVarNode;132;-728.8647,-1128.816;Inherit;False;131;OutLineColorMultiply;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.ToggleSwitchNode;137;-550.3157,-761.5288;Inherit;False;Property;_OutLineType;OutLineType;15;0;Create;True;0;0;0;False;0;False;0;True;2;0;FLOAT;1;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;93;-1821.667,626.9518;Inherit;False;Property;_FreSmooth;FreSmooth;10;0;Create;True;0;0;0;False;0;False;0.4470588;0.36;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;97;-1820.917,549.0009;Inherit;False;Property;_FreBoundry;FreBoundry;9;0;Create;True;0;0;0;False;0;False;0.3494399;0.35;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.ColorNode;92;-1756.26,377.9311;Inherit;False;Property;_FreColor;FreColor;8;1;[HDR];Create;True;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.FunctionNode;104;-1539.674,383.418;Inherit;False;Light_Fresnel;-1;;15;3627a339a876842a381f1d0fa05ee3fd;0;3;14;COLOR;0,0,0,0;False;16;FLOAT;0;False;30;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;33;-491.0027,-1223.343;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;36;-499.7411,-936.5289;Inherit;False;3;3;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;129;-1296.77,379.6682;Inherit;False;Fresnel;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.OutlineNode;32;-357.8083,-964.1658;Inherit;False;2;True;None;0;0;Front;True;True;True;True;0;False;-1;3;0;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;118;-636.5071,173.6901;Inherit;False;117;Emission;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;109;-175.21,-964.1799;Inherit;False;OutLine;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;128;-654.8205,20.87712;Inherit;False;115;HighLightColor;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;130;-636.2502,100.767;Inherit;False;129;Fresnel;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;110;-129.2252,85.08627;Inherit;False;109;OutLine;1;0;OBJECT;;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleAddOpNode;105;-326.9655,2.296474;Inherit;False;4;4;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;3;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.StandardSurfaceOutputNode;1;70.24867,-227.5658;Float;False;True;-1;6;ASEMaterialInspector;0;0;CustomLighting;ASE_Base_OutLine;False;False;False;False;True;True;True;False;True;False;False;True;False;False;False;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;ForwardOnly;18;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;0;0;False;-1;0;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0.44;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;113;0;107;0 WireConnection;99;38;124;0 WireConnection;99;35;85;0 WireConnection;99;36;86;0 WireConnection;99;37;84;0 WireConnection;112;0;100;0 WireConnection;111;0;94;0 WireConnection;102;16;125;0 WireConnection;102;13;98;0 WireConnection;102;14;91;0 WireConnection;102;15;90;0 WireConnection;101;0;96;0 WireConnection;101;1;95;0 WireConnection;114;0;99;0 WireConnection;115;0;102;0 WireConnection;117;0;101;0 WireConnection;103;0;121;0 WireConnection;103;1;120;0 WireConnection;103;2;123;0 WireConnection;108;0;127;0 WireConnection;108;1;119;0 WireConnection;108;2;103;0 WireConnection;131;0;108;0 WireConnection;135;0;136;0 WireConnection;137;1;135;4 WireConnection;104;14;92;0 WireConnection;104;16;97;0 WireConnection;104;30;93;0 WireConnection;33;0;133;0 WireConnection;33;1;132;0 WireConnection;36;0;35;0 WireConnection;36;1;37;0 WireConnection;36;2;137;0 WireConnection;129;0;104;0 WireConnection;32;0;33;0 WireConnection;32;1;36;0 WireConnection;109;0;32;0 WireConnection;105;0;103;0 WireConnection;105;1;128;0 WireConnection;105;2;130;0 WireConnection;105;3;118;0 WireConnection;1;13;105;0 WireConnection;1;11;110;0 ASEEND*/ //CHKSM=97E0B731A227E9A5EABDF8A2210C64DE3930B1B2