Hello,大家好,今天是AO续作Unreal入门知识SSAO的升级HBAO+,我是木偶心没。
上一篇文章 Unreal入门AO知识科普 说到SSAO存在一些阴影清晰度和画质问题,所以在2008年的SIGGRAPH技术会议上,NVIDIA推出了升级的SSAO,基于水平的环境光遮罩HBAO。与以前的SSAO不一样的是,HBAO基于物理的算法,能生成更高质量的SSAO,同时增加AO阴影的清晰度质量和可见性。
然而处于性能的原因,一般游戏都以半分辨率渲染HBAO,比如《战地3》,将AO像素的数量减少了四分之三,但是以较低的分辨率渲染的HBAO会导致一些闪烁。所以为了解决这个问题,NVIDIA又重新开发并改造了SSAO,得到了最先进的HBAO+,这是SSAO渲染领域的典型转变。而且与HBAO相比,HBAO+将AO效果的细节级别提高了一倍,运行速度提高了三倍,并使用了最新的DirectX11技术。

而对于原来的SSAO,HBAO+修复了下面这个bug。
首先是一个空场景

往里面加一个动态的角色

如果角色离墙很近,那他周围的确会有一圈墙面的AO效果。但是如果角色是远离墙面的话,按照SSAO本身的计算方法,取物体上面的一个点,然后在采样球里面取随机采样点

根据深度判断采样点和中心点的遮挡关系,并将最后的结果相加,得到的结果就会让远离墙面的角色本身也受到错误的AO效果。
所以为了得到正确的结果,HBAO+使用了双pass AO去计算。比如对于下面的场景

第一个pass只计算静态物体的AO。

第二个pass计算静态物体以及角色的AO。

然后抠出场景中的角色。

然后把这些动态的角色加载到第一个pass计算出来的AO图中。

但是这样子角色和地面的AO就完全消失了。

所以我们还需要在角色和地面接触的部分增加AO效果,在反转动态物体mask后得到的新mask区域,与地面进行最小深度混合,最后就只会得到正确的角色与地面接触的AO值。


由于在Ultra预设中double-pass HBAO+被设为默认,所以也可以称为HBAO+Ultra,并且添加了高级的混合函数到HBAO+中。

当然除此以外还有比HBAO+慢3-4倍但是效果很好的VXAO,HDAO以及PBAO等。有兴趣可以了解一下。
来源:Thepoly公众号
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答3.精通材质贴图软件;精通各主流渲染器的设置;对主流引擎有一定了解并能还原美术效果6.简历内请附带作品资深角色模型师(CG向)......
鹿角部分我是通过在ZBrush中创建圆柱体,然后使用蛇形笔刷(SnakeHook)配合动态笔刷模式,把鹿角的大型制作出来期间对......
是的,常年被抢、上来缺口按几十个人算的,一定有角色动画专业!下面这家地处北京的制作公司表示,他们现在的主要业务是制作动画短剧、......
一样是入学时底子薄弱、但通过火星6个月课程学习获得较大提升,并顺利入职行业名企的学员案例这个专业的全称是“影视游戏3D模型大师......
全球年收入超10亿美刀的小程序游戏,正在疯狂招聘!附火星匹配专业
这里为大家整理了一组点点互动10月岗公开的热招岗位清单,主要是美术岗和技术岗,分校招和社招两组,感兴趣的同学可以尝试投递社招·......
上班啦!上班啦!又是替同学开心的一天!这位同学因为大学还没有正式毕业,所以目前是以实习生身份入职腾娱!等拿到大学毕业证的时候,......
同学您好!