当前位置:   article > 正文

Unity3D ShaderLab 混合两张贴图(Blend)_unityshadergrash怎么混合两张贴图

unityshadergrash怎么混合两张贴图

使用Unity3D 中的 ShaderLab 实现两张不同贴图之前的混合 类似于3dsMAX 中的Blend材质.

1.在Properties 中定义三个变量.我们需要使用的..1. _Color 主要是用它的 Alpha 来进行两张图的混合 ,2.两张需要进行操作的贴图

2.在混合时主要是使用 SetTexture 中的 Combine scr1 lerp(constant) src2. 这里要注意.在一个SetTextrue 中我们只能对一个texture来操作. 所以在混合前我们需要先用一个SetTexture 将第一张图贴上去.

 然后再用 Combine previous lerp(constant) texture .将第二张与之前的(previous)来混合,lerp(constant) 就是以_Color的Alpha来做为混合的界定.

 

  1. View Code
  2. Shader "ztc_Blend"
  3. {
  4. Properties
  5. {
  6. _Color ("Main Color",Color) = (1,1,1,0.5)
  7. _MainTex ("FrontTex (RGB)", 2D) = "white" {}
  8. _BackTex ("BackTex (RGB)", 2D) = "white" {}
  9. }
  10. SubShader
  11. {
  12. Pass
  13. {
  14. Material
  15. {
  16. Diffuse[_Color]
  17. }
  18. Lighting On
  19. SetTexture [_MainTex] //the default Texture
  20. {
  21. Combine texture
  22. }
  23. SetTexture [_BackTex] //use the combine lerp to mix two texture by the Main color's Alpha
  24. {
  25. constantColor [_Color]
  26. Combine previous lerp(constant) texture
  27. }
  28. }
  29. }
  30. FallBack "Diffuse"
  31. }


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

闽ICP备14008679号