• 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

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

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

  • 相关阅读:
    04邻接表深度和广度遍历DFS_BFS
    03邻接矩阵的深度和广度遍历的C语言实现
    02邻接表创建的C语言实现
    01邻接矩阵的创建C语言实现
    GUN的相关使用
    JAVA学习笔记
    排序的C语言实现
    线索二叉树的C语言实现
    maven配置logback
    多线程概念
  • 原文地址:https://www.cnblogs.com/dyf214/p/15075627.html
Copyright © 2020-2023  润新知