查看原文
其他

UE4丨材质融合过渡的应用案例

Thepoly CG世界 2022-05-24

点击上方蓝字CG世界关注我们

“ 感知CG · 感触创意 · 感受艺术 · 感悟心灵 ”
中国很有影响力影视特效CG动画领域自媒体


Hello . 大家好

本文给大家带来的是UE4材质融合过渡应用的小技巧

我是很久不见




大家好,我是很久不见,主要从事的方向是引擎美术。本次和大家分享一个关于UE4材质融合过渡应用小技巧。


先来看一下最终的效果展示:



1‍‍思路分析‍‍











我们通常在搭建场景时,难免会遇到两个物体有交叠的情况,此时两个物体会有如下的“硬接触”效果。




‍这种效果难免过于生硬,一般低成本的解决方案是UE4官方文档中给出的,使用像素深度偏移(Pixel Depth Offset),将像素深度偏移与DitherTemporalAA材质函数结合使用,可以得到如下平滑过渡的效果。



但是想要做更加复杂和自然的过渡效果,此处需要加入距离场。


2
融合材质的制作








引用官方解释:虚幻引擎4(Ue4)使用 距离场(Distance Fields) 的强大功能来实现游戏中静态网格体Actor的动态环境光遮蔽和阴影。除此之外,Actor的网格体距离场表达还可用于其他一些特性,例如GPU粒子碰撞,甚至还可以使用材质编辑器创建动态流动贴图等等。


此处我从Megascans新导入了一个岩石模型,并新建了一个关卡场景。在项目设置,渲染中,开启“生成网格体距离场”,此时为了便于观察效果,给材质球的自发光通道加入”DistanceToNearestSurface”,Position连接绝对世界位置,观察一下视图中的变化。



然后加入一张图作为Mask让过渡更加自然,此时将材质球转换为实例材质后,调节变量观察过渡效果。



如果显示效果不正确,可以在细节面板中关闭“影响距离场光照”。



加入地面部分的材质。



再加入岩石部分的材质。



此处“FlattenNormal”调节法线的强度,加入了“Switch Param”节点用来关闭和开启AO的使用。


现在断掉自发光的连接,将刚才的过渡效果作为Lerp的Alpha,然后观察一下效果。


‍‍‍

3‍‍加入绘制部分效果









此处为了让绘制过渡更自然,多做了一次Lerp,然后添加“Vertex Color”节点,用一个变量值控制绘制的整体效果,最后限制在0.001到1的范围内。


最后用一个Lerp整合之前的两次Lerp。此时就可以使用网格体绘制工具绘制材质过渡的效果了。





4
世界场景位置偏移








引用官方解释:世界位置偏移(World Position Offset) 输入允许网格体的顶点在世界空间中由材质操纵。这有助于实现使对象移动、改变形状、旋转和各种其他效果。这适用于环境动画之类的内容。


这里如果不使用曲面细分的话,推荐使用仅控制网格体顶点的世界场景位置偏移,同时也可以节约一部分消耗。


为了在岩石与地面的重叠处能有坡度变形,在材质上需要连接世界场景位置偏移。这里用绿通道配合绝对世界位置,将节点连接到世界场景位置偏移上。



此时用网格体绘制工具绘制岩石的底布,并配合Offset的变量,可以有坡度过渡的效果出现。



最后我们加上地面材质看一下效果。




以上就是本次教程案例的内容了,希望大家可以举一反三,将这种融合效果应用到其他的场景中。如果对于本案例中的节点不是很明白的话,以下我将本次案例的所有节点共享到我的blueprintue网站中,大家可以在网页中复制节点到你UE4项目的材质中(复制时会很卡,需要耐心等待)。


网址:https://blueprintue.com/blueprint/z1f_2t8y/


当然还是希望有兴趣的同学可以自己将这个效果制作出来。


本次案例是我的个人练习,如有不足之处,希望大家可以一起交流学习,一起变得更强!


- End -




Blender到UE4的无缝衔接


白嫖!Maya与Unreal实时同步的插件神仙玩法解析


在3080、3090上玩UE4都什么体验?


UE4实时渲3S材质都如此真实了?【胆小勿入】


悄悄关上UE4,点了一支烟···在想,跟这些学生差在哪里?



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存