UE4_材质节点_有关距离的_流体模拟

一、材质节点介绍:

特别注意:距离场需要独立显卡支持。

1、什么是距离场?

想象一下空间中只有两个实体, 一个球,一个圆柱.

空间由无数个点组成, 取其中任何一个点, 比如,它跟球面的最近距离 是3, 跟圆柱面的最近距离是2, 那么这个点的值就是2. 空间中所有的点都按照这个方法取值, 就形成了一个标量场, 称为距离场.

距离场计算出来以后, 能够得到场中任何一个点跟所有参考物体 (比如上例中的球和圆柱)之间的最近距离.

如果距离场的值表现为图像的明度, 它的视觉印象是一个个由参考物体分割出来的渐变区域.

2、距离场的开启

点击 主(Main) 菜单上的 编辑(Edit) 并选择 项目设置(Project Settings) 将其打开。

点击 渲染(Rendering)> 软件光线追踪(Software Ray Tracing) ,可找到用于调整网格体距离场的设置。

3、距离场的查看

4、DistanceToNearestSurface( 与最近表面的距离**)蓝图节点**

节点尝试理解:

根据理解与最近表面的距离获取的应该是个标量,我们除以一个值,使渐变区域变大以观察效果。

把这个材质赋予场景中的平面,这样平面上的自发光颜色根据这个距离除以100进行发光。

这样我们就理解了这个节点了,获取到的是物体上每个像素点到最近物体表面的距离。为了验证我们在添加一个物体看看效果:

在此示例中,DistanceToNearestSurface输送到材质上的"不透明"(Opacity)输入,而该材质应用于放在关卡地板正上方的"静态网格"平面。 DistanceToNearestSurface的作用是告诉材质,"静态网格"平面仅从红色区域开始与场景中的其他"静态网格"相交。

5、DistanceFieldGradient(距离场梯度)蓝图节点

距离场梯度(DistanceFieldGradient) 材质表达式节点进行规范化(normalize)后,将输出对象在距离场中的X,Y,Z移动方向。方向是从物体到材质物体的方向。 这使DistanceFieldGradient材质表达式节点非常适合于需要模拟液体流的材质。

材质节点尝试:

半透明材质渲染距离场是有问题的:

换成不透明材质效果如下:

为了看清楚效果,自发光乘以一个数值。

看另一个效果:

再看另一个效果:

看完你会发现还是规范化省事,并且这个节点是既带有方向又带有距离的。

这里是在材质中使用 DistanceFieldGradient 材质表达式的示例。 在此示例中,请务必注意,DistanceFieldGradient首先进行规范化,然后输入到"Mask Channel节点。 这样做的原因是,如果不首先对DistanceFieldGradient进行规范化,您将无法获得方向性数据。 为了方便在材质实例中进行RGB通道切换,添加了"遮罩通道"(Mask Channel)参数。

以下是作用中的DistanceFieldGradient示例。 下图显示启用各种RGB后DistanceFieldGradient将会使用的数据。

6、材质上的参数:世界场景位置偏移

允许通过材质在世界空间中操纵网格体顶点。

尝试1:

发现使用这个材质的物体在Z轴上移动了100单位。

尝试2:

尝试三:

尝试四:

变成一个点了。

尝试5:

变成一个圆了。

相关推荐
郑寿昌3 天前
虚幻引擎6:Lumen半透明材质新突破
材质
一只数据集3 天前
柏林道路路面图像数据集-971张沥青与鹅卵石路面图片-训练测试集划分-支持道路材质识别与自动驾驶视觉算法训练
算法·自动驾驶·材质
魔士于安4 天前
Unity UI图片 复活节UI,卡通风格
游戏·ui·unity·游戏引擎·材质·贴图
重庆若鱼文化创意5 天前
包装设计公司哪家好?价格差很多时,关键看材质、印刷工艺和实际包装成本
人工智能·python·材质
佛漏米5 天前
上海别墅新古典风格落地指南:从比例控制到材质搭配的工程化方法
材质·别墅装修·装修避坑·装修风格
RReality5 天前
【Unity Shader URP】模板遮罩 / 传送门 实战教程
ui·unity·游戏引擎·图形渲染·材质
晴夏。5 天前
UE原生第三人称相机源码分析
游戏·ue5·ue4·相机·ue·3c
郑寿昌7 天前
虚幻引擎UE5 Lumen兼容PBR材质全解析
服务器·网络·材质
郑寿昌7 天前
UE5中FBX材质丢失终极修复指南
ue5·材质
Yuk丶8 天前
Procedural Dialogue Engine - UE4程序化对话系统的技术实现
c++·游戏引擎·ue4·游戏程序·虚幻