120 lines
13 KiB
Plaintext
120 lines
13 KiB
Plaintext
// 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"
|
|
}
|