UE4材质中的纹理合成



纹理合成的需求

UE4材质常常需要合成不同的纹理。常用的合成运算,有好几种选择,下面单独介绍。
下面这两种图片,是合成之前的图片。
这里写图片描述

UE4材质中的乘法

乘法是最常用的合成运算。
下面是这两张图用乘法合成的效果。
这里写图片描述
乘法合成很简单,取值范围在运算之后仍然是0~1。
但是合成之后会变暗,这是因为两个0~1的数相乘,会变得更小,所以更暗。下图是材质节点。
这里写图片描述

UE4材质中的加法

这是加法合成的效果。
这里写图片描述
两个0~1之间的数相加,范围是0~2,所以需要再除以2。下图是材质节点。
这里写图片描述
但是为什么整体会变亮?其实不只是变亮,而是亮度趋向于平均值。亮的地方更暗,暗的地方更亮。
这就是均值运算造成的结果。

UE4材质中的除法

下图是合成的效果。
这里写图片描述
下图是材质节点。这里写图片描述
其实除法一般不用于纹理合成,原因很简单,两个0~1之间的数相除之后,其取值范围变化非常大。可能会有很多像素点的值直接超过1,表现为白色。合成之后的结果也证明了这一点。
另外,哪个除以哪个,效果也不同。下图是交换之后的结果。这里写图片描述

UE4材质中的减法

同样的,减法不满足交换律。下图是减法合成的效果。
这里写图片描述
下图为材质节点。
这里写图片描述
两个0~1之间的数相减,其取值范围为-1~1,而小于0的颜色按照0来算,所以很多像素点直接就是黑色。
你也可以进行先加1再除以2的运算,但是效果。。并不好,下图就是。
这里写图片描述
这里写图片描述

UE4材质中的插值(Lerp)

插值可以取得更多样的效果,因为插值引入了第三个参数。
下图是材质节点。
这里写图片描述
而Lerp的Alpha参数分别为0.5、0.2、0.8的效果。
这里写图片描述
可以看到,插值可以很好地控制合成效果。
而插值的第三个参数,可以使用一个灰度图。下图就是用一张黑白相间的灰度图合成的效果。
这里写图片描述
原文地址:原文地址
本文首发于翰者学堂