UE4材质篇--水材质

一个重要矢量的表达式—Fresnel

    定义:菲涅尔(Fresnel) 表达式根据表面法线与摄像机方向的标量积来计算衰减。当表面法线正对着摄像机时,输出值为0。当表面法线垂直于摄像机时,输出值为1。结果限制在[0,1]范围内,以确保不会在中央产生任何负颜色。
ExponentIn(指数输入):指定输出值的衰减速度。值越大,意味着衰减越紧或越快。如果使用此输入,那么值将始终取代"指数"(Exponent)属性值。
基本反射小数(Base Reflect Fraction):指定从正对表面的方向查看表面时,镜面反射的小数。值为1将有效地禁用菲涅耳效果。如果使用此输入,那么值将始终取代"指数"(Exponent)属性值。

总结:可让材质产生很好的描边效果;同时在摄像机变更角度的时候会产生不同的花纹(使用于透明材质,如水和玻璃)

一个重要深度的表达式—DepthFade

DepthFade(深度消退)表达式用来隐藏半透明对象与不透明对象相交时出现的不美观接缝。

消退距离(Fade Distance)

这是应该发生消退的全局空间距离。未连接 FadeDistance(FadeDistance)输入时,将使用此距离。

不透明(Opacity)

接收深度消退前对象的现有不透明度。

FadeDistance(消退距离)

这是应该发生消退的全局空间距离。

总结:材质与材质之间的完美过渡

一个重要坐标的表达式—Panner

Panner(平移)表达式输出可用于创建平移(或移动)纹理的 UV 纹理坐标。

属性

速度 X(SpeedX)

指定在 U 方向上平移坐标的速度。

速度 Y(SpeedY)

指定在 V 方向上平移坐标的速度。

坐标(Coordinate)

接收可以通过表达式来修改的基本 UV 纹理坐标。

时间(Time)

接收用来确定当前平移位置的值。这通常是用来提供常量平移效果的 Time(时间) 表达式,但是,也可以使用 Constant(常量) 或 ScalarParameter(标量参数) 来设置特定偏移,或者通过 Matinee 或蓝图来控制平移。

Panner(平移)会生成根据"时间"(Time)输入而变化的 UV。“坐标”(Coordinate)输入可用于处理 Panner(平移)节点所生成的 UV(例如,使其偏移)。

透明材质(玻璃,水等)

    透明材质其实很好理解, 一个透明的材质, 挡住了后面的背景色, 后面的背景色会部分穿透透明的材质, 透明材质本身也是有颜色的, 将两个颜色相加, 就得到混合后的颜色. 我们将半透明(semi-transparent)材质的不透明度(opacity)叫做alpha值.

水材质的实现

  1. 水的基础颜色

先使用一个反射向量对系统的一张HUV贴图UV进行输出,然后把基础颜色调为蓝色,Fresnel颜色调为白色,在通过节点进行连接,具体细节如下:
UE4材质篇--水材质_第1张图片
2.水的不透明度
这里使用表达式–DepthFade来过渡水面与物体之间的区域,具体用法如下:
UE4材质篇--水材质_第2张图片
3.水的纹理(较复杂在细分几个小点)
1.首先使用一张合适的水的法线贴图(可上百度寻找)
2.使用Panner表达式与TextureCoordinate(纹理坐标)输出纹理的uv坐标

Panner的速度X,速度Y数值为±0.005或±0.0025,重复4次和正负数值是为了表现出水波的特性,不只有一个方向的进行运动。
UE4材质篇--水材质_第3张图片
通过这种方式处理的纹理可以达到水面的一个波浪效果
UE4材质篇--水材质_第4张图片
3.通过Add融合与MaterialFunctionCall(材料函数)调出一些水的细节
UE4材质篇--水材质_第5张图片
4.最后在调亿下参数
5.总的节点图
UE4材质篇--水材质_第6张图片
6.实现的动态效果

bandicam 2022-01-21 20-47-25-802

最后总结

水材质的运用首先要理解好透明材质,再通过贴图做出水的一个动态效果。

你可能感兴趣的:(ue4,材质)