mergemilitary/Assets/Art_Military/shader/Base_SetGray.shader

138 lines
16 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:32609,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:1,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:30255,y:32259,prsc:2,pt:False;n:type:ShaderForge.SFN_LightVector,id:7219,x:30255,y:32406,varname:node_7219,prsc:2;n:type:ShaderForge.SFN_Dot,id:590,x:30417,y:32347,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-1329-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_Multiply,id:8809,x:32892,y:32873,varname:node_8809,prsc:2|A-5853-RGB,B-8282-OUT,C-1957-OUT;n:type:ShaderForge.SFN_Tex2d,id:1013,x:31461,y:33527,ptovrint:False,ptlb:Main Tex,ptin:_MainTex,varname:node_1013,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,tex:a78bffbeb81b48ae9ec71ad7969613e5,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:30439,y:32130,varname:node_9261,prsc:2,dt:0|A-9989-OUT,B-4901-OUT;n:type:ShaderForge.SFN_HalfVector,id:9989,x:30255,y:32102,varname:node_9989,prsc:2;n:type:ShaderForge.SFN_Multiply,id:4425,x:30647,y:32140,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:2311,x:31954,y:33092,varname:node_2311,prsc:2,v1:1;n:type:ShaderForge.SFN_Fresnel,id:8779,x:32704,y:34153,varname:node_8779,prsc:2;n:type:ShaderForge.SFN_Slider,id:5054,x:32347,y:33916,ptovrint:False,ptlb:F boundry,ptin:_Fboundry,varname:_boundry_copy,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:1,cur:0.5,max:0;n:type:ShaderForge.SFN_Slider,id:5450,x:32347,y:34043,ptovrint:False,ptlb:F smooth,ptin:_Fsmooth,varname:_smooth_copy,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:0,cur:-0.2,max:-1;n:type:ShaderForge.SFN_Add,id:3674,x:32704,y:33842,varname:node_3674,prsc:2|A-5054-OUT,B-5450-OUT;n:type:ShaderForge.SFN_Subtract,id:5219,x:32704,y:33985,varname:node_5219,prsc:2|A-5054-OUT,B-5450-OUT;n:type:ShaderForge.SFN_Smoothstep,id:8381,x:32881,y:33830,varname:node_8381,prsc:2|A-3674-OUT,B-5219-OUT,V-8779-OUT;n:type:ShaderForge.SFN_Multiply,id:1329,x:33028,y:33962,varname:node_1329,prsc:2|A-8381-OUT,B-8267-RGB;n:type:ShaderForge.SFN_Color,id:8267,x:32873,y:34088,ptovrint:False,ptlb:F Color,ptin:_FColor,varname:_FillColor_copy,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_Lerp,id:7819,x:31801,y:33302,varname:node_7819,prsc:2|A-7577-OUT,B-1013-RGB,T-20-OUT;n:type:ShaderForge.SFN_Slider,id:20,x:31362,y:33405,ptovrint:False,ptlb:Contrast,ptin:_Contrast,varname:node_20,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:0,cur:1.65,max:2;n:type:ShaderForge.SFN_Vector3,id:7577,x:31506,y:33277,varname:node_7577,prsc:2,v1:0.5,v2:0.5,v3:0.5;n:type:ShaderForge.SFN_RgbToHsv,id:5424,x:32109,y:33294,varname:node_5424,prsc:2|IN-7819-OUT;n:type:ShaderForge.SFN_HsvToRgb,id:3005,x:32367,y:33295,varname:node_3005,prsc:2|H-5424-HOUT,S-360-OUT,V-4316-OUT;n:type:ShaderForge.SFN_Multiply,id:360,x:32232,y:33442,varname:node_360,prsc:2|A-5424-SOUT,B-740-OUT;n:type:ShaderForge.SFN_Slider,id:3093,x:31876,y:33794,ptovrint:False,ptlb:V,ptin:_V,varname:node_3093,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:0,cur:0.5,max:1;n:type:ShaderForge.SFN_Multiply,id:4316,x:32232,y:33610,varname:node_4316,prsc:2|A-5424-VOUT,B-3093-OUT;n:type:ShaderForge.SFN_ToggleProperty,id:3988,x:32560,y:33137,ptovrint:False,ptlb:SetGray,ptin:_SetGray,varname:node_3988,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,on:False;n:type:ShaderForge.SFN_If,id:1957,x:32783,y:33391,varname:node_1957,prsc:2|A-3988-OUT,B-2679-OUT,GT-3005-OUT,EQ-1013-RGB,LT-1013-RGB;n:type:ShaderForge.SFN_Vector1,id:2679,x:32560,y:33195,varname:node_2679,prsc:2,v1:0;n:type:ShaderForge.SFN_Vector1,id:740,x:31916,y:33615,varname:node_740,prsc:2,v1:0;proporder:5853-1013-5286-1385-3609-1945-2364-540-8267-5054-5450-9-2500-3093-20-3988;pass:END;sub:END;*/
Shader "Shader Forge/Base_SetGray" {
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)) = 1
_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]_FColor ("F Color", Color) = (0,0,0,1)
_Fboundry ("F boundry", Range(1, 0)) = 0.5
_Fsmooth ("F smooth", Range(0, -1)) = -0.2
_Emissiontex ("Emission tex", 2D) = "white" {}
[HDR]_Emissioncolor ("Emission color", Color) = (0,0,0,1)
_V ("V", Range(0, 1)) = 0.5
_Contrast ("Contrast", Range(0, 2)) = 1.65
[MaterialToggle] _SetGray ("SetGray", Float ) = 0
}
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, _MainColor)
UNITY_DEFINE_INSTANCED_PROP( float4, _shadowcolor)
UNITY_DEFINE_INSTANCED_PROP( float4, _Emissioncolor)
UNITY_DEFINE_INSTANCED_PROP( float, _Fboundry)
UNITY_DEFINE_INSTANCED_PROP( float, _Fsmooth)
UNITY_DEFINE_INSTANCED_PROP( float4, _FColor)
UNITY_DEFINE_INSTANCED_PROP( float, _Contrast)
UNITY_DEFINE_INSTANCED_PROP( float, _V)
UNITY_DEFINE_INSTANCED_PROP( fixed, _SetGray)
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 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz);
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 );
float _SetGray_var = UNITY_ACCESS_INSTANCED_PROP( Props, _SetGray );
float node_1957_if_leA = step(_SetGray_var,0.0);
float node_1957_if_leB = step(0.0,_SetGray_var);
float4 _MainTex_var = tex2D(_MainTex,TRANSFORM_TEX(i.uv0, _MainTex));
float _Contrast_var = UNITY_ACCESS_INSTANCED_PROP( Props, _Contrast );
float3 node_7819 = lerp(float3(0.5,0.5,0.5),_MainTex_var.rgb,_Contrast_var);
float4 node_5424_k = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
float4 node_5424_p = lerp(float4(float4(node_7819,0.0).zy, node_5424_k.wz), float4(float4(node_7819,0.0).yz, node_5424_k.xy), step(float4(node_7819,0.0).z, float4(node_7819,0.0).y));
float4 node_5424_q = lerp(float4(node_5424_p.xyw, float4(node_7819,0.0).x), float4(float4(node_7819,0.0).x, node_5424_p.yzx), step(node_5424_p.x, float4(node_7819,0.0).x));
float node_5424_d = node_5424_q.x - min(node_5424_q.w, node_5424_q.y);
float node_5424_e = 1.0e-10;
float3 node_5424 = float3(abs(node_5424_q.z + (node_5424_q.w - node_5424_q.y) / (6.0 * node_5424_d + node_5424_e)), node_5424_d / (node_5424_q.x + node_5424_e), node_5424_q.x);;
float _V_var = UNITY_ACCESS_INSTANCED_PROP( Props, _V );
float _Fboundry_var = UNITY_ACCESS_INSTANCED_PROP( Props, _Fboundry );
float _Fsmooth_var = UNITY_ACCESS_INSTANCED_PROP( Props, _Fsmooth );
float4 _FColor_var = UNITY_ACCESS_INSTANCED_PROP( Props, _FColor );
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 ))))*lerp((node_1957_if_leA*_MainTex_var.rgb)+(node_1957_if_leB*(lerp(float3(1,1,1),saturate(3.0*abs(1.0-2.0*frac(node_5424.r+float3(0.0,-1.0/3.0,1.0/3.0)))-1),(node_5424.g*0.0))*(node_5424.b*_V_var))),_MainTex_var.rgb,node_1957_if_leA*node_1957_if_leB))+(smoothstep( (_Fboundry_var+_Fsmooth_var), (_Fboundry_var-_Fsmooth_var), (1.0-max(0,dot(normalDirection, viewDirection))) )*_FColor_var.rgb)+(_Emissioncolor_var.rgb*_Emissiontex_var.rgb));
fixed4 finalRGBA = fixed4(finalColor,1);
UNITY_APPLY_FOG(i.fogCoord, finalRGBA);
return finalRGBA;
}
ENDCG
}
}
FallBack "Diffuse"
CustomEditor "ShaderForgeMaterialInspector"
}