UE4美术必备之数学基础知识(三)

Hello,大家好,这是UE4美术数学基础的第三篇,我是Vee。

下面我们继续讲节点。

1.6、FMod

根据下面注释,FMod是Floating Modulus的简写,FMod就是取模。上一篇我们讲过的Floor和Ceil分别是向下及向上取整数部分,FMod则是取两个输入数值相除后的小数部分。

打开示例材质,整理一下节点如图:

把UV坐标Mask(R)后得到的横向渐变可以理解为x轴上的0-1范围,这些节点可以写成函数的形式:

y=mod(floor(x,5),2)

计算出的函数图像如下,从图上我们可以看出在x轴上0-1的范围内,有三段值为0和两段值为1的线段,便对应了示例材质中所见到的黑白相间的条纹。

1.7、Power

Power就是指数幂,用法非常简单,两个输入节点Base是底数,Exp是指数。

通常用来做随参数变化比较剧烈的调节效果。

1.8、Lerp

也是一个很常用的节点,线性插值。

输入A,B两个值,通过Alpha来控制输出,当Alpha为0时,完全输出A,当Alpha为1时,完全输出B。可以理解成PS中的遮罩。

输入的Alpha不是必须为灰度值,可以是有RGB多个通道的数值,这时候每个通道控制对应通道的遮罩。

对面的范例展示了通过参数控制草地与地砖的融合度。

1.9、Height Lerp

HeightLerp是UE4内置的一个材质函数,它是对Lerp节点的一种高级应用。对面的示例很清楚地表示了它的效果,就是基于高度的材质融合。

我们先看节点的输入和输出:

A和B分别是要融合的两个贴图。

Transition Phase 用来控制两个贴图的显示比例,配合一些运算,比如顶点色绘制等等会让材质融合更加自然。

Height Texture这里我们一般连接处于下方的材质的高度图。

Contrast用来控制两种材质融合边界的虚实。

Results是直接输出A,B两张贴图的融合结果。

Alpha是输出计算出的融合Alpha,对面示例中用的就是输出Alpha。

Lerp Alpha No Contrast,顾名思义就是输出不受Contrast值影响的Alpha。

下面我们整理一下对面示例的材质节点

可以看到,示例中用HeightLerp的输出结果作为Lerp的Alpha来融合石砖和苔藓两种材质的BaseColor以及法线贴图。前面还有一个HeightLerp的计算输出Alpha用来作为后面节点的Transition Phase,实现的是我们真正的Transition Phase基础上增加一个圆形过渡的效果。用的是Sphere Mask节点。这个节点我们后面会讲到。

1.10、Clamp

这个简单得很,就是限制输入值的最大值和最小值,来对节点之前的计算结果进行范围限制,防止超出预期阈值。

比如对面这个简单的例子,想要控制贴图的最大亮度。

posted @ 2021-07-29 16:11  qwezx  阅读(349)  评论(0编辑  收藏  举报