295 lines
37 KiB
Plaintext
295 lines
37 KiB
Plaintext
|
|
// Shader created with Shader Forge v1.38
|
||
|
|
// 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.38;sub:START;pass:START;ps:flbk:,iptp:0,cusa:False,bamd:0,cgin:,lico:1,lgpr:1,limd:1,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:2,bsrc:3,bdst:7,dpts:2,wrdp:False,dith:0,atcv:False,rfrpo:True,rfrpn:Refraction,coma:15,ufog:True,aust:True,igpj:True,qofs:0,qpre:3,rntp:2,fgom:False,fgoc:False,fgod:False,fgor:False,fgmd:0,fgcr:0.5,fgcg:0.5,fgcb:0.5,fgca:1,fgde:0.01,fgrn:0,fgrf:300,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:1761,x:33981,y:32443,varname:node_1761,prsc:2|emission-1077-OUT,alpha-8945-OUT,voffset-3179-OUT;n:type:ShaderForge.SFN_Tex2d,id:5485,x:32055,y:32415,ptovrint:False,ptlb:Textures,ptin:_Textures,varname:node_5485,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,ntxv:0,isnm:False|UVIN-3814-UVOUT;n:type:ShaderForge.SFN_VertexColor,id:5062,x:32460,y:32528,varname:node_5062,prsc:2;n:type:ShaderForge.SFN_Color,id:3569,x:32404,y:32180,ptovrint:False,ptlb:Color,ptin:_Color,varname:node_3569,prsc:2,glob:False,taghide:False,taghdr:True,tagprd:False,tagnsco:False,tagnrm:False,c1:0.5,c2:0.5,c3:0.5,c4:1;n:type:ShaderForge.SFN_Multiply,id:8018,x:32656,y:32289,varname:node_8018,prsc:2|A-3569-RGB,B-5485-RGB,C-5062-RGB;n:type:ShaderForge.SFN_SwitchProperty,id:4275,x:32132,y:32642,ptovrint:False,ptlb:TextureAlpha,ptin:_TextureAlpha,varname:node_4275,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,on:False|A-5485-R,B-5485-A;n:type:ShaderForge.SFN_DepthBlend,id:5518,x:32239,y:33166,varname:node_5518,prsc:2|DIST-6694-OUT;n:type:ShaderForge.SFN_SwitchProperty,id:8806,x:32504,y:33023,ptovrint:False,ptlb:SoftParticle,ptin:_SoftParticle,varname:node_8806,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,on:False|A-2176-OUT,B-5518-OUT;n:type:ShaderForge.SFN_TexCoord,id:1130,x:30092,y:31897,varname:node_1130,prsc:2,uv:0,uaff:False;n:type:ShaderForge.SFN_Time,id:3610,x:29879,y:31954,varname:node_3610,prsc:2;n:type:ShaderForge.SFN_ValueProperty,id:8092,x:29902,y:31798,ptovrint:False,ptlb:U Speed,ptin:_USpeed,varname:node_8092,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0;n:type:ShaderForge.SFN_ValueProperty,id:899,x:29904,y:32139,ptovrint:False,ptlb:V Speed,ptin:_VSpeed,varname:node_899,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0;n:type:ShaderForge.SFN_Multiply,id:6103,x:30187,y:32184,varname:node_6103,prsc:2|A-3610-T,B-899-OUT;n:type:ShaderForge.SFN_Multiply,id:2835,x:30104,y:31751,varname:node_2835,prsc:2|A-8092-OUT,B-3610-T;n:type:ShaderForge.SFN_Append,id:7461,x:30474,y:31916,varname:node_7461,prsc:2|A-5074-OUT,B-31-OUT;n:type:ShaderForge.SFN_Add,id:5074,x:30288,y:31828,varname:node_5074,prsc:2|A-2835-OUT,B-1130-U;n:type:ShaderForge.SFN_Add,id:31,x:30399,y:32050,varname:node_31,prsc:2|A-1130-V,B-6103-OUT;n:type:ShaderForge.SFN_Multiply,id:7551,x:33021,y:32860,varname:node_7551,prsc:2|A-7234-OUT,B-5062-A,C-8806-OUT,D-24-OUT,E-6339-OUT;n:type:ShaderForge.SFN_SwitchProperty,id:7234,x:32557,y:32818,ptovrint:False,ptlb:Mask Tex,ptin:_MaskTex,varname:node_7234,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,on:False|A-4275-OUT,B-1096-OUT;n:type:ShaderForge.SFN_Tex2d,id:272,x:32132,y:32837,ptovrint:False,ptlb:Opacity Textures,ptin:_OpacityTextures,varname:node_272,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,ntxv:0,isnm:False|UVIN-1056-UVOUT;n:type:ShaderForge.SFN_Multiply,id:1096,x:32293,y:32844,varname:node_1096,prsc:2|A-4275-OUT,B-272-R;n:type:ShaderForge.SFN_Fresnel,id:9623,x:31997,y:33354,varname:node_9623,prsc:2|EXP-8418-OUT;n:type:ShaderForge.SFN_OneMinus,id:6208,x:32193,y:33336,varname:node_6208,prsc:2|IN-9623-OUT;n:type:ShaderForge.SFN_ValueProperty,id:8418,x:31805,y:33413,ptovrint:False,p
|
||
|
|
|
||
|
|
Shader "FX/Alpha_Custom Data" {
|
||
|
|
Properties {
|
||
|
|
_Textures ("Textures贴图", 2D) = "white" {}
|
||
|
|
_Rotator ("Rotator", Float ) = 0
|
||
|
|
[MaterialToggle] _TextureAlpha ("TextureAlpha", Float ) = 0
|
||
|
|
[MaterialToggle] _PanUV ("PanUV勾上后控制ZW_uv动画", Float ) = 0
|
||
|
|
[HDR]_Color ("Color", Color) = (1,1,1,1)
|
||
|
|
_USpeed ("U Speed", Float ) = 0
|
||
|
|
_VSpeed ("V Speed", Float ) = 0
|
||
|
|
_SoftPower ("SoftPower地面切边", Float ) = 1
|
||
|
|
[MaterialToggle] _SoftParticle ("SoftParticle切边开关", Float ) = 0
|
||
|
|
_OpacityTextures ("Opacity Textures", 2D) = "white" {}
|
||
|
|
_Mask_R ("Mask_R", Float ) = 0
|
||
|
|
[MaterialToggle] _MaskTex ("Mask Tex", Float ) = 0
|
||
|
|
_OpacityU_Speed ("OpacityU_Speed", Float ) = 0
|
||
|
|
_OpacityV_Speed ("OpacityV_Speed", Float ) = 0
|
||
|
|
_Disslov ("Disslov", 2D) = "white" {}
|
||
|
|
[MaterialToggle] _Dissolve ("Dissolve勾上后控制X_溶解", Float ) = 0
|
||
|
|
_Smoot ("Smoot溶解平滑度", Float ) = 0
|
||
|
|
[MaterialToggle] _DissOrPower ("DissOrPower", Float ) = 0
|
||
|
|
_DissPower ("DissPower", Float ) = 0
|
||
|
|
_Disslov_V_speed ("Disslov_V_speed", Float ) = 0
|
||
|
|
_Disslov_U_speed ("Disslov_U_speed", Float ) = 0
|
||
|
|
_Rotator_Disslov ("Rotator_Disslov", Float ) = 0
|
||
|
|
_niuqu_Tex ("niuqu_Tex扭曲纹理", 2D) = "white" {}
|
||
|
|
_NIUQU ("NIUQU", Float ) = 0
|
||
|
|
_N_U_Speed ("N_U_Speed", Float ) = 0
|
||
|
|
_N_V_Speed ("N_V_Speed", Float ) = 0
|
||
|
|
[MaterialToggle] _NiuQUDiss ("NiuQUDiss", Float ) = 0
|
||
|
|
_RampColor ("RampColor", 2D) = "white" {}
|
||
|
|
_Ramp_R ("Ramp_R", Float ) = 0
|
||
|
|
_BackFacePower ("BackFacePower", Float ) = 1
|
||
|
|
[MaterialToggle] _FresnelOp ("Fresnel Op边缘发光", Float ) = 0
|
||
|
|
[MaterialToggle] _Fresnel_Oneminus ("Fresnel_Oneminus边缘发光", Float ) = 0
|
||
|
|
_FresnelPower (" Fresnel Power", Float ) = 0
|
||
|
|
_VertexT ("VertexT", 2D) = "white" {}
|
||
|
|
[MaterialToggle] _VerTexOffest ("VerTexOffest勾上后控制Y_顶点位移", Float ) = 0
|
||
|
|
_VertexPower ("VertexPower", Vector) = (1,1,1,0)
|
||
|
|
_VPan_U ("VPan_U", Float ) = 0
|
||
|
|
_VPan_V ("VPan_V", Float ) = 0
|
||
|
|
_MaskTextures ("MaskTextures遮罩", 2D) = "white" {}
|
||
|
|
_mask_niuqu ("mask_niuqu", 2D) = "white" {}
|
||
|
|
_NIUQU_mask ("NIUQU_mask", Float ) = 0
|
||
|
|
_mask_niuqu_Speed_u ("mask_niuqu_Speed_u", Float ) = 0
|
||
|
|
_mask_niuqu_Speed_v ("mask_niuqu_Speed_v", Float ) = 0
|
||
|
|
[MaterialToggle] _mask_niuqu_off ("mask_niuqu_off", Float ) = 0
|
||
|
|
_yuhua_power ("yuhua_power", Float ) = 0
|
||
|
|
[MaterialToggle] _Fre_ad ("Fre_ad", Float ) = 0
|
||
|
|
[HDR]_Fre_color ("Fre_color", Color) = (0.5,0.5,0.5,1)
|
||
|
|
[MaterialToggle] _mask_Pan ("mask_Pan", Float ) = 0
|
||
|
|
[HideInInspector]_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
|
||
|
|
}
|
||
|
|
SubShader {
|
||
|
|
Tags {
|
||
|
|
"IgnoreProjector"="True"
|
||
|
|
"Queue"="Transparent"
|
||
|
|
"RenderType"="Transparent"
|
||
|
|
}
|
||
|
|
LOD 100
|
||
|
|
Pass {
|
||
|
|
Name "FORWARD"
|
||
|
|
Tags {
|
||
|
|
"LightMode"="ForwardBase"
|
||
|
|
}
|
||
|
|
Blend SrcAlpha OneMinusSrcAlpha
|
||
|
|
Cull Off
|
||
|
|
ZWrite Off
|
||
|
|
|
||
|
|
CGPROGRAM
|
||
|
|
#pragma vertex vert
|
||
|
|
#pragma fragment frag
|
||
|
|
#include "UnityCG.cginc"
|
||
|
|
#pragma multi_compile_fwdbase
|
||
|
|
#pragma multi_compile_fog
|
||
|
|
//#pragma only_renderers d3d9 d3d11 glcore gles
|
||
|
|
#pragma target 3.0
|
||
|
|
uniform sampler2D _CameraDepthTexture;
|
||
|
|
uniform sampler2D _Textures; uniform float4 _Textures_ST;
|
||
|
|
uniform float4 _Color;
|
||
|
|
uniform fixed _TextureAlpha;
|
||
|
|
uniform fixed _SoftParticle;
|
||
|
|
uniform float _USpeed;
|
||
|
|
uniform float _VSpeed;
|
||
|
|
uniform fixed _MaskTex;
|
||
|
|
uniform sampler2D _OpacityTextures; uniform float4 _OpacityTextures_ST;
|
||
|
|
uniform float _FresnelPower;
|
||
|
|
uniform fixed _FresnelOp;
|
||
|
|
uniform fixed _Dissolve;
|
||
|
|
uniform fixed _PanUV;
|
||
|
|
uniform float _BackFacePower;
|
||
|
|
uniform sampler2D _niuqu_Tex; uniform float4 _niuqu_Tex_ST;
|
||
|
|
uniform float _NIUQU;
|
||
|
|
uniform float _Rotator;
|
||
|
|
uniform sampler2D _RampColor; uniform float4 _RampColor_ST;
|
||
|
|
uniform sampler2D _Disslov; uniform float4 _Disslov_ST;
|
||
|
|
uniform float _DissPower;
|
||
|
|
uniform float _Smoot;
|
||
|
|
uniform float _SoftPower;
|
||
|
|
uniform fixed _DissOrPower;
|
||
|
|
uniform fixed _NiuQUDiss;
|
||
|
|
uniform sampler2D _VertexT; uniform float4 _VertexT_ST;
|
||
|
|
uniform float4 _VertexPower;
|
||
|
|
uniform float _VPan_U;
|
||
|
|
uniform float _VPan_V;
|
||
|
|
uniform fixed _VerTexOffest;
|
||
|
|
uniform float _OpacityU_Speed;
|
||
|
|
uniform float _OpacityV_Speed;
|
||
|
|
uniform sampler2D _MaskTextures; uniform float4 _MaskTextures_ST;
|
||
|
|
uniform float _N_U_Speed;
|
||
|
|
uniform float _N_V_Speed;
|
||
|
|
uniform fixed _Fresnel_Oneminus;
|
||
|
|
uniform float _Disslov_U_speed;
|
||
|
|
uniform float _Disslov_V_speed;
|
||
|
|
uniform float _Rotator_Disslov;
|
||
|
|
uniform sampler2D _mask_niuqu; uniform float4 _mask_niuqu_ST;
|
||
|
|
uniform float _NIUQU_mask;
|
||
|
|
uniform float _mask_niuqu_Speed_u;
|
||
|
|
uniform float _mask_niuqu_Speed_v;
|
||
|
|
uniform fixed _mask_niuqu_off;
|
||
|
|
uniform float _yuhua_power;
|
||
|
|
uniform float _Mask_R;
|
||
|
|
uniform float _Ramp_R;
|
||
|
|
uniform fixed _Fre_ad;
|
||
|
|
uniform float4 _Fre_color;
|
||
|
|
struct VertexInput {
|
||
|
|
float4 vertex : POSITION;
|
||
|
|
float3 normal : NORMAL;
|
||
|
|
float2 texcoord0 : TEXCOORD0;
|
||
|
|
float4 texcoord1 : TEXCOORD1;
|
||
|
|
float4 vertexColor : COLOR;
|
||
|
|
};
|
||
|
|
struct VertexOutput {
|
||
|
|
float4 pos : SV_POSITION;
|
||
|
|
float2 uv0 : TEXCOORD0;
|
||
|
|
float4 uv1 : TEXCOORD1;
|
||
|
|
float4 posWorld : TEXCOORD2;
|
||
|
|
float3 normalDir : TEXCOORD3;
|
||
|
|
float4 vertexColor : COLOR;
|
||
|
|
float4 projPos : TEXCOORD4;
|
||
|
|
UNITY_FOG_COORDS(5)
|
||
|
|
};
|
||
|
|
VertexOutput vert (VertexInput v) {
|
||
|
|
VertexOutput o = (VertexOutput)0;
|
||
|
|
o.uv0 = v.texcoord0;
|
||
|
|
o.uv1 = v.texcoord1;
|
||
|
|
o.vertexColor = v.vertexColor;
|
||
|
|
o.normalDir = UnityObjectToWorldNormal(v.normal);
|
||
|
|
float4 node_6902 = _Time;
|
||
|
|
float2 node_6227 = float2(((_VPan_U*node_6902.g)+o.uv0.r),(o.uv0.g+(node_6902.g*_VPan_V)));
|
||
|
|
float4 _VertexT_var = tex2Dlod(_VertexT,float4(TRANSFORM_TEX(node_6227, _VertexT),0.0,0));
|
||
|
|
v.vertex.xyz += lerp( 0.0, (_VertexT_var.rgb*_VertexPower.rgb*v.normal*o.uv1.g), _VerTexOffest );
|
||
|
|
o.posWorld = mul(unity_ObjectToWorld, v.vertex);
|
||
|
|
o.pos = UnityObjectToClipPos( v.vertex );
|
||
|
|
UNITY_TRANSFER_FOG(o,o.pos);
|
||
|
|
o.projPos = ComputeScreenPos (o.pos);
|
||
|
|
COMPUTE_EYEDEPTH(o.projPos.z);
|
||
|
|
return o;
|
||
|
|
}
|
||
|
|
float4 frag(VertexOutput i, float facing : VFACE) : COLOR {
|
||
|
|
float isFrontFace = ( facing >= 0 ? 1 : 0 );
|
||
|
|
float faceSign = ( facing >= 0 ? 1 : -1 );
|
||
|
|
i.normalDir = normalize(i.normalDir);
|
||
|
|
i.normalDir *= faceSign;
|
||
|
|
float3 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz);
|
||
|
|
float3 normalDirection = i.normalDir;
|
||
|
|
float sceneZ = max(0,LinearEyeDepth (UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos)))) - _ProjectionParams.g);
|
||
|
|
float partZ = max(0,i.projPos.z - _ProjectionParams.g);
|
||
|
|
////// Lighting:
|
||
|
|
////// Emissive:
|
||
|
|
float node_9892_ang = ((_Ramp_R*3.141592654)/180.0);
|
||
|
|
float node_9892_spd = 1.0;
|
||
|
|
float node_9892_cos = cos(node_9892_spd*node_9892_ang);
|
||
|
|
float node_9892_sin = sin(node_9892_spd*node_9892_ang);
|
||
|
|
float2 node_9892_piv = float2(0.5,0.5);
|
||
|
|
float2 node_9892 = (mul(i.uv0-node_9892_piv,float2x2( node_9892_cos, -node_9892_sin, node_9892_sin, node_9892_cos))+node_9892_piv);
|
||
|
|
float4 _RampColor_var = tex2D(_RampColor,TRANSFORM_TEX(node_9892, _RampColor));
|
||
|
|
float node_3814_ang = ((_Rotator*3.141592654)/180.0);
|
||
|
|
float node_3814_spd = 1.0;
|
||
|
|
float node_3814_cos = cos(node_3814_spd*node_3814_ang);
|
||
|
|
float node_3814_sin = sin(node_3814_spd*node_3814_ang);
|
||
|
|
float2 node_3814_piv = float2(0.5,0.5);
|
||
|
|
float4 node_3610 = _Time;
|
||
|
|
float2 node_358 = (i.uv0+float2(i.uv1.b,i.uv1.a));
|
||
|
|
float4 node_7090 = _Time;
|
||
|
|
float2 node_5002 = float2(((_N_U_Speed*node_7090.g)+i.uv0.r),(i.uv0.g+(node_7090.g*_N_V_Speed)));
|
||
|
|
float4 _niuqu_Tex_var = tex2D(_niuqu_Tex,TRANSFORM_TEX(node_5002, _niuqu_Tex));
|
||
|
|
float node_2201 = (_niuqu_Tex_var.r*_NIUQU);
|
||
|
|
float2 node_3814 = (mul((lerp( float2(((_USpeed*node_3610.g)+i.uv0.r),(i.uv0.g+(node_3610.g*_VSpeed))), node_358, _PanUV )+node_2201)-node_3814_piv,float2x2( node_3814_cos, -node_3814_sin, node_3814_sin, node_3814_cos))+node_3814_piv);
|
||
|
|
float4 _Textures_var = tex2D(_Textures,TRANSFORM_TEX(node_3814, _Textures));
|
||
|
|
float3 node_8018 = (_Color.rgb*_Textures_var.rgb*i.vertexColor.rgb);
|
||
|
|
float node_6208 = (1.0 - pow(1.0-max(0,dot(normalDirection, viewDirection)),_FresnelPower));
|
||
|
|
float _Fresnel_Oneminus_var = lerp( node_6208, (1.0 - node_6208), _Fresnel_Oneminus );
|
||
|
|
float3 emissive = ((_RampColor_var.rgb*lerp((node_8018*_BackFacePower),node_8018,isFrontFace))+lerp( 0.0, (_Fre_color.rgb*_Fresnel_Oneminus_var), _Fre_ad ));
|
||
|
|
float3 finalColor = emissive;
|
||
|
|
float _TextureAlpha_var = lerp( _Textures_var.r, _Textures_var.a, _TextureAlpha );
|
||
|
|
float node_1056_ang = ((_Mask_R*3.141592654)/180.0);
|
||
|
|
float node_1056_spd = 1.0;
|
||
|
|
float node_1056_cos = cos(node_1056_spd*node_1056_ang);
|
||
|
|
float node_1056_sin = sin(node_1056_spd*node_1056_ang);
|
||
|
|
float2 node_1056_piv = float2(0.5,0.5);
|
||
|
|
float4 node_1876 = _Time;
|
||
|
|
float2 node_9150 = float2(((_mask_niuqu_Speed_u*node_1876.g)+i.uv0.r),(i.uv0.g+(node_1876.g*_mask_niuqu_Speed_v)));
|
||
|
|
float4 _mask_niuqu_var = tex2D(_mask_niuqu,TRANSFORM_TEX(node_9150, _mask_niuqu));
|
||
|
|
float4 node_2775 = _Time;
|
||
|
|
float2 node_1056 = (mul((lerp( 0.0, (_mask_niuqu_var.r*_NIUQU_mask), _mask_niuqu_off )+float2(((_OpacityU_Speed*node_2775.g)+i.uv0.r),(i.uv0.g+(node_2775.g*_OpacityV_Speed))))-node_1056_piv,float2x2( node_1056_cos, -node_1056_sin, node_1056_sin, node_1056_cos))+node_1056_piv);
|
||
|
|
float4 _OpacityTextures_var = tex2D(_OpacityTextures,TRANSFORM_TEX(node_1056, _OpacityTextures));
|
||
|
|
float _DissOrPower_var = lerp( (1.0 - i.uv1.r), _DissPower, _DissOrPower );
|
||
|
|
float node_5378_ang = ((_Rotator_Disslov*3.141592654)/180.0);
|
||
|
|
float node_5378_spd = 1.0;
|
||
|
|
float node_5378_cos = cos(node_5378_spd*node_5378_ang);
|
||
|
|
float node_5378_sin = sin(node_5378_spd*node_5378_ang);
|
||
|
|
float2 node_5378_piv = float2(0.5,0.5);
|
||
|
|
float4 node_8509 = _Time;
|
||
|
|
float2 node_672 = float2(((_Disslov_U_speed*node_8509.g)+i.uv0.r),(i.uv0.g+(node_8509.g*_Disslov_V_speed)));
|
||
|
|
float2 node_5378 = (mul(lerp( node_672, (node_2201+node_672), _NiuQUDiss )-node_5378_piv,float2x2( node_5378_cos, -node_5378_sin, node_5378_sin, node_5378_cos))+node_5378_piv);
|
||
|
|
float4 _Disslov_var = tex2D(_Disslov,TRANSFORM_TEX(node_5378, _Disslov));
|
||
|
|
float4 _MaskTextures_var = tex2D(_MaskTextures,TRANSFORM_TEX(i.uv0, _MaskTextures));
|
||
|
|
float node_882 = pow(abs(dot(viewDirection,i.normalDir)),_yuhua_power);
|
||
|
|
fixed4 finalRGBA = fixed4(finalColor,(_Color.a*(lerp( _TextureAlpha_var, (_TextureAlpha_var*_OpacityTextures_var.r), _MaskTex )*i.vertexColor.a*lerp( 1.0, saturate((sceneZ-partZ)/_SoftPower), _SoftParticle )*lerp( 1.0, _Fresnel_Oneminus_var, _FresnelOp )*lerp( 1.0, smoothstep( _DissOrPower_var, (_DissOrPower_var+_Smoot), _Disslov_var.r ), _Dissolve ))*_MaskTextures_var.r*node_882));
|
||
|
|
UNITY_APPLY_FOG(i.fogCoord, finalRGBA);
|
||
|
|
return finalRGBA;
|
||
|
|
}
|
||
|
|
ENDCG
|
||
|
|
}
|
||
|
|
Pass {
|
||
|
|
Name "ShadowCaster"
|
||
|
|
Tags {
|
||
|
|
"LightMode"="ShadowCaster"
|
||
|
|
}
|
||
|
|
Offset 1, 1
|
||
|
|
Cull Off
|
||
|
|
|
||
|
|
CGPROGRAM
|
||
|
|
#pragma vertex vert
|
||
|
|
#pragma fragment frag
|
||
|
|
#include "UnityCG.cginc"
|
||
|
|
#include "Lighting.cginc"
|
||
|
|
#pragma fragmentoption ARB_precision_hint_fastest
|
||
|
|
#pragma multi_compile_shadowcaster
|
||
|
|
#pragma multi_compile_fog
|
||
|
|
#pragma only_renderers d3d9 d3d11 glcore gles
|
||
|
|
#pragma target 3.0
|
||
|
|
uniform sampler2D _VertexT; uniform float4 _VertexT_ST;
|
||
|
|
uniform float4 _VertexPower;
|
||
|
|
uniform float _VPan_U;
|
||
|
|
uniform float _VPan_V;
|
||
|
|
uniform fixed _VerTexOffest;
|
||
|
|
struct VertexInput {
|
||
|
|
float4 vertex : POSITION;
|
||
|
|
float3 normal : NORMAL;
|
||
|
|
float2 texcoord0 : TEXCOORD0;
|
||
|
|
float4 texcoord1 : TEXCOORD1;
|
||
|
|
};
|
||
|
|
struct VertexOutput {
|
||
|
|
V2F_SHADOW_CASTER;
|
||
|
|
float2 uv0 : TEXCOORD1;
|
||
|
|
float4 uv1 : TEXCOORD2;
|
||
|
|
float4 posWorld : TEXCOORD3;
|
||
|
|
float3 normalDir : TEXCOORD4;
|
||
|
|
};
|
||
|
|
VertexOutput vert (VertexInput v) {
|
||
|
|
VertexOutput o = (VertexOutput)0;
|
||
|
|
o.uv0 = v.texcoord0;
|
||
|
|
o.uv1 = v.texcoord1;
|
||
|
|
o.normalDir = UnityObjectToWorldNormal(v.normal);
|
||
|
|
float4 node_6902 = _Time;
|
||
|
|
float2 node_6227 = float2(((_VPan_U*node_6902.g)+o.uv0.r),(o.uv0.g+(node_6902.g*_VPan_V)));
|
||
|
|
float4 _VertexT_var = tex2Dlod(_VertexT,float4(TRANSFORM_TEX(node_6227, _VertexT),0.0,0));
|
||
|
|
v.vertex.xyz += lerp( 0.0, (_VertexT_var.rgb*_VertexPower.rgb*v.normal*o.uv1.g), _VerTexOffest );
|
||
|
|
o.posWorld = mul(unity_ObjectToWorld, v.vertex);
|
||
|
|
o.pos = UnityObjectToClipPos( v.vertex );
|
||
|
|
TRANSFER_SHADOW_CASTER(o)
|
||
|
|
return o;
|
||
|
|
}
|
||
|
|
float4 frag(VertexOutput i, float facing : VFACE) : COLOR {
|
||
|
|
float isFrontFace = ( facing >= 0 ? 1 : 0 );
|
||
|
|
float faceSign = ( facing >= 0 ? 1 : -1 );
|
||
|
|
i.normalDir = normalize(i.normalDir);
|
||
|
|
i.normalDir *= faceSign;
|
||
|
|
float3 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz);
|
||
|
|
float3 normalDirection = i.normalDir;
|
||
|
|
SHADOW_CASTER_FRAGMENT(i)
|
||
|
|
}
|
||
|
|
ENDCG
|
||
|
|
}
|
||
|
|
}
|
||
|
|
FallBack "Diffuse"
|
||
|
|
//CustomEditor "ShaderForgeMaterialInspector"
|
||
|
|
}
|