当前位置:   article > 正文

Blend详解_blend攻击方法

blend攻击方法

先上一张官方图,看下流程:

FragmentShader之后会进行AlphaTest,最后会经过Blending,才会写入缓冲区。

Blend 指令默认是关闭的。 Blend Off

Blend操作公式:Blend SrcFactor DstFactor

这里的SrcFactor和DstFactor参数参见官网:https://docs.unity3d.com/Manual/SL-Blend.html

当使用Blend时,最终颜色被计算为result = fragment_color * SrcFactor + pixel_color * DstFactor,这个fragment_color即是经过处理的片段颜色,也就是fragment返回的结果,pixel_color是原本存在于缓冲区的颜色,因为可能渲染过其他模型嘛~这个result颜色被重新写入缓冲区,等待被其他片段Blend或者变成最终颜色(如果没有被其他Blend)。

Blend的一个基本的用法就是用来实现透明
对于一个半透明物体,我们需要根据透明度将颜色分为两部分,比如透明度为70%,可以认为最终颜色是70%的该片段颜色和30%的背景颜色。所以Blend语句应该为Blend SrcAlpha OneMinusSrcAlpha,引用连接
http://m.blog.csdn.net/article/details?id=45942107

Blend默认操作是混合相加
同时unity提供了其他的操作方式BlendOp,Max(取计算的最大值),Min(取最小值),Sub(相减,当前-目标),RevSub(相减,目标-当前)
示例,可以用来做一些图像裁剪:
BlendOp RevSub
Blend One One

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