本文主要目的来自于在unity符合美术在ps里面的演示效果。
两个图层叠加到一起的效果,废话不多说直接看效果:
图片资源在文章末尾
完整代码也在末尾
目录
目录
Multiply 正片叠底
公式:
Ans = A * B;
half4 finalRGBA = half4(colorA.xyz * colorB.xyz,1);
效果对比:

核心代码:
half4 finalRGBA = half4(1 - (1 - colorA.xyz) * (1 -colorB.xyz),1);
Screen 滤色
公式:
Ans = 1 - (1 - colorA ) * (1 - colorB);
效果对比:

核心代码:
half4 finalRGBA = half4(1 - (1 - colorA.xyz) * (1 -colorB.xyz),1);
Color Dodge 颜色减淡
公式:
ans=colorA / ( 1 - colorB);
效果对比:(unity存在些许过曝的情况)

核心代码:
finalRGBA = half4(colorA.xyz * (rcp(1 - colorB.xyz)),1);
Color Burn 颜色加深
公式:
ans=1 - (1 - colorA)/ colorB;
效果对比:

核心代码:
finalRGBA = half4(1- rcp(colorB.xyz) * (1 - colorA.xyz),1);
Linear Dodge 线形减淡
公式:
Ans = colorA + colorB;
效果对比:
核心代码:
finalRGBA = half4(colorB.xyz + colorA.xyz,1);
Linear Burn 线形加深
公式:
Ans = colorA + colorB - 1 ;
效果对比:

核心代码:
finalRGBA = half4(colorB.xyz + colorA.xyz - 1,1);
Overlay 叠加
公式:
colorB<=0.5 : Ans=2*colorA*colorB
colorB>0.5: Ans=1 - 2 * (1-colorA) * ( 1 - colorB)
效果对比:

核心代码:
half3 c1 = colorA.xyz * colorB.xyz * 2 *OA ;
half3 c2 = (1 - 2 * (1 - colorA.xyz) *(1 - colorB.xyz)) * (1 -

本文详细介绍了Unity中实现Photoshop图层混合模式的方法,并提供了多种混合模式的公式及代码实现,如正片叠底、滤色等。

3230

被折叠的 条评论
为什么被折叠?



