干货分享 || 用UE4制作体积雾是怎样的一种体验?
2021-11-05

作者:

完美NPC

UE4体积雾的制作


UE从4.16开始支持体积雾效果是完全3D的,今天就给大家分享一个简单制作体积雾效果的方法。

干货分享 || 用UE4制作体积雾是怎样的一种体验?
首先我们需要在场景中添加一个指数级高度雾,并在他的细节面板中勾选上体积雾。

干货分享 || 用UE4制作体积雾是怎样的一种体验?

干货分享 || 用UE4制作体积雾是怎样的一种体验?
在光源中将体积散射强度调整高一些这样体积雾的效果会变得更加明显。这个值可以手动输入,拖动最大值只能到4,UE中的大部分参数都是这样。

干货分享 || 用UE4制作体积雾是怎样的一种体验?

干货分享 || 用UE4制作体积雾是怎样的一种体验?


我们在场景中添加一个BOX,然后将这个材质赋予给它。可以看到我们得到了一团正方形的雾气,当前他的形状完全是由模型定义的,接下来我们为他添加形状。
干货分享 || 用UE4制作体积雾是怎样的一种体验?
绝对世界位置÷0.001(控制纹理大小,可以适当调整)Noise(这里也可以使用3D纹理贴图来自定义纹理)然后使用Power来加强纹理的对比。
干货分享 || 用UE4制作体积雾是怎样的一种体验?
这里需要注意Noise要使用3D纹理。
干货分享 || 用UE4制作体积雾是怎样的一种体验?
这个时候我们在看场景中的BOX它的现在稍微有一点点像雾气的效果了,下面我们让它流动起来。
干货分享 || 用UE4制作体积雾是怎样的一种体验?
使用一个三维向量来定义方向和速度然后X时间然后在和之前的位置相加输出给纹理,这样就会得到类似于在流动的效果。
干货分享 || 用UE4制作体积雾是怎样的一种体验?


接下来我们来设置他出现的位置,只让它出现在靠近地面的区域,DistanceToNeatestSurface(与最近表面的距离,我们使用这个节点来获取地面的位置)÷一个参数(这个参数用来控制距离地面多大的范围内会产生雾气,这个值超过395就会在所有位置产生雾气,所以尽量控制在395以下)1-X(这是一个反向节点)然后将最终输出的值和之前的相X。PS:这一步需要把项目中的距离场打开并把BOX细节面板下光照一栏中的影响距离场光照取消掉。


干货分享 || 用UE4制作体积雾是怎样的一种体验?

干货分享 || 用UE4制作体积雾是怎样的一种体验?

干货分享 || 用UE4制作体积雾是怎样的一种体验?


此时我们从侧面看这团雾气的分割线几乎是一条直线这样感觉很不真实,接下我们就来解决这个问题。
干货分享 || 用UE4制作体积雾是怎样的一种体验?
将之前的节点复制出来将三维向量的参数稍作调整避免他们的纹理出现完全重叠的问题,然后删除掉之前DistanceToNeatestSurface后面的1-X节点这样我们就取得了地面往上的一段距离,最后做一个Saturate(将得到的结果限制在0-1的区间内避免出现负数)最后用之前的结果-现在得到的结果输出到消光节点上。
干货分享 || 用UE4制作体积雾是怎样的一种体验?
对参数进行一些调整就可以得到比较理想的效果,最后来给雾气调整颜色。

干货分享 || 用UE4制作体积雾是怎样的一种体验?

干货分享 || 用UE4制作体积雾是怎样的一种体验?


创建一个曲线和曲线图谱,曲线需要CurveLinearColor这种是带颜色信息的曲线。

干货分享 || 用UE4制作体积雾是怎样的一种体验?

干货分享 || 用UE4制作体积雾是怎样的一种体验?


之后双击打开刚才的曲线图谱将刚才的曲线添加到数组中。
干货分享 || 用UE4制作体积雾是怎样的一种体验?
回到材质中将这个节点添加上,然后将刚才的曲线图谱和曲线添加给它。最后连接上我们的节点。

干货分享 || 用UE4制作体积雾是怎样的一种体验?

干货分享 || 用UE4制作体积雾是怎样的一种体验?

干货分享 || 用UE4制作体积雾是怎样的一种体验?


现在我们就可以通过这个曲线来调节雾的颜色啦。
干货分享 || 用UE4制作体积雾是怎样的一种体验?