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之前,让引擎自带抗锯齿来进行处理:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/508501.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为配置攻击检测功能示例

配置攻击检测功能示例 组网图形 图1 配置攻击检测功能示例组网图 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件 业务需求 企业用户通过WLAN接入网络,以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时,不影响用户的业务使用。…

Vue3:使用 Composition API 不需要 Pinia

在 Vue.js 开发的动态环境中,在单个组件中处理复杂的业务逻辑可能会导致笨重的文件和维护噩梦。虽然 Pinia 提供集中式状态管理,但仅依赖它来处理复杂的业务逻辑可能会导致代码混乱。本文探讨了使用 Composition API 的替代方法,说明开发人员…

DAP-Link DIY复刻指南

DAP-Link DIY复刻指南 文章目录 DAP-Link DIY复刻指南1. 概述2. 获取工程资源2.1 工具安装2.2 源码拉取2.3 硬件资源获取 3. 工程下载验证3.1 下载bootload3.2 下载 APP3.3 修改IO配置 4. 验证4.1 虚拟串口验证4.2 Keil 无法识别 DAPLink?4.3 keil 可以识别DAPLink但…

Vue2+ElementUI列表、表格组件的封装

Vue2ElementUI列表组件的封装:引言 在日常开发中,我们经常会遇到需要展示列表数据的场景。ElementUI 提供的 el-table 组件是一个功能强大的表格组件,可以满足大部分的需求。但是,在实际应用中,我们往往需要根据业务需…

Java基础 - 7 - 常用API(三)

API(全称 Application Programming Interface:应用程序编程接口) API就是Java帮我们已经写好的一些程序,如类、方法等,可以直接拿过来用 JDK8 API文档:Java Platform SE 8 一. JDK8之前传统的日期、时间 …

并行和并发的区别

并行和并发的区别是并行指的是多个任务在同一时间点上同时执行,而并发指的是多个任务在同一时间段内交替执行。并行需要多个处理器或者多核处理器,每个任务都有独立的资源,不会互相干扰。并发可以在单核或者多核处理器上实现,多个…

【c++】继承深度解剖

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:了解什么事继承,基类和派生类的使用和…

百度诉闪速推公司涉“万词霸屏”不正当竞争纠纷案审理结果

交叉口讯 5月13日,江苏省高级人民法院知识产权庭公布百度诉闪推公司涉及“万磁霸屏”不正当竞争纠纷一案审理结果:判决闪推公司应立即停止涉案的不正当竞争行为。 ,公司在其公司官网发布声明,消除影响,并赔偿百度经济损…

码界深潜:全面解读软件工程的艺术与科学

🏡 基石构筑篇——软件工程基础理论及技能 🔢 编程语言选型与精修 于软件工程之浩瀚宇宙中,编程语言犹如各色画笔,每种语言的特性对应不同的创作领域。譬如Java倚仗跨平台兼容性和强大的面向对象机制,在企业级应用程序…

数字革命的浪潮:Web3如何改变一切

随着数字技术的不断发展,人类社会正迎来一场前所未有的数字革命浪潮。在这个浪潮中,Web3技术以其去中心化、安全、透明的特性,正在逐渐改变着我们的生活方式、商业模式以及社会结构。本文将深入探讨Web3技术如何改变一切,以及其所…

群体风暴之锤(War3地图编辑器)

文章目录 0、大致原理1、创建隐形单位2、新事件开端3、环境→新条件4、动作4.1、单位组4.1.1、圆范围内单位4.1.2、指定条件 4.2、对单位组内的所有单位释放风暴之锤 0、大致原理 真MK向目标点释放风暴之锤时选定(以技能释放点为圆心,设定半径&#xff0…

Myqsort:基于冒泡排序算法的C语言实现

我们将详细介绍一个基于冒泡排序算法的自定义排序函数——Mysqrt。该函数通过使用用户提供的比较函数进行元素间的比较&#xff0c;并结合swap交换函数对任意类型的数据进行排序。下面是对代码的逐行解析。 逻辑导图 代码实现 // 头文件 #include<stdio.h>// 定义比较函…