当前位置:   article > 正文

Unity3D-Shader之两张图片叠加并且通过颜色调控_unity图片叠加

unity图片叠加

最近项目需要做一个图片叠加在一个模型上,而且还需要通过调整颜色改变两个图片的颜色和透明程度。

另外,还需要一个调控值,管理两张图片是否完全显示,Shader如下:

  1. Shader "Unlit/BlockTextrue"
  2. {
  3. Properties
  4. {
  5. _MainColor ("Main Color", Color) = (1,1,1,1) //前景图颜色
  6. _BackColor ("Back Color", Color) = (1,1,1,1) //背景图颜色
  7. _MainTex ("Main Texture", 2D) = "white" {} //前景图
  8. _BackTex ("Back Texture", 2D) = "white" {} //背景图
  9. _BackCut ("Back cutoff", Range (0, 1)) = 0//用来调控背景图片显示情况
  10. }
  11. SubShader
  12. {
  13. Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
  14. LOD 100
  15. // ZWrite Off
  16. // Blend SrcAlpha OneMinusSrcAlpha
  17. Pass
  18. {
  19. CGPROGRAM
  20. #pragma vertex vert
  21. #pragma fragment frag
  22. #pragma target 2.0
  23. #pragma multi_compile_fog
  24. #include "UnityCG.cginc"
  25. struct appdata_t {
  26. float4 vertex : POSITION;
  27. float2 texcoord : TEXCOORD0;
  28. UNITY_VERTEX_INPUT_INSTANCE_ID
  29. };
  30. struct v2f {
  31. float4 vertex : SV_POSITION;
  32. float2 texcoord : TEXCOORD0;
  33. UNITY_FOG_COORDS(1)
  34. UNITY_VERTEX_OUTPUT_STEREO
  35. };
  36. sampler2D _MainTex;
  37. sampler2D _BackTex;
  38. float4 _MainTex_ST;
  39. fixed4 _MainColor;
  40. fixed4 _BackColor;
  41. float _BackCut;
  42. v2f vert (appdata_t v)
  43. {
  44. v2f o;
  45. UNITY_SETUP_INSTANCE_ID(v);
  46. UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
  47. o.vertex = UnityObjectToClipPos(v.vertex);
  48. o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
  49. UNITY_TRANSFER_FOG(o,o.vertex);
  50. return o;
  51. }
  52. fixed4 frag (v2f i) : SV_Target
  53. {
  54. fixed4 backCol = tex2D(_BackTex, i.texcoord)*_BackColor;
  55. fixed4 texCol = tex2D(_MainTex, i.texcoord)*_MainColor;
  56. fixed4 col = _BackColor;
  57. col.rgb = backCol.rgb*(1-_BackCut) + col.rgb*_BackCut;
  58. col.rgb = col.rgb*(1-texCol.a) + texCol.rgb*texCol.a;
  59. UNITY_APPLY_FOG(i.fogCoord, col);
  60. return col;
  61. }
  62. ENDCG
  63. }
  64. }
  65. }

效果就不弄了,直接Copy直接调就知道了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/98106
推荐阅读
相关标签
  

闽ICP备14008679号