unity手册里写的公式是finalValue = sourceFactor * sourceValue operation destinationFactor * destinationValue,默认状态下是加法运算。
那么在使用命令Blend SrcAlpha OneMinusSrcAlpha的时候,按这个公式,假设srcAlpha = 0.5, dstAlpha = 1,此时a通道得到的结果是0.5*0.5 + 0.5*1 = 0.75 <1,也就是说加上一个半透明物体之后,原本不透明的物体变成半透明了,不是很理解。
但是在实际测试的时候,并没有出现上述的情况,表现效果反而比较像 srcAlpha + (1-srcAlpha)*dstAlpha。
不知道是我哪里理解的问题,或者说是因为给subShader设置tag会导致这里采用不同的公式计算吗?
感谢帮助!
那么在使用命令Blend SrcAlpha OneMinusSrcAlpha的时候,按这个公式,假设srcAlpha = 0.5, dstAlpha = 1,此时a通道得到的结果是0.5*0.5 + 0.5*1 = 0.75 <1,也就是说加上一个半透明物体之后,原本不透明的物体变成半透明了,不是很理解。
但是在实际测试的时候,并没有出现上述的情况,表现效果反而比较像 srcAlpha + (1-srcAlpha)*dstAlpha。
不知道是我哪里理解的问题,或者说是因为给subShader设置tag会导致这里采用不同的公式计算吗?
感谢帮助!