UE5中实现后处理深度描边

后处理深度描边可以通过取得边缘深度变化大的区域进行描边,一方面可以用来做角色的等距内描边,避免了菲尼尔边缘光不整齐的问题,另一方面可以结合场景扫描等特效使用,达到更丰富的效果:

后来解决了开启TAA十字线和锯齿问题,若遇到这2个问题请至文章底部查看。

参考:https://www.bilibili.com/video/BV11e4y1n7dD


1.创建材质函数

我们通过一种卷积算子计算边缘,先创建该算子的材质函数

2.编写材质函数蓝图

该材质蓝图传入偏移值,输出5个UV采样坐标信息。

3.编写核心后处理材质

新建材质球PPS,设置材质球参数类型为Post Process(后处理材质球)。

连接材质球节点,计算描边结果并与场景颜色合并。

将后处理材质挂载于Volume上:

因为直接使用的场景深度,这时候整个场景都被深度描边了:

4.使用自定义深度优化

这不是想要的效果,我们将场景深度改为自定义深度。

框选材质球PPS内的所有SceneTexture:SceneDepth节点 ,进行修改。

多选所有需要深度描边的物体,勾选Render CustomDepth Pass:

最终完成描边效果。


补充,开启TAA时会有十字线的问题,可缩小该系数解决:

关于锯齿问题,可以将后处理的执行位置移动至ToneMapping之前,让引擎自带抗锯齿来进行处理:

相关推荐
Mr_Hu4045 分钟前
鸿蒙开发学习笔记-生命周期小记
笔记·学习·harmonyos·鸿蒙
楼田莉子13 分钟前
Linux学习:基础IO相关学习
linux·开发语言·c++·后端·学习
.小小陈.19 分钟前
C++初阶5:string类使用攻略
开发语言·c++·学习·算法
好游科技22 分钟前
高质量聊天交友社交类APP客户端UI解决方案
ui·交友·im即时通讯·社交软件·社交语音视频软件
此剑之势丶愈斩愈烈25 分钟前
设计模式学习
学习·设计模式
神奇的代码在哪里27 分钟前
C++的演进与我的编程学习之旅:从底层基础到AI应用
c++·人工智能·python·学习·程序人生·个人开发
guts35035 分钟前
【anylogic】官方地铁入口教程学习记录(行人库)
学习·anylogic
zhangzhangkeji38 分钟前
UE5 蓝图-游老师-14-Actor事件接口-上:共 21个左右的 Actor事件。玩家控制器的函数:显示鼠标光标,启用鼠标悬停事件,启用点击事件。
ue5
记忆偶然1 小时前
语音转文本技术实践:主流工具特性解析与应用场景探讨
人工智能·学习·语音识别