Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Shader created with Shader Forge v1.26
- // Shader Forge (c) Neat Corporation / Joachim Holmer - http://www.acegikmo.com/shaderforge/
- // Note: Manually altering this data may prevent you from opening it in Shader Forge
- /*SF_DATA;ver:1.26;sub:START;pass:START;ps:flbk:,iptp:0,cusa:False,bamd:0,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,rpth:0,vtps:0,hqsc:True,nrmq:1,nrsp:0,vomd:0,spxs:False,tesm:0,olmd:1,culm:0,bsrc:0,bdst:7,dpts:2,wrdp:False,dith:0,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,stva:128,stmr:255,stmw:255,stcp:6,stps:0,stfa:0,stfz:0,ofsf:0,ofsu:0,f2p0:False,fnsp:False,fnfb:False;n:type:ShaderForge.SFN_Final,id:1861,x:34176,y:32659,varname:node_1861,prsc:2|diff-1304-OUT,lwrap-8380-OUT,alpha-4795-OUT;n:type:ShaderForge.SFN_Tex2d,id:7714,x:32036,y:32784,varname:node_7714,prsc:2,ntxv:0,isnm:False|UVIN-75-UVOUT,TEX-2614-TEX;n:type:ShaderForge.SFN_Tex2dAsset,id:2614,x:31760,y:32928,ptovrint:False,ptlb:Opacity Texture,ptin:_OpacityTexture,varname:node_2614,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,ntxv:0,isnm:False;n:type:ShaderForge.SFN_Tex2d,id:6422,x:32123,y:33214,varname:node_6422,prsc:2,ntxv:0,isnm:False|UVIN-8696-UVOUT,TEX-2614-TEX;n:type:ShaderForge.SFN_Multiply,id:821,x:32405,y:33052,varname:node_821,prsc:2|A-7714-R,B-6422-R,C-4471-OUT;n:type:ShaderForge.SFN_Vector1,id:4471,x:32216,y:33102,varname:node_4471,prsc:2,v1:2;n:type:ShaderForge.SFN_Panner,id:75,x:31622,y:32775,varname:node_75,prsc:2,spu:0,spv:1|UVIN-9159-OUT,DIST-4341-OUT;n:type:ShaderForge.SFN_Time,id:8632,x:30855,y:33089,varname:node_8632,prsc:2;n:type:ShaderForge.SFN_ValueProperty,id:1409,x:31191,y:33033,ptovrint:False,ptlb:Speed Layer 1,ptin:_SpeedLayer1,varname:node_1409,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0.2;n:type:ShaderForge.SFN_Multiply,id:4341,x:31540,y:33111,varname:node_4341,prsc:2|A-8632-T,B-1409-OUT,C-6741-R;n:type:ShaderForge.SFN_TexCoord,id:6231,x:31078,y:32799,varname:node_6231,prsc:2,uv:0;n:type:ShaderForge.SFN_Panner,id:8696,x:31859,y:33347,varname:node_8696,prsc:2,spu:0,spv:1|UVIN-4276-OUT,DIST-880-OUT;n:type:ShaderForge.SFN_Multiply,id:880,x:31440,y:33375,varname:node_880,prsc:2|A-8632-T,B-2349-OUT,C-6741-R;n:type:ShaderForge.SFN_ValueProperty,id:2349,x:31197,y:33392,ptovrint:False,ptlb:Speed Layer 2,ptin:_SpeedLayer2,varname:node_2349,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0.2;n:type:ShaderForge.SFN_Tex2d,id:4281,x:32723,y:33283,ptovrint:False,ptlb:Mask,ptin:_Mask,varname:node_4281,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,ntxv:0,isnm:False;n:type:ShaderForge.SFN_Multiply,id:4292,x:31368,y:32665,varname:node_4292,prsc:2|A-6231-UVOUT,B-4392-OUT;n:type:ShaderForge.SFN_ValueProperty,id:4392,x:31051,y:32676,ptovrint:False,ptlb:UV Scale Layer 1,ptin:_UVScaleLayer1,varname:node_4392,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:1;n:type:ShaderForge.SFN_ValueProperty,id:1034,x:31387,y:33850,ptovrint:False,ptlb:UV Scale Layer 2,ptin:_UVScaleLayer2,varname:node_1034,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0.5;n:type:ShaderForge.SFN_Multiply,id:3911,x:31632,y:33438,varname:node_3911,prsc:2|A-6231-UVOUT,B-1034-OUT;n:type:ShaderForge.SFN_VertexColor,id:6741,x:30998,y:33592,varname:node_6741,prsc:2;n:type:ShaderForge.SFN_Tex2d,id:6749,x:32410,y:33915,varname:node_6749,prsc:2,ntxv:0,isnm:False|UVIN-5734-UVOUT,TEX-2614-TEX;n:type:ShaderForge.SFN_Panner,id:5734,x:32120,y:34067,varname:node_5734,prsc:2,spu:0,spv:1|UVIN-6964-OUT,DIST-7197-OUT;n:type:ShaderForge.SFN_ValueProperty,id:5121,x:31336,y:34105,ptovrint:False,ptlb:Speed Layer 3,ptin:_SpeedLayer3,varname:node_5121,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0.2;n:type:ShaderForge.SFN_Multiply,id:7197,x:31890,y:34100,varname:node_7197,prsc:2|A-8632-T,B-5121-OUT,C-6741-R;n:type:ShaderForge.SFN_Multiply,id:6438,x:32037,y:34307,varname:node_6438,prsc:2|A-6231-UVOUT,B-4304-OUT;n:type:ShaderForge.SFN_ValueProperty,id:4304,x:31670,y:34341,ptovrint:False,ptlb:UV Scale Layer 3,ptin:_UVScaleLayer3,varname:node_4304,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:2;n:type:ShaderForge.SFN_Multiply,id:3434,x:32990,y:33143,varname:node_3434,prsc:2|A-8249-OUT,B-6741-A,C-4281-R,D-1135-OUT;n:type:ShaderForge.SFN_Multiply,id:8249,x:32738,y:33087,varname:node_8249,prsc:2|A-821-OUT,B-6749-R,C-6379-OUT;n:type:ShaderForge.SFN_Vector1,id:6379,x:32392,y:33521,varname:node_6379,prsc:2,v1:3;n:type:ShaderForge.SFN_Add,id:9159,x:31601,y:32533,varname:node_9159,prsc:2|A-6741-R,B-4292-OUT;n:type:ShaderForge.SFN_Add,id:6964,x:32331,y:34282,varname:node_6964,prsc:2|A-6741-R,B-6438-OUT;n:type:ShaderForge.SFN_Add,id:4276,x:31865,y:33547,varname:node_4276,prsc:2|A-6741-R,B-3911-OUT;n:type:ShaderForge.SFN_ValueProperty,id:1135,x:33177,y:33562,ptovrint:False,ptlb:Opacity Multiplier,ptin:_OpacityMultiplier,varname:node_1135,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:1;n:type:ShaderForge.SFN_Power,id:1253,x:33189,y:33168,varname:node_1253,prsc:2|VAL-3434-OUT,EXP-5270-OUT;n:type:ShaderForge.SFN_Slider,id:5270,x:32898,y:33507,ptovrint:False,ptlb:Opacity Power,ptin:_OpacityPower,varname:node_5270,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:0,cur:1,max:2;n:type:ShaderForge.SFN_Multiply,id:4795,x:33233,y:32983,varname:node_4795,prsc:2|A-1253-OUT,B-4281-B,C-6741-A;n:type:ShaderForge.SFN_Color,id:5439,x:33358,y:32511,ptovrint:False,ptlb:BaseColour,ptin:_BaseColour,varname:node_5439,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:0.5,c2:0.5,c3:0.5,c4:1;n:type:ShaderForge.SFN_Multiply,id:1304,x:33953,y:32662,varname:node_1304,prsc:2|A-6075-OUT,B-4795-OUT;n:type:ShaderForge.SFN_LightAttenuation,id:3136,x:33567,y:33188,varname:node_3136,prsc:2;n:type:ShaderForge.SFN_LightColor,id:2345,x:33193,y:32693,varname:node_2345,prsc:2;n:type:ShaderForge.SFN_ValueProperty,id:8380,x:33954,y:33297,ptovrint:False,ptlb:Light Wrapping,ptin:_LightWrapping,varname:node_8380,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0;n:type:ShaderForge.SFN_Add,id:6075,x:33775,y:32662,varname:node_6075,prsc:2|A-5439-RGB,B-9789-OUT;n:type:ShaderForge.SFN_Multiply,id:9789,x:33477,y:32765,varname:node_9789,prsc:2|A-2345-RGB,B-3136-OUT;proporder:2614-4281-1409-4392-2349-1034-5121-4304-1135-5270-5439-8380;pass:END;sub:END;*/
- Shader "Custom/ParticleMaskedOverlayDiffuseLit" {
- Properties {
- _OpacityTexture ("Opacity Texture", 2D) = "white" {}
- _Mask ("Mask", 2D) = "white" {}
- _SpeedLayer1 ("Speed Layer 1", Float ) = 0.2
- _UVScaleLayer1 ("UV Scale Layer 1", Float ) = 1
- _SpeedLayer2 ("Speed Layer 2", Float ) = 0.2
- _UVScaleLayer2 ("UV Scale Layer 2", Float ) = 0.5
- _SpeedLayer3 ("Speed Layer 3", Float ) = 0.2
- _UVScaleLayer3 ("UV Scale Layer 3", Float ) = 2
- _OpacityMultiplier ("Opacity Multiplier", Float ) = 1
- _OpacityPower ("Opacity Power", Range(0, 2)) = 1
- _BaseColour ("BaseColour", Color) = (0.5,0.5,0.5,1)
- _LightWrapping ("Light Wrapping", Float ) = 0
- [HideInInspector]_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
- }
- SubShader {
- Tags {
- "IgnoreProjector"="True"
- "Queue"="Transparent"
- "RenderType"="Transparent"
- }
- LOD 200
- Pass {
- Name "FORWARD"
- Tags {
- "LightMode"="ForwardBase"
- }
- Blend One OneMinusSrcAlpha
- ZWrite Off
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #define UNITY_PASS_FORWARDBASE
- #include "UnityCG.cginc"
- #include "Lighting.cginc"
- #pragma multi_compile_fwdbase
- #pragma multi_compile_fog
- #pragma exclude_renderers gles3 metal d3d11_9x xbox360 xboxone ps3 ps4 psp2
- #pragma target 3.0
- uniform float4 _TimeEditor;
- uniform sampler2D _OpacityTexture; uniform float4 _OpacityTexture_ST;
- uniform float _SpeedLayer1;
- uniform float _SpeedLayer2;
- uniform sampler2D _Mask; uniform float4 _Mask_ST;
- uniform float _UVScaleLayer1;
- uniform float _UVScaleLayer2;
- uniform float _SpeedLayer3;
- uniform float _UVScaleLayer3;
- uniform float _OpacityMultiplier;
- uniform float _OpacityPower;
- uniform float4 _BaseColour;
- uniform float _LightWrapping;
- struct VertexInput {
- float4 vertex : POSITION;
- float3 normal : NORMAL;
- float2 texcoord0 : TEXCOORD0;
- float4 vertexColor : COLOR;
- };
- struct VertexOutput {
- float4 pos : SV_POSITION;
- float2 uv0 : TEXCOORD0;
- float4 posWorld : TEXCOORD1;
- float3 normalDir : TEXCOORD2;
- float4 vertexColor : COLOR;
- UNITY_FOG_COORDS(3)
- };
- VertexOutput vert (VertexInput v) {
- VertexOutput o = (VertexOutput)0;
- o.uv0 = v.texcoord0;
- o.vertexColor = v.vertexColor;
- o.normalDir = UnityObjectToWorldNormal(v.normal);
- o.posWorld = mul(_Object2World, v.vertex);
- float3 lightColor = _LightColor0.rgb;
- o.pos = mul(UNITY_MATRIX_MVP, v.vertex );
- UNITY_TRANSFER_FOG(o,o.pos);
- return o;
- }
- float4 frag(VertexOutput i) : COLOR {
- i.normalDir = normalize(i.normalDir);
- float3 normalDirection = i.normalDir;
- float3 lightDirection = normalize(_WorldSpaceLightPos0.xyz);
- float3 lightColor = _LightColor0.rgb;
- ////// Lighting:
- float attenuation = 1;
- float3 attenColor = attenuation * _LightColor0.xyz;
- /////// Diffuse:
- float NdotL = dot( normalDirection, lightDirection );
- float3 w = float3(_LightWrapping,_LightWrapping,_LightWrapping)*0.5; // Light wrapping
- float3 NdotLWrap = NdotL * ( 1.0 - w );
- float3 forwardLight = max(float3(0.0,0.0,0.0), NdotLWrap + w );
- NdotL = max(0.0,dot( normalDirection, lightDirection ));
- float3 directDiffuse = forwardLight * attenColor;
- float3 indirectDiffuse = float3(0,0,0);
- indirectDiffuse += UNITY_LIGHTMODEL_AMBIENT.rgb; // Ambient Light
- float4 node_8632 = _Time + _TimeEditor;
- float2 node_75 = ((i.vertexColor.r+(i.uv0*_UVScaleLayer1))+(node_8632.g*_SpeedLayer1*i.vertexColor.r)*float2(0,1));
- float4 node_7714 = tex2D(_OpacityTexture,TRANSFORM_TEX(node_75, _OpacityTexture));
- float2 node_8696 = ((i.vertexColor.r+(i.uv0*_UVScaleLayer2))+(node_8632.g*_SpeedLayer2*i.vertexColor.r)*float2(0,1));
- float4 node_6422 = tex2D(_OpacityTexture,TRANSFORM_TEX(node_8696, _OpacityTexture));
- float2 node_5734 = ((i.vertexColor.r+(i.uv0*_UVScaleLayer3))+(node_8632.g*_SpeedLayer3*i.vertexColor.r)*float2(0,1));
- float4 node_6749 = tex2D(_OpacityTexture,TRANSFORM_TEX(node_5734, _OpacityTexture));
- float4 _Mask_var = tex2D(_Mask,TRANSFORM_TEX(i.uv0, _Mask));
- float node_4795 = (pow((((node_7714.r*node_6422.r*2.0)*node_6749.r*3.0)*i.vertexColor.a*_Mask_var.r*_OpacityMultiplier),_OpacityPower)*_Mask_var.b*i.vertexColor.a);
- float3 node_1304 = ((_BaseColour.rgb+(_LightColor0.rgb*attenuation))*node_4795);
- float3 diffuseColor = node_1304;
- float3 diffuse = (directDiffuse + indirectDiffuse) * diffuseColor;
- /// Final Color:
- float3 finalColor = diffuse;
- fixed4 finalRGBA = fixed4(finalColor,node_4795);
- UNITY_APPLY_FOG(i.fogCoord, finalRGBA);
- return finalRGBA;
- }
- ENDCG
- }
- Pass {
- Name "FORWARD_DELTA"
- Tags {
- "LightMode"="ForwardAdd"
- }
- Blend One One
- ZWrite Off
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #define UNITY_PASS_FORWARDADD
- #include "UnityCG.cginc"
- #include "AutoLight.cginc"
- #include "Lighting.cginc"
- #pragma multi_compile_fwdadd
- #pragma multi_compile_fog
- #pragma exclude_renderers gles3 metal d3d11_9x xbox360 xboxone ps3 ps4 psp2
- #pragma target 3.0
- uniform float4 _TimeEditor;
- uniform sampler2D _OpacityTexture; uniform float4 _OpacityTexture_ST;
- uniform float _SpeedLayer1;
- uniform float _SpeedLayer2;
- uniform sampler2D _Mask; uniform float4 _Mask_ST;
- uniform float _UVScaleLayer1;
- uniform float _UVScaleLayer2;
- uniform float _SpeedLayer3;
- uniform float _UVScaleLayer3;
- uniform float _OpacityMultiplier;
- uniform float _OpacityPower;
- uniform float4 _BaseColour;
- uniform float _LightWrapping;
- struct VertexInput {
- float4 vertex : POSITION;
- float3 normal : NORMAL;
- float2 texcoord0 : TEXCOORD0;
- float4 vertexColor : COLOR;
- };
- struct VertexOutput {
- float4 pos : SV_POSITION;
- float2 uv0 : TEXCOORD0;
- float4 posWorld : TEXCOORD1;
- float3 normalDir : TEXCOORD2;
- float4 vertexColor : COLOR;
- LIGHTING_COORDS(3,4)
- UNITY_FOG_COORDS(5)
- };
- VertexOutput vert (VertexInput v) {
- VertexOutput o = (VertexOutput)0;
- o.uv0 = v.texcoord0;
- o.vertexColor = v.vertexColor;
- o.normalDir = UnityObjectToWorldNormal(v.normal);
- o.posWorld = mul(_Object2World, v.vertex);
- float3 lightColor = _LightColor0.rgb;
- o.pos = mul(UNITY_MATRIX_MVP, v.vertex );
- UNITY_TRANSFER_FOG(o,o.pos);
- TRANSFER_VERTEX_TO_FRAGMENT(o)
- return o;
- }
- float4 frag(VertexOutput i) : COLOR {
- i.normalDir = normalize(i.normalDir);
- float3 normalDirection = i.normalDir;
- float3 lightDirection = normalize(lerp(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz - i.posWorld.xyz,_WorldSpaceLightPos0.w));
- float3 lightColor = _LightColor0.rgb;
- ////// Lighting:
- float attenuation = LIGHT_ATTENUATION(i);
- float3 attenColor = attenuation * _LightColor0.xyz;
- /////// Diffuse:
- float NdotL = dot( normalDirection, lightDirection );
- float3 w = float3(_LightWrapping,_LightWrapping,_LightWrapping)*0.5; // Light wrapping
- float3 NdotLWrap = NdotL * ( 1.0 - w );
- float3 forwardLight = max(float3(0.0,0.0,0.0), NdotLWrap + w );
- NdotL = max(0.0,dot( normalDirection, lightDirection ));
- float3 directDiffuse = forwardLight * attenColor;
- float4 node_8632 = _Time + _TimeEditor;
- float2 node_75 = ((i.vertexColor.r+(i.uv0*_UVScaleLayer1))+(node_8632.g*_SpeedLayer1*i.vertexColor.r)*float2(0,1));
- float4 node_7714 = tex2D(_OpacityTexture,TRANSFORM_TEX(node_75, _OpacityTexture));
- float2 node_8696 = ((i.vertexColor.r+(i.uv0*_UVScaleLayer2))+(node_8632.g*_SpeedLayer2*i.vertexColor.r)*float2(0,1));
- float4 node_6422 = tex2D(_OpacityTexture,TRANSFORM_TEX(node_8696, _OpacityTexture));
- float2 node_5734 = ((i.vertexColor.r+(i.uv0*_UVScaleLayer3))+(node_8632.g*_SpeedLayer3*i.vertexColor.r)*float2(0,1));
- float4 node_6749 = tex2D(_OpacityTexture,TRANSFORM_TEX(node_5734, _OpacityTexture));
- float4 _Mask_var = tex2D(_Mask,TRANSFORM_TEX(i.uv0, _Mask));
- float node_4795 = (pow((((node_7714.r*node_6422.r*2.0)*node_6749.r*3.0)*i.vertexColor.a*_Mask_var.r*_OpacityMultiplier),_OpacityPower)*_Mask_var.b*i.vertexColor.a);
- float3 node_1304 = ((_BaseColour.rgb+(_LightColor0.rgb*attenuation))*node_4795);
- float3 diffuseColor = node_1304;
- float3 diffuse = directDiffuse * diffuseColor;
- /// Final Color:
- float3 finalColor = diffuse;
- fixed4 finalRGBA = fixed4(finalColor * node_4795,0);
- UNITY_APPLY_FOG(i.fogCoord, finalRGBA);
- return finalRGBA;
- }
- ENDCG
- }
- }
- FallBack "Diffuse"
- CustomEditor "ShaderForgeMaterialInspector"
- }
Advertisement
Add Comment
Please, Sign In to add comment