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:

变成一个圆了。

相关推荐
九流下半8 小时前
threejs 建筑设计(室内设计)软件 技术调研之二 墙体材质改变
材质·threejs墙体材质·threejs点击切换面颜色·threejs点击切换面材质
ue星空8 小时前
UE材质常用节点
ue5·虚幻·材质·虚幻引擎
胡说ba道1 天前
生活小妙招之UE CaptureRT改
ue4·材质
雕花の刺猬3 天前
UE4与WEB-UI通信
前端·ui·ue4·webui
财经科技社4 天前
三思照明匠心之作!在杀菌灯材质上下功夫
材质
程序员_三木4 天前
Three.js入门-材质详解,构建视觉真实感的核心
开发语言·javascript·webgl·three.js·材质
ue星空4 天前
虚幻5描边轮廓材质
ue5·材质
珠海新立电子科技有限公司5 天前
【新立电子】FPC材料的选择与性能优化
性能优化·制造·材质
ue星空6 天前
UE5制作简单水材质
ue5·虚幻·材质·虚幻引擎
Growthofnotes10 天前
UE4_环境_体积云_通过蓝图来控制云彩的形状及位置。
ue4