// Shader created with Shader Forge v1.40 // Shader Forge (c) Freya Holmer - http://www.acegikmo.com/shaderforge/ // Note: Manually altering this data may prevent you from opening it in Shader Forge /*SF_DATA;ver:1.40;sub:START;pass:START;ps:flbk:,iptp:0,cusa:False,bamd:0,cgin:,cpap:True,lico:0,lgpr:1,limd:0,spmd:1,trmd:0,grmd:0,uamb:True,mssp:True,bkdf:False,hqlp:False,rprd:False,enco:False,rmgx:True,imps:True,rpth:0,vtps:0,hqsc:True,nrmq:1,nrsp:0,vomd:0,spxs:False,tesm:0,olmd:1,culm:0,bsrc:0,bdst:1,dpts:2,wrdp:True,dith:0,atcv:False,rfrpo:True,rfrpn:Refraction,coma:15,ufog:True,aust:True,igpj:False,qofs:0,qpre:1,rntp:1,fgom:False,fgoc:False,fgod:False,fgor:False,fgmd:0,fgcr:0.6397059,fgcg:0.5311244,fgcb:0.4280385,fgca:1,fgde:0.01,fgrn:0,fgrf:130,stcl:False,atwp:False,stva:128,stmr:255,stmw:255,stcp:6,stps:0,stfa:0,stfz:0,ofsf:0,ofsu:0,f2p0:False,fnsp:False,fnfb:False,fsmp:False;n:type:ShaderForge.SFN_Final,id:9361,x:33569,y:32610,varname:node_9361,prsc:2|custl-27-OUT;n:type:ShaderForge.SFN_Lerp,id:5134,x:32174,y:33032,cmnt:亮面暗面,varname:node_5134,prsc:2|A-2311-OUT,B-5365-OUT,T-5872-OUT;n:type:ShaderForge.SFN_Slider,id:1385,x:31399,y:32849,ptovrint:False,ptlb:boundry,ptin:_boundry,varname:node_1385,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:-1,cur:0,max:1;n:type:ShaderForge.SFN_Slider,id:3609,x:31399,y:32976,ptovrint:False,ptlb:smooth,ptin:_smooth,varname:node_3609,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:0.0001,cur:0.0001,max:1;n:type:ShaderForge.SFN_Add,id:1755,x:31746,y:32833,varname:node_1755,prsc:2|A-1385-OUT,B-3609-OUT;n:type:ShaderForge.SFN_Subtract,id:9320,x:31746,y:32976,varname:node_9320,prsc:2|A-1385-OUT,B-3609-OUT;n:type:ShaderForge.SFN_NormalVector,id:4901,x:30456,y:32808,prsc:2,pt:False;n:type:ShaderForge.SFN_LightVector,id:7219,x:30456,y:32955,varname:node_7219,prsc:2;n:type:ShaderForge.SFN_Dot,id:590,x:30618,y:32896,varname:node_590,prsc:2,dt:0|A-4901-OUT,B-7219-OUT;n:type:ShaderForge.SFN_Smoothstep,id:5872,x:31885,y:32897,varname:node_5872,prsc:2|A-1755-OUT,B-9320-OUT,V-590-OUT;n:type:ShaderForge.SFN_Lerp,id:2577,x:32488,y:32261,cmnt:高亮色,varname:node_2577,prsc:2|A-1945-RGB,B-4856-OUT,T-5812-OUT;n:type:ShaderForge.SFN_Add,id:27,x:33181,y:32852,varname:node_27,prsc:2|A-8063-OUT,B-8809-OUT,C-269-OUT,D-4745-OUT;n:type:ShaderForge.SFN_Smoothstep,id:5812,x:32177,y:32300,varname:node_5812,prsc:2|A-4791-OUT,B-812-OUT,V-590-OUT;n:type:ShaderForge.SFN_Slider,id:540,x:31667,y:32368,ptovrint:False,ptlb:HighLight Smooth,ptin:_HighLightSmooth,varname:node_540,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:0.001,cur:0.001,max:1;n:type:ShaderForge.SFN_Slider,id:2364,x:31667,y:32237,ptovrint:False,ptlb:HighLight Boundry,ptin:_HighLightBoundry,varname:node_2364,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:1,cur:0.7374512,max:0.5;n:type:ShaderForge.SFN_Add,id:4791,x:32020,y:32221,varname:node_4791,prsc:2|A-2364-OUT,B-540-OUT;n:type:ShaderForge.SFN_Subtract,id:812,x:32020,y:32366,varname:node_812,prsc:2|A-2364-OUT,B-540-OUT;n:type:ShaderForge.SFN_Color,id:1945,x:32276,y:32108,ptovrint:False,ptlb:Hidh Light Color,ptin:_HidhLightColor,varname:node_1945,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:0,c2:0,c3:0,c4:1;n:type:ShaderForge.SFN_Lerp,id:269,x:32967,y:33466,cmnt:暗面补光,varname:node_269,prsc:2|A-3560-RGB,B-3681-OUT,T-5254-OUT;n:type:ShaderForge.SFN_Color,id:3560,x:32798,y:33366,ptovrint:False,ptlb:Fill Color,ptin:_FillColor,varname:node_3560,prsc:2,glob:False,taghide:False,taghdr:True,tagprd:False,tagnsco:False,tagnrm:False,c1:0,c2:0,c3:0,c4:1;n:type:ShaderForge.SFN_Smoothstep,id:5254,x:32609,y:33454,varname:node_5254,prsc:2|A-2852-OUT,B-3196-OUT,V-590-OUT;n:type:ShaderForge.SFN_Add,id:2852,x:32442,y:33392,varname:node_2852,prsc:2|A-8064-OUT,B-6987-OUT;n:type:ShaderForge.SFN_Subtract,id:3196,x:32442,y:33544,varname:node_3196,prsc:2|A-6987-OUT,B-8064-OUT;n:type:ShaderForge.SFN_Slider,id:8064,x:32120,y:33464,ptovrint:False,ptlb:Fill Smooth,ptin:_FillSmooth,varname:node_8064,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:0,cur:0,max:-1;n:type:ShaderForge.SFN_Slider,id:6987,x:32120,y:33554,ptovrint:False,ptlb:Fill Boundry,ptin:_FillBoundry,varname:node_6987,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:-1,cur:-0.8308498,max:-0.5;n:type:ShaderForge.SFN_Multiply,id:8809,x:32892,y:32873,varname:node_8809,prsc:2|A-5853-RGB,B-8282-OUT,C-1013-RGB;n:type:ShaderForge.SFN_Tex2d,id:1013,x:32634,y:33068,ptovrint:False,ptlb:Main Tex,ptin:_MainTex,varname:node_1013,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,ntxv:0,isnm:False;n:type:ShaderForge.SFN_Color,id:5853,x:32693,y:32593,ptovrint:False,ptlb:Main Color,ptin:_MainColor,varname:node_5853,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:1,c2:1,c3:1,c4:1;n:type:ShaderForge.SFN_LightAttenuation,id:1611,x:32174,y:32747,varname:node_1611,prsc:2;n:type:ShaderForge.SFN_Multiply,id:397,x:32174,y:32879,varname:node_397,prsc:2|A-1611-OUT,B-5134-OUT;n:type:ShaderForge.SFN_LightAttenuation,id:504,x:32488,y:32063,varname:node_504,prsc:2;n:type:ShaderForge.SFN_Multiply,id:8063,x:32649,y:32074,varname:node_8063,prsc:2|A-504-OUT,B-2577-OUT;n:type:ShaderForge.SFN_Lerp,id:8282,x:32634,y:32856,varname:node_8282,prsc:2|A-5286-RGB,B-5821-OUT,T-397-OUT;n:type:ShaderForge.SFN_Color,id:5286,x:32400,y:32884,ptovrint:False,ptlb:shadow color,ptin:_shadowcolor,varname:node_5286,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:0.6462264,c2:0.718895,c3:1,c4:1;n:type:ShaderForge.SFN_Dot,id:9261,x:30640,y:32679,varname:node_9261,prsc:2,dt:0|A-9989-OUT,B-4901-OUT;n:type:ShaderForge.SFN_HalfVector,id:9989,x:30456,y:32651,varname:node_9989,prsc:2;n:type:ShaderForge.SFN_Multiply,id:4425,x:30848,y:32689,varname:node_4425,prsc:2|A-9261-OUT,B-590-OUT;n:type:ShaderForge.SFN_Tex2d,id:9,x:33038,y:32415,ptovrint:False,ptlb:Emission tex,ptin:_Emissiontex,varname:node_8522,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,ntxv:0,isnm:False;n:type:ShaderForge.SFN_Color,id:2500,x:33038,y:32234,ptovrint:False,ptlb:Emission color,ptin:_Emissioncolor,varname:node_6659,prsc:2,glob:False,taghide:False,taghdr:True,tagprd:False,tagnsco:False,tagnrm:False,c1:0,c2:0,c3:0,c4:1;n:type:ShaderForge.SFN_Multiply,id:4745,x:33215,y:32342,varname:node_4745,prsc:2|A-2500-RGB,B-9-RGB;n:type:ShaderForge.SFN_Vector1,id:5821,x:32400,y:32747,varname:node_5821,prsc:2,v1:1;n:type:ShaderForge.SFN_Vector1,id:4856,x:32308,y:32385,varname:node_4856,prsc:2,v1:0;n:type:ShaderForge.SFN_Vector1,id:5365,x:31983,y:32819,varname:node_5365,prsc:2,v1:0;n:type:ShaderForge.SFN_Vector1,id:3681,x:32798,y:33583,varname:node_3681,prsc:2,v1:0;n:type:ShaderForge.SFN_Vector1,id:2311,x:31954,y:33092,varname:node_2311,prsc:2,v1:1;proporder:5853-1013-5286-1385-3609-1945-2364-540-3560-6987-8064-2500-9;pass:END;sub:END;*/ Shader "Shader Forge/Base" { Properties { _MainColor ("Main Color", Color) = (1,1,1,1) _MainTex ("Main Tex", 2D) = "white" {} _shadowcolor ("shadow color", Color) = (0.6462264,0.718895,1,1) _boundry ("boundry", Range(-1, 1)) = 0 _smooth ("smooth", Range(0.0001, 1)) = 0.0001 _HidhLightColor ("Hidh Light Color", Color) = (0,0,0,1) _HighLightBoundry ("HighLight Boundry", Range(1, 0.5)) = 0.7374512 _HighLightSmooth ("HighLight Smooth", Range(0.001, 1)) = 0.001 [HDR]_FillColor ("Fill Color", Color) = (0,0,0,1) _FillBoundry ("Fill Boundry", Range(-1, -0.5)) = -0.8308498 _FillSmooth ("Fill Smooth", Range(0, -1)) = 0 [HDR]_Emissioncolor ("Emission color", Color) = (0,0,0,1) _Emissiontex ("Emission tex", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } Pass { Name "FORWARD" Tags { "LightMode"="ForwardBase" } CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma multi_compile_instancing #include "UnityCG.cginc" #include "AutoLight.cginc" #include "Lighting.cginc" #pragma multi_compile_fwdbase_fullshadows #pragma multi_compile_fog #pragma target 3.0 uniform sampler2D _MainTex; uniform float4 _MainTex_ST; uniform sampler2D _Emissiontex; uniform float4 _Emissiontex_ST; UNITY_INSTANCING_BUFFER_START( Props ) UNITY_DEFINE_INSTANCED_PROP( float, _boundry) UNITY_DEFINE_INSTANCED_PROP( float, _smooth) UNITY_DEFINE_INSTANCED_PROP( float, _HighLightSmooth) UNITY_DEFINE_INSTANCED_PROP( float, _HighLightBoundry) UNITY_DEFINE_INSTANCED_PROP( float4, _HidhLightColor) UNITY_DEFINE_INSTANCED_PROP( float4, _FillColor) UNITY_DEFINE_INSTANCED_PROP( float, _FillSmooth) UNITY_DEFINE_INSTANCED_PROP( float, _FillBoundry) UNITY_DEFINE_INSTANCED_PROP( float4, _MainColor) UNITY_DEFINE_INSTANCED_PROP( float4, _shadowcolor) UNITY_DEFINE_INSTANCED_PROP( float4, _Emissioncolor) UNITY_INSTANCING_BUFFER_END( Props ) struct VertexInput { UNITY_VERTEX_INPUT_INSTANCE_ID float4 vertex : POSITION; float3 normal : NORMAL; float2 texcoord0 : TEXCOORD0; }; struct VertexOutput { float4 pos : SV_POSITION; UNITY_VERTEX_INPUT_INSTANCE_ID float2 uv0 : TEXCOORD0; float4 posWorld : TEXCOORD1; float3 normalDir : TEXCOORD2; LIGHTING_COORDS(3,4) UNITY_FOG_COORDS(5) }; VertexOutput vert (VertexInput v) { VertexOutput o = (VertexOutput)0; UNITY_SETUP_INSTANCE_ID( v ); UNITY_TRANSFER_INSTANCE_ID( v, o ); o.uv0 = v.texcoord0; o.normalDir = UnityObjectToWorldNormal(v.normal); o.posWorld = mul(unity_ObjectToWorld, v.vertex); o.pos = UnityObjectToClipPos( v.vertex ); UNITY_TRANSFER_FOG(o,o.pos); TRANSFER_VERTEX_TO_FRAGMENT(o) return o; } float4 frag(VertexOutput i) : COLOR { UNITY_SETUP_INSTANCE_ID( i ); i.normalDir = normalize(i.normalDir); float3 normalDirection = i.normalDir; float3 lightDirection = normalize(_WorldSpaceLightPos0.xyz); ////// Lighting: float attenuation = LIGHT_ATTENUATION(i); float4 _HidhLightColor_var = UNITY_ACCESS_INSTANCED_PROP( Props, _HidhLightColor ); float node_4856 = 0.0; float _HighLightBoundry_var = UNITY_ACCESS_INSTANCED_PROP( Props, _HighLightBoundry ); float _HighLightSmooth_var = UNITY_ACCESS_INSTANCED_PROP( Props, _HighLightSmooth ); float node_590 = dot(i.normalDir,lightDirection); float4 _MainColor_var = UNITY_ACCESS_INSTANCED_PROP( Props, _MainColor ); float4 _shadowcolor_var = UNITY_ACCESS_INSTANCED_PROP( Props, _shadowcolor ); float node_5821 = 1.0; float _boundry_var = UNITY_ACCESS_INSTANCED_PROP( Props, _boundry ); float _smooth_var = UNITY_ACCESS_INSTANCED_PROP( Props, _smooth ); float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(i.uv0, _MainTex)); float4 _FillColor_var = UNITY_ACCESS_INSTANCED_PROP( Props, _FillColor ); float node_3681 = 0.0; float _FillSmooth_var = UNITY_ACCESS_INSTANCED_PROP( Props, _FillSmooth ); float _FillBoundry_var = UNITY_ACCESS_INSTANCED_PROP( Props, _FillBoundry ); float4 _Emissioncolor_var = UNITY_ACCESS_INSTANCED_PROP( Props, _Emissioncolor ); float4 _Emissiontex_var = tex2D(_Emissiontex,TRANSFORM_TEX(i.uv0, _Emissiontex)); float3 finalColor = ((attenuation*lerp(_HidhLightColor_var.rgb,float3(node_4856,node_4856,node_4856),smoothstep( (_HighLightBoundry_var+_HighLightSmooth_var), (_HighLightBoundry_var-_HighLightSmooth_var), node_590 )))+(_MainColor_var.rgb*lerp(_shadowcolor_var.rgb,float3(node_5821,node_5821,node_5821),(attenuation*lerp(1.0,0.0,smoothstep( (_boundry_var+_smooth_var), (_boundry_var-_smooth_var), node_590 ))))*_MainTex_var.rgb)+lerp(_FillColor_var.rgb,float3(node_3681,node_3681,node_3681),smoothstep( (_FillSmooth_var+_FillBoundry_var), (_FillBoundry_var-_FillSmooth_var), node_590 ))+(_Emissioncolor_var.rgb*_Emissiontex_var.rgb)); fixed4 finalRGBA = fixed4(finalColor,1); UNITY_APPLY_FOG(i.fogCoord, finalRGBA); return finalRGBA; } ENDCG } } FallBack "Diffuse" CustomEditor "ShaderForgeMaterialInspector" }