原创文章如需转载请注明:转载自风宇冲Unity 3D 教程学院 Shader 第十三讲 Alpha 混合 Alpha Blending,中文译作Alpha 混合 Blending 就是控制透明的
处于光栅化的最后阶段
这里例如我们给一个模型贴一个材质,那么在某个点计算出来颜色值称为源,而该点之前累积的颜色值,叫目标
语法 Blend Off 不混合 Blend SrcFactorDstFactor SrcFactor 是源系数,DstFactor 是目标系数 最终颜色 = (Shader 计算出的点颜色值 * 源系数)+(点累积颜色 * 目标系数) 属性(往 SrcFactor,DstFactor 上填的值) one 1 zero 0 SrcColor 源的RGB 值,例如(0
4,1) SrcAlpha 源的A 值, 例如0
6 DstColor 混合目标的RGB 值例如(0
4,1) DstAlpha 混合目标的A 值例如0
6 OneMinu sSrcColor (1,1,1) - SrcColor OneMinu sSrcAlpha 1- SrcAlpha OneMinu sDstColor (1,1,1) - DstColor OneMinu sDstAlpha 1- DstAlpha 运算法则示例: (注:r,g,b,a,x,y,z 取值范围为[0,1]) (r,g,b) * a = (r*a , g*a , b*a) (r,g,b) * (x,y,z) = (r*x , g*y , b*z) (r,g,b) + (x,y,z) = (r+x , g+y , b+z) (r,g,b) - (x,y,z) = (r-x , g-y , b-z) 在树叶使用的Shader 中添加Blend 代码 Blend zero one:仅显示背景的RGB