Alpha混合技术——unity

  • Post author:
  • Post category:其他



Alpha混合通常是为了实现透明效果,透明效果的程度通过alpha值来控制


混合公式

OutputPixel = SourcePixel



SourceBlendFactor + DestPixel



DestBlendFactor


  • OutputPixel

    —混合后的颜色


  • SourcePixel

    —源像素,即当前正在计算的像素的颜色


  • SourceBlendFactor

    —源颜色的百分比


  • DestPixel

    —目标像素,即已经绘制的像素颜色(在back buffer中)


  • DestBlendFactor

    —目标像素颜色的百分比




表示分量乘积

unity中语法如下


Blend Off 不混合

Blend SrcFactor DstFactor 其中SrcFactor是源系数,DstFactor是目标系数

属性(SrcFactor, DstFactor上可填的值)

One                    1

Zero                   0

SrcColor                源颜色  例如(0.5,0.4,1)

SrcAlpha                源alpha

DstColor


目标颜色

DstAlpha




目标alpha

OneMinusSrcColor           (1,1,1) – SrcColor

OneMinusSrcAlpha           1- SrcAlpha

OneMinusDstColor


(1,1,1) – DstColor

OneMinusDstAlpha


1- DstAlpha



经常使用的类型如下:



Blend SrcAlpha OneMinusSrcAlpha // Traditional transparency

Blend One OneMinusSrcAlpha // Premultiplied transparency

Blend One One // Additive

Blend OneMinusDstColor One // Soft Additive

Blend DstColor Zero // Multiplicative

Blend DstColor SrcColor // 2x Multiplicative


参考:


http://blog.sina.com.cn/s/blog_471132920101d8z5.html


https://docs.unity3d.com/Manual/SL-Blend.html


http://www.cnblogs.com/graphics/archive/2012/08/23/2643086.html



版权声明:本文为liuhaidon1992原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。