http://blog.csdn.net/noahzuo/article/details/51361789

这篇博客解释了Unreal Engine 4中的Pixel Depth Offset通道的使用心得,并且结合街头霸王Ⅴ对该通道的使用来归纳出一些注意事项。


街霸Ⅴ所使用的游戏引擎是UE4,相对于街霸Ⅳ来说,街霸Ⅴ在画面上有一个细节上的改进 —— 格斗的双方模型不会出现直接的穿插,取而代之的是优先确保一方模型的完整性。在这个效果中,就是用了Pixel Depth Offset的材质通道。

Pixel Depth Offset说明

Pixel Depth Offset是UE4中材质编辑器中的一个通道: 

这个通道表示的是针对于这个像素在Depth Buffer上的值进行一个Offset,说的通俗一些:那就是将这个像素的深度沿着摄像机到该像素的方向往后推一个值。

下图中红色的球使用的是我们自定义的材质,Pixel Depth Offset值目前为0。 

将该值调整为50.0后: 

可以看出,红球右上角的一些像素被推至灰球表面之后了,因此导致灰球的一部分可以显示出来。

街霸Ⅴ中的效果

可以看到,在两个模型相互穿插的时候,Ryu的模型被完全显示出来了,因此可以断定是Ken的材质中Depth Offset被设定为了一个大于0的值,整个模型的像素深度被往后推,从而显示出Ryu的整个模型。

使用Pixel Depth Offset的注意事项

深度换算

由于Pixel Depth Offset的值代表的是将这个像素的深度沿着摄像机到该像素的方向往后推一个值。如果将其设定为一个固定的值,则往往会出现V向量与N向量的夹角越大,平面向后推的像素深度越小的情况。

上图中描述了如何将一个Surface深度向后推一个距离。因此该值不能设定为一个值,而应当设定为想要后推距离除以N向量与V向量的点乘:

通过这样的方法能够将一个面一起推后一个距离,而不会出现一个面上的不同像素推后距离不同的情况。

诡异的阴影

这应该是Pixel Depth Offset所产生的最严重的副作用了 —— 由于针对于深度的操作都是基于Depth Buffer,这样就意味着虽然深度改变了,阴影还是按照原来的情况计算。这个情况目前(包括4.11及之前)无解,在街霸Ⅴ中也有这种问题,分析如下。

这种情况可以通过减弱阴影颜色来缓解,但是目前无法避免。Epic的官方回复是已经在解决中,但是还需要做一些工作才行。

<全文完>

Unreal Engine 4 —— Pixel Depth Offset的使用心得相关推荐

  1. Custom Depth in Unreal Engine 4

    Posted on September 14, 2014 by Tom Unreal Engine 4 introduced a new depth buffer along with their P ...

  2. UNREAL ENGINE 4.13 正式发布!

    这次的版本带来了数百个虚幻引擎 4 的更新,包括来自 GitHub 的社区成员们提交的 145 个改进!感谢所有为虚幻引擎 4 添砖加瓦贡献的人们: alk3ovation, Allegorithmi ...

  3. UNREAL ENGINE 4.12 正式发布!下载地址

    UNREAL ENGINE 4.12 正式发布! 下载地址:https://www.unrealengine.com/ Alexander Paschall 在 June 1, 2016 |功能新闻社 ...

  4. Unreal Engine 4 卡通轮廓线(Toon Outlines)教程 之 后期处理法(Post Process Outlines)

    本文是<Unreal Engine 4 卡通轮廓线(Toon Outlines)教程>的第二部分:后期处理法(Post Process Outlines),书接上文<Unreal E ...

  5. Unreal Engine 4 中的 UI 优化技巧

    http://mp.weixin.qq.com/s/bybEHM9tF-jBPxxqXfrPOQ## 2017-05-09 虚幻引擎 Unreal Open Day 2017 活动上 Epic Gam ...

  6. How Unreal Engine 4 Will Change The Next Games You Play

    How Unreal Engine 4 Will Change The Next Games You Play[纯搬运] How Unreal Engine 4 Will Change The Nex ...

  7. Unreal Engine 4 渲染目标(Render Target)教程 之 实现雪地足迹(下)

    本文是<Unreal Engine 4 渲染目标(Render Target)教程 之 实现雪地足迹>的第三部分 第一部分请见<Unreal Engine 4 渲染目标(Render ...

  8. Unreal Engine 4 渲染目标(Render Target)教程 之 可交互的草地(上)

    原文|<Unreal Engine 4 Tutorial: Creating Interactive Grass in Unreal Engine 4> 作者|Tommy Tran Aug ...

  9. Unreal Engine 4 渲染目标(Render Target)教程 之 实现雪地足迹(上)

    原文|<Unreal Engine 4 Tutorial: Creating Snow Trails in Unreal Engine 4> 作者|Tommy Tran Jun 3 201 ...

最新文章

  1. L1-056 猜数字 (结构体解决)
  2. JVM最佳学习笔记一---Java内存区域与内存溢出异常
  3. php 超过100m文件上传,科技常识:apache+php上传大文件以上传100M为例
  4. MySQL 视图的基础操作
  5. 字符串转换成java对象然后通过@RestController返回json对象
  6. arraylist如何检测某一元素是否为空_我们应该如何理解Java集合框架的关键知识点?...
  7. 每日一笑 | 哪个男人到底是谁?!
  8. 2018年最值得关注的15大技术趋势,区块链将得到更广泛的应用
  9. 本机速度文件支持的“纯” Java大数据存储
  10. 计算机基础知识整理大全_知识大全 | 物理选修35quot;波粒二象性quot;
  11. 使用 postman 进行接口测试
  12. 装饰者模式 php,php装饰者模式简单应用案例分析
  13. 工具存储过程收藏(spFindString)
  14. 在WCF中的异常处理方法
  15. 三菱modbusRTU通讯实例_modbus通讯协议详解 | 每位工控人都应该了解
  16. php寻仙记,寻仙记文字游戏完整实测源码 - 下载 - 搜珍网
  17. 红外倒车雷达原理图_超声波倒车雷达电路图及原理分析
  18. 暴风影音5完整版(集成Real解码器) 增强去广告版
  19. 像智能手机一样造车,可能吗?
  20. k-平均算法(k-means算法)(k均值算法)例题

热门文章

  1. 运维组如何管理服务器资源,运维服务管理体系方案全套.doc
  2. mysql数据库事务隔离级别是_数据库事务隔离级别-MySQL为例 · Sean
  3. 【论文阅读】Diffusion-Convolutional Neural Networks (DCNNs) | day9、10
  4. html语言机标记椒用来调字体的,HTML语言 之 字体标记
  5. ccs4c语言用户手册,CCS v4.x快速入门:EasyDsp开发套件产品手册
  6. linux so获取自己路径,linux下so获得自己文件位置的路径
  7. python open函数参数_python open函数的用法笔记
  8. oracle主备不同步,主备环境下数据不一致重新部署复制
  9. thinkphp5 mysql助手_ThinkPHP5-数据库基本操作
  10. html5自动填充父类框,html5和css3进阶(浮动)----02