UE4丨材质融合过渡的应用案例
点击上方蓝字CG世界关注我们
Hello . 大家好
本文给大家带来的是UE4材质融合过渡应用的小技巧
我是很久不见
大家好,我是很久不见,主要从事的方向是引擎美术。本次和大家分享一个关于UE4材质融合过渡应用的小技巧。
先来看一下最终的效果展示:
我们通常在搭建场景时,难免会遇到两个物体有交叠的情况,此时两个物体会有如下的“硬接触”效果。
这种效果难免过于生硬,一般低成本的解决方案是UE4官方文档中给出的,使用像素深度偏移(Pixel Depth Offset),将像素深度偏移与DitherTemporalAA材质函数结合使用,可以得到如下平滑过渡的效果。
但是想要做更加复杂和自然的过渡效果,此处需要加入距离场。
融合材质的制作
引用官方解释:虚幻引擎4(Ue4)使用 距离场(Distance Fields) 的强大功能来实现游戏中静态网格体Actor的动态环境光遮蔽和阴影。除此之外,Actor的网格体距离场表达还可用于其他一些特性,例如GPU粒子碰撞,甚至还可以使用材质编辑器创建动态流动贴图等等。
此处我从Megascans新导入了一个岩石模型,并新建了一个关卡场景。在项目设置,渲染中,开启“生成网格体距离场”,此时为了便于观察效果,给材质球的自发光通道加入”DistanceToNearestSurface”,Position连接绝对世界位置,观察一下视图中的变化。
然后加入一张图作为Mask让过渡更加自然,此时将材质球转换为实例材质后,调节变量观察过渡效果。
如果显示效果不正确,可以在细节面板中关闭“影响距离场光照”。
加入地面部分的材质。
再加入岩石部分的材质。
此处“FlattenNormal”调节法线的强度,加入了“Switch Param”节点用来关闭和开启AO的使用。
现在断掉自发光的连接,将刚才的过渡效果作为Lerp的Alpha,然后观察一下效果。
此处为了让绘制过渡更自然,多做了一次Lerp,然后添加“Vertex Color”节点,用一个变量值控制绘制的整体效果,最后限制在0.001到1的范围内。
最后用一个Lerp整合之前的两次Lerp。此时就可以使用网格体绘制工具绘制材质过渡的效果了。
世界场景位置偏移
引用官方解释:世界位置偏移(World Position Offset) 输入允许网格体的顶点在世界空间中由材质操纵。这有助于实现使对象移动、改变形状、旋转和各种其他效果。这适用于环境动画之类的内容。
这里如果不使用曲面细分的话,推荐使用仅控制网格体顶点的世界场景位置偏移,同时也可以节约一部分消耗。
为了在岩石与地面的重叠处能有坡度变形,在材质上需要连接世界场景位置偏移。这里用绿通道配合绝对世界位置,将节点连接到世界场景位置偏移上。
此时用网格体绘制工具绘制岩石的底布,并配合Offset的变量,可以有坡度过渡的效果出现。
最后我们加上地面材质看一下效果。
以上就是本次教程案例的内容了,希望大家可以举一反三,将这种融合效果应用到其他的场景中。如果对于本案例中的节点不是很明白的话,以下我将本次案例的所有节点共享到我的blueprintue网站中,大家可以在网页中复制节点到你UE4项目的材质中(复制时会很卡,需要耐心等待)。
网址:https://blueprintue.com/blueprint/z1f_2t8y/
当然还是希望有兴趣的同学可以自己将这个效果制作出来。
本次案例是我的个人练习,如有不足之处,希望大家可以一起交流学习,一起变得更强!
- End -
Blender到UE4的无缝衔接
白嫖!Maya与Unreal实时同步的插件神仙玩法解析
在3080、3090上玩UE4都什么体验?
UE4实时渲3S材质都如此真实了?【胆小勿入】
悄悄关上UE4,点了一支烟···在想,跟这些学生差在哪里?