虚幻引擎4引入了新的深度缓冲区及其PBR渲染系统。它称为“自定义深度”,可用于诸如编辑器内置的选择轮廓,遮挡网格的渲染或自定义透明度的效果。我将在材料编辑器中讨论使用此缓冲区的一些基础知识,并解释我在自己的项目中使用该缓冲区的一些功能。

使用“自定义深度”时,请务必仔细阅读页面底部的“问题与限制”,以免您费时费力和不必要的调试。

自定义深度

目录

自定义深度101

渲染对象轮廓

新增:多色轮廓效果

剔除内部三角形

其他用途

问题与局限性


101

对于以前从未使用过此功能的用户,可以在“详细信息”面板中名为“渲染自定义深度”的“渲染”类别下为静态和骨架网格物体启用“自定义深度”。

要查看此特定缓冲区的渲染输出,请转到“编辑器”视口的viewport-options中的“缓冲区可视化”。请注意,靠近相机的物体几乎是黑色的,可能很难看清!

虚幻编辑器中的自定义深度可视化器

渲染对象轮廓

为了在特定的网格物体周围绘制轮廓(例如下落的盟友,可用的战利品容器等),我们需要一个缓冲区来获取它们的轮廓。自定义深度对此非常适合。

使用填充有我们对象深度信息的缓冲区,我们可以通过在后期处理中对相邻像素进行采样来执行简单的深度比较。如果邻居有深度信息,但像素本身没有-我们将其着色为轮廓线颜色。

通过将自定义深度与SceneDepth进行比较,我们可以使用另一种技术为所有被遮挡的几何图形绘制半透明的叠加层。如果CustomDepth大于SceneDepth,则将白色色调与SceneColor混合在一起。

结合使用这两种技术会产生以下后期效果:

我跳过了大多数实施细节–如果您有任何问题,请随时在下面的评论部分中提问!我已经提供了该效果供下载,可以随时在您的游戏中进行修改和使用。(请检查新段落以获得此效果的更详细和高级的版本!)

新增:多色轮廓效果

几个引擎版本之前,“模板深度”缓冲区与“自定义深度”一起添加。这使我们能够创建许多其他有趣的新花样的彩色轮廓!单击此处以了解此新效果及其使用方法。

剔除内部三角形

在具有内部三角形(眼睛,嘴巴,手臂或一点点盔甲穿过)的角色之类的模型上使用透明度时,您会在材质中看到引人注目的突出亮点,并且看起来根本不正确。我们可以使用“自定义深度”解决此问题。

通过将角色渲染到“自定义深度”缓冲区中,我们可以剔除网格外壳后面的任何像素。比较“场景”和“自定义”的深度时,应添加一个小的深度偏移,以防止包括外壳在内的太多像素被剔除。为此的材料设置非常简单:

材质节点 – 复制此url内容,您可以直接将上述节点粘贴到您自己的材质中。(项目源可在GitHub上获得)

我在下面的设置中比较了启用和禁用的深度剔除。右侧的字符以红色显示所有被遮挡的像素。我将每个角色TWICE渲染为围绕一个限制工作,即透明材质根本无法渲染到自定义深度(这是SceneDepth的正常行为,但是在应用了透明度的网格上显式启用“自定义深度”时,这是不希望的)。确切地看到这是怎么做的。注意:从4.20开始,您可以通过启用材料中的选项“允许自定义深度写入”来渲染自定义深度的半透明材料。这消除了对第二个网格组件的需求,这是一个巨大的工作流程改进。

在我们的游戏《  Switch》中,我们在隐身效果上使用了这种剔除技术,使其具有更加一致的“外壳”,并在具有很多重叠像素的网格上突出显示。

重要的是要知道,如果多种材料使用此技术,则只有最靠近相机的物体才被正确剔除。在此图像中,您可以看到如果多个网格重叠,则会发生错误。在考虑使用此技术时应考虑到这一点–如果您很少使用此效果或在一致的隔离方案中使用它可能永远不会成为问题。

可以通过在剔除时添加最大深度增量来解决此问题。我没有必要进一步探讨这个问题,但是将来在它引起实际问题时可能会再次讨论。

其他用途

如前所述,在我们的游戏Switch中,我们使用了“自定义深度”来实现许多功能,其中一个功能是使用X射线材料将玩家暴露在墙后–我在下面添加了一个简短的视频,以早期了解概念验证。

