FX_MaskUV01_Additive.shader 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
  2. // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
  3. // Shader created with Shader Forge v1.25
  4. // Shader Forge (c) Neat Corporation / Joachim Holmer - http://www.acegikmo.com/shaderforge/
  5. // Note: Manually altering this data may prevent you from opening it in Shader Forge
  6. /*SF_DATA;ver:1.25;sub:START;pass:START;ps:flbk:,iptp:0,cusa:False,bamd:0,lico:1,lgpr:1,limd:0,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:2,bsrc:0,bdst:0,dpts:2,wrdp:False,dith:0,rfrpo:True,rfrpn:Refraction,coma:15,ufog:False,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:3138,x:33666,y:32711,varname:node_3138,prsc:2|emission-515-OUT;n:type:ShaderForge.SFN_Color,id:7241,x:32186,y:32470,ptovrint:False,ptlb:Color,ptin:_Color,varname:_Color,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_Tex2d,id:6576,x:32294,y:33667,ptovrint:False,ptlb:Texture1,ptin:_Texture1,varname:_node_6576,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,tex:75b8a9054cf709e478d2de1cea0c92c0,ntxv:0,isnm:False|UVIN-8395-UVOUT;n:type:ShaderForge.SFN_Time,id:8137,x:31568,y:33514,varname:node_8137,prsc:2;n:type:ShaderForge.SFN_ValueProperty,id:7992,x:31568,y:33697,ptovrint:False,ptlb:U Speed1,ptin:_USpeed1,varname:_node_m,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0;n:type:ShaderForge.SFN_Multiply,id:3210,x:31762,y:33590,varname:node_3210,prsc:2|A-8137-T,B-7992-OUT;n:type:ShaderForge.SFN_VertexColor,id:2425,x:32212,y:32909,varname:node_2425,prsc:2;n:type:ShaderForge.SFN_Multiply,id:515,x:33419,y:32794,varname:node_515,prsc:2|A-6040-OUT,B-5497-OUT;n:type:ShaderForge.SFN_TexCoord,id:4853,x:31775,y:33344,varname:node_4853,prsc:2,uv:0;n:type:ShaderForge.SFN_Panner,id:2365,x:31929,y:33501,varname:node_2365,prsc:2,spu:1,spv:0|UVIN-4853-UVOUT,DIST-3210-OUT;n:type:ShaderForge.SFN_ValueProperty,id:5550,x:31568,y:33808,ptovrint:False,ptlb:V Speed1,ptin:_VSpeed1,varname:_node_m_copy,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0;n:type:ShaderForge.SFN_Multiply,id:5509,x:31809,y:33741,varname:node_5509,prsc:2|A-8137-T,B-5550-OUT;n:type:ShaderForge.SFN_Panner,id:8395,x:32116,y:33551,varname:node_8395,prsc:2,spu:0,spv:1|UVIN-2365-UVOUT,DIST-5509-OUT;n:type:ShaderForge.SFN_Tex2d,id:988,x:32297,y:34040,ptovrint:False,ptlb:Texture2,ptin:_Texture2,varname:_Texture2,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,tex:75b8a9054cf709e478d2de1cea0c92c0,ntxv:0,isnm:False|UVIN-2914-UVOUT;n:type:ShaderForge.SFN_Time,id:4466,x:31559,y:34164,varname:node_4466,prsc:2;n:type:ShaderForge.SFN_ValueProperty,id:7938,x:31559,y:34347,ptovrint:False,ptlb:U Speed2,ptin:_USpeed2,varname:_USpeed_copy,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0;n:type:ShaderForge.SFN_Multiply,id:9098,x:31753,y:34240,varname:node_9098,prsc:2|A-4466-T,B-7938-OUT;n:type:ShaderForge.SFN_TexCoord,id:4889,x:31765,y:33994,varname:node_4889,prsc:2,uv:0;n:type:ShaderForge.SFN_Panner,id:3140,x:31919,y:34151,varname:node_3140,prsc:2,spu:1,spv:0|UVIN-4889-UVOUT,DIST-9098-OUT;n:type:ShaderForge.SFN_ValueProperty,id:25,x:31559,y:34490,ptovrint:False,ptlb:V Speed2,ptin:_VSpeed2,varname:_VSpeed_copy,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0;n:type:ShaderForge.SFN_Multiply,id:6807,x:31763,y:34384,varname:node_6807,prsc:2|A-4466-T,B-25-OUT;n:type:ShaderForge.SFN_Panner,id:2914,x:32085,y:34192,varname:node_2914,prsc:2,spu:0,spv:1|UVIN-3140-UVOUT,DIST-6807-OUT;n:type:ShaderForge.SFN_ValueProperty,id:8352,x:32025,y:32770,ptovrint:False,ptlb:Intensity,ptin:_Intensity,varname:node_8352,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:1;n:type:ShaderForge.SFN_Fresnel,id:3466,x:32557,y:33112,varname:node_3466,prsc:2|EXP-1723-OUT;n:type:ShaderForge.SFN_Blend,id:3456,x:32944,y:33112,varname:node_3456,prsc:2,blmd:1,clmp:True|SRC-8966-OUT,DST-9700-OUT;n:type:ShaderForge.SFN_OneMinus,id:8966,x:32730,y:33112,varname:node_8966,prsc:2|IN-3466-OUT;n:type:ShaderForge.SFN_Slider,id:6350,x:32055,y:33155,ptovrint:False,ptlb:MeshEdge,ptin:_MeshEdge,varname:node_6350,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:0,cur:1,max:3;n:type:ShaderForge.SFN_Power,id:5497,x:33482,y:33218,varname:node_5497,prsc:2|VAL-6831-OUT,EXP-5928-OUT;n:type:ShaderForge.SFN_Multiply,id:6040,x:32671,y:32648,varname:node_6040,prsc:2|A-7241-RGB,B-639-OUT,C-2425-RGB;n:type:ShaderForge.SFN_Slider,id:5928,x:33119,y:33445,ptovrint:False,ptlb:TexEdge,ptin:_TexEdge,varname:_MeshEdge_copy,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,min:0.5,cur:1,max:3;n:type:ShaderForge.SFN_Multiply,id:1723,x:32391,y:33028,varname:node_1723,prsc:2|A-2425-A,B-6350-OUT;n:type:ShaderForge.SFN_Multiply,id:9700,x:32744,y:33478,varname:node_9700,prsc:2|A-6576-RGB,B-988-RGB;n:type:ShaderForge.SFN_Multiply,id:4187,x:32744,y:33647,varname:node_4187,prsc:2|A-6576-A,B-988-A;n:type:ShaderForge.SFN_Blend,id:6612,x:32963,y:33319,varname:node_6612,prsc:2,blmd:13,clmp:True|SRC-8966-OUT,DST-4187-OUT;n:type:ShaderForge.SFN_Multiply,id:6831,x:33156,y:33213,varname:node_6831,prsc:2|A-3456-OUT,B-6612-OUT;n:type:ShaderForge.SFN_RemapRange,id:639,x:32286,y:32737,varname:node_639,prsc:2,frmn:0,frmx:1,tomn:0,tomx:2|IN-8352-OUT;proporder:7241-8352-6576-7992-5550-988-7938-25-6350-5928;pass:END;sub:END;*/
  7. Shader "RO_X/FX_3/MaskUV01_Additive" {
  8. Properties {
  9. _Color ("Color", Color) = (1,1,1,1)
  10. _Intensity ("Intensity", Float ) = 1
  11. _Texture1 ("Texture1", 2D) = "white" {}
  12. _USpeed1 ("U Speed1", Float ) = 0
  13. _VSpeed1 ("V Speed1", Float ) = 0
  14. _Texture2 ("Texture2", 2D) = "white" {}
  15. _USpeed2 ("U Speed2", Float ) = 0
  16. _VSpeed2 ("V Speed2", Float ) = 0
  17. _MeshEdge ("MeshEdge", Range(0, 3)) = 1
  18. _TexEdge ("TexEdge", Range(0.5, 3)) = 1
  19. [Enum(UnityEngine.Rendering.CullMode)] _CullMode("Cull Mode", float) = 0
  20. }
  21. SubShader {
  22. Tags {
  23. "IgnoreProjector"="True"
  24. "Queue"="Transparent"
  25. "RenderType"="Transparent"
  26. }
  27. Pass {
  28. Name "FORWARD"
  29. Tags {
  30. "LightMode"="ForwardBase"
  31. }
  32. Blend One One
  33. ZWrite Off
  34. Cull [_CullMode]
  35. CGPROGRAM
  36. #pragma vertex vert
  37. #pragma fragment frag
  38. #define UNITY_PASS_FORWARDBASE
  39. #include "UnityCG.cginc"
  40. #pragma multi_compile_fwdbase
  41. //#pragma exclude_renderers gles3 metal d3d11_9x xbox360 xboxone ps3 ps4 psp2
  42. #pragma target 3.0
  43. uniform float4 _TimeEditor;
  44. uniform float4 _Color;
  45. uniform sampler2D _Texture1; uniform float4 _Texture1_ST;
  46. uniform float _USpeed1;
  47. uniform float _VSpeed1;
  48. uniform sampler2D _Texture2; uniform float4 _Texture2_ST;
  49. uniform float _USpeed2;
  50. uniform float _VSpeed2;
  51. uniform float _Intensity;
  52. uniform float _MeshEdge;
  53. uniform float _TexEdge;
  54. struct VertexInput {
  55. float4 vertex : POSITION;
  56. float3 normal : NORMAL;
  57. float2 texcoord0 : TEXCOORD0;
  58. float4 vertexColor : COLOR;
  59. };
  60. struct VertexOutput {
  61. float4 pos : SV_POSITION;
  62. float2 uv0 : TEXCOORD0;
  63. float4 posWorld : TEXCOORD1;
  64. float3 normalDir : TEXCOORD2;
  65. float4 vertexColor : COLOR;
  66. };
  67. VertexOutput vert (VertexInput v) {
  68. VertexOutput o = (VertexOutput)0;
  69. o.uv0 = v.texcoord0;
  70. o.vertexColor = v.vertexColor;
  71. o.normalDir = UnityObjectToWorldNormal(v.normal);
  72. o.posWorld = mul(unity_ObjectToWorld, v.vertex);
  73. o.pos = UnityObjectToClipPos(v.vertex );
  74. return o;
  75. }
  76. float4 frag(VertexOutput i, float facing : VFACE) : COLOR {
  77. float isFrontFace = ( facing >= 0 ? 1 : 0 );
  78. float faceSign = ( facing >= 0 ? 1 : -1 );
  79. i.normalDir = normalize(i.normalDir);
  80. i.normalDir *= faceSign;
  81. float3 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz);
  82. float3 normalDirection = i.normalDir;
  83. ////// Lighting:
  84. ////// Emissive:
  85. float node_8966 = (1.0 - pow(1.0-max(0,dot(normalDirection, viewDirection)),(i.vertexColor.a*_MeshEdge)));
  86. float4 node_8137 = _Time + _TimeEditor;
  87. float2 node_8395 = ((i.uv0+(node_8137.g*_USpeed1)*float2(1,0))+(node_8137.g*_VSpeed1)*float2(0,1));
  88. float4 _Texture1_var = tex2D(_Texture1,TRANSFORM_TEX(node_8395, _Texture1));
  89. float4 node_4466 = _Time + _TimeEditor;
  90. float2 node_2914 = ((i.uv0+(node_4466.g*_USpeed2)*float2(1,0))+(node_4466.g*_VSpeed2)*float2(0,1));
  91. float4 _Texture2_var = tex2D(_Texture2,TRANSFORM_TEX(node_2914, _Texture2));
  92. float3 emissive = ((_Color.rgb*(_Intensity*2.0+0.0)*i.vertexColor.rgb)*pow((saturate((node_8966*(_Texture1_var.rgb*_Texture2_var.rgb)))*saturate(( node_8966 > 0.5 ? ((_Texture1_var.a*_Texture2_var.a)/((1.0-node_8966)*2.0)) : (1.0-(((1.0-(_Texture1_var.a*_Texture2_var.a))*0.5)/node_8966))))),_TexEdge));
  93. float3 finalColor = emissive;
  94. return fixed4(finalColor, (finalColor.r+ finalColor.g+ finalColor.b)/3);
  95. }
  96. ENDCG
  97. }
  98. }
  99. //FallBack "Diffuse"
  100. }