问题与局限性

  • 对于半透明材料,您需要在材料中启用“允许自定义深度写入”!(这仅适用于4.20+,我尚未确认确切添加的时间)
  • 由于缓冲区使用“自定义深度”填充了所有对象,因此当您具有多个重叠的网格物体(一个在另一个网格物体之后)时,该缓冲区将不起作用,具体取决于您使用深度值的方式–如果您使用“自定义深度”来覆盖透明网格物体,则可能会被完全剔除剔除内部三角形。一种可能的解决方法是在查找内部三角形时增加最大深度差以减少误差。

虚幻引擎4中的自定义深度相关推荐

  1. 虚幻引擎构建光照失败的原因_如何在虚幻引擎4中构建实时动态封面系统

    虚幻引擎构建光照失败的原因 by David Nadaski 大卫·纳达斯基(David Nadaski) 如何在虚幻引擎4中构建实时动态封面系统 (How to build a real-time ...

  2. 在虚幻引擎5中构建你的首款游戏 - 04 - 地形和草地

    在虚幻引擎5中构建你的首款游戏 - 04 - 地形和草地 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> ...

  3. 在虚幻引擎5中构建你的首款游戏 - 08 - AI控制和道具

    在虚幻引擎5中构建你的首款游戏 - 08 - AI控制和道具 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >&g ...

  4. 在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门

    在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >&g ...

  5. 【UE5】虚幻引擎5中的VFX游戏特效制作学习教程

    从零开始学习虚幻引擎5中的实时VFX. 你会学到什么 了解如何创建实时效果 通过创造效果来学习Niagara 了解Niagara是如何运作的 为游戏创造各种各样的效果. 创造风格化的火 创建风格化的爆 ...

  6. UE5虚幻引擎5中的实时特效学习 Introduction to real time FX in Unreal Engine 5

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:40节课(3h 36m) |大小解压后:2.65 G ...

  7. 在虚幻引擎5中重塑火箭联盟——口袋联盟

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确) |大小解压后:3.28 GB |时长:4h 21m ...

  8. 在虚幻引擎 4 中处理内存泄漏问题

    在虚幻引擎 4 中处理内存泄漏问题 Cody Albert 在 May 16, 2016 | 学习编程 Share on Facebook Share on Twitter Share on Goog ...

  9. 虚幻引擎4中的移动设备分析插件

    虚幻引擎4中的移动设备分析插件 Joe Graf 在 2015/09/18 02:20:37 | 学习  教程  程序 Share on Facebook Share on Twitter Share ...

最新文章

  1. plsql清完表需不需要提交事务_分布式基础-分布式事务
  2. Matplotlib 2016-04-15
  3. 如何选择和计算滤波电容?--电容使用详述
  4. 微软说它深爱着Linux,现在它用行动证明了
  5. 下列哪个适合做链栈_朋友圈人格图鉴:三天可见 vs 全部可见,哪个更适合做恋人?...
  6. Face++的技术面经历
  7. java list 过滤数据库_jdk8对list的各种处理实例详解,包括去重,排序,过滤,分组,统计...
  8. 南京农业大学 操作系统课程设计
  9. 5.VM虚拟机网络设置---桥接模式
  10. Stemming and lemmatization
  11. Linux日文教程,在Deepin/Ubuntu下安装fcitx-Anthy以输入日语(日文)
  12. 计算机efs加密,我的电脑文件efs加密了,现在从做系统打不开了怎么处理啊
  13. no python interpreter selected_报No Python interpreter selected错误怎么办
  14. 喜欢Photoshop的来看看啊
  15. 47. DDR2内存初始化代码分析-10
  16. ubuntu中无法安装vim
  17. tokenizer.encode、tokenizer.tokenize、tokenizer.encode_plus的用法差异
  18. LiveNVR配置拉转RTSP传统海康大华安防摄像机直播流输出RTSP/RTMP/HLS/HTTP-FLV如何获取直播流地址
  19. Winmail安装及服务启动失败问题
  20. Java do while循环语句如何使用呢?

热门文章

  1. MySQL 重置 root 密码以及修改密码时报错password字段不存在
  2. 量化投资学习必读书目(八)——《短线交易大师》
  3. 互联网应用:不以抄袭为耻,但以抄袭为常
  4. 移动应用如何利用社交平台获取流量
  5. 欧美著名大学视频课程(ZZ)
  6. 无线广告屏]无线模块
  7. 连接远程电脑虚拟机时,怎样重启远程电脑?
  8. Bingo部署成功 纪念一下
  9. 带有CAN模块通讯的labview转化为应用程序(exe)CAN模块启动失败问题解决办法
  10. qca wifi相关操作命令