打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
采访 Unity 大牛:DX12、Vulkan、光线跟踪、物理渲染、动态LOD、E3演示等

几天以前,我们很高兴采访到了Unity Technologies的现场工程师Mathieu Muller。 我们与Mathieu讨论了很多有趣的话题,例如影响所有Unity 4引擎开发的游戏的性能问题、Unity 5DX12Vulkan、光线追踪的全局光照解决方案以及Unity引擎的未来。后面是采访的具体内容!


DSOGaming: 在我们开始采访之前,请先向我们的读者介绍一下自己。

Mathieu Muller: 我叫Mathieu Muller。我是Unity Technologies的现场工程师,我的工作是在欧洲和非洲到处拜访,代表Unity与那些使用Unity的开发团队进行沟通,反之亦然。我作为图形和AI软件工程师一直在模拟和游戏行业工作,大概有15年的历史。


DSOGaming: 很多引擎已经支持了DX12,而Unity 5引擎就是其中之一。你有没有对这个新的API进行一些实验,它会带来什么性能好处么?你对DX12的总的看法是什么?

Mathieu Muller: 我们从大约2年前在微软和硬件制造商的支持下开始在DX12上工作。我们首先专注于在Unity 5.2中引入功能上的支持和一些实验支持。但是我们可以在一些测试上看到对某些测试已经略有性能上的改进。与此同时,我们一直在开发一种新的图形架构,以便可以在所有新的底层图形API中进行图形作业。这是目前在5.4 Beta中进行的实验,我们获得了一些性能上的提升,但还没有像我们预期的那么多-我们正在努力改变更多的代码,以达到更好的效果。此外,就目前来说大多数性能上的提升,是当你的项目受限于中央处理器能力的时候才能受益,而PC游戏往往是受限于图形处理器的能力。


DSOGaming: PC上发布的第一款DX12游戏的表现有点低于预期(主要是说与DX11在性能和视觉效果方面的比较)。它的表现是正常的吗?什么时候PC玩家可以看到能够发挥DX12优势的游戏?

Mathieu Muller: 是的,它的表现很正常。大多数引擎都处于类似于我之前提到的情况:DX12是有性能上的潜力,但很难超过5年多的驱动程序优化所带来的改进。在某种程度上,这让我想起了PS3 - 虽然架构上的潜力可能是突出的,但它也需要进行深刻的改变。你非常接近硬件,但是你需要时间来掌握这种力量来平衡最终的好处,而不是被使用新的系统所带来的开销抵消到其他方面的提升。十年前,许多工作室花费了大量的开发时间来针对PS3 SPU进行优化,并且最终获得的提升其实还不如他们优化自己游戏的主要算法所带来的提升。一段时间以后,架构和驱动程序已经足够成熟,可以达到很好的结果。在接下来的几年里,DX12也会发生同样的事情。


DSOGaming: 异步计算是自DX12发布以来一直受到关注的一项功能。你试验过这个功能么?这个功能如何使未来的游戏受益?

Mathieu Muller: 这项功能肯定会带来一定的优势,但目前只有AMD的图形处理器有效地执行异步计算,我们还没有实现对异步计算的支持。


DSOGaming: 除了性能上的提升,PC游戏玩家对DX12游戏可以期望有什么视觉上的改进么?

Mathieu Muller: 大多数新的功能(比如保守的光栅化算法等等)在DX11.3中也有了。所以DX12的话我们会非常关注(CPU)性能和帧率的稳定性。


DSOGaming:你对UWP的看法是什么?如果微软以后锁定DX12的情况下你认为它会限制你的未来受众吗?

Mathieu Muller: 对我们来说,UWP是一个平台,提供了很好的机会在没有开发工具包的情况下可以发布到XBox One,特别是对开发人员来说。 DirectX 12目前不限于UWP,而且我们预计它也能用于经典的Win32应用程序。


DSOGaming: Unity 5支持Vulkan么?并且你已经试过Vulkan了吗?如果你不得不选择一个,你会选择DX12还是Vulkan

Mathieu Muller: 我们刚刚在Google I / O大会上正式宣布,我们将支持Vulkan,我们迫不及待将支持Vulkan的版本发布给我们的用户! 我们在DirectX 12上工作的时间更长,支持Vulkan的版本需要一些时间来成熟。另一方面,许多概念是类似的,这应该有助于尽快使两种技术平行发展。我们期待着将Vulkan集成进来,为大量的移动设备带来多线程渲染。但是到目前为止,在这个过程中做出任何确定的结论还为时过早。


DSOGaming:基于物理规则的渲染是图形学里面下一个大事情。你能对我们那些有高科技背景知识的读者和平均水准的读者解释下使用这种渲染技术的好处吗?

Mathieu Muller:  最初引入基于物理规则的渲染是通过给材质提供物理性质(例如粗糙度或柔软度、金属性)来消除美术在光照改变的时候微调纹理的需要。如果环境发生了改变(覆盖着雪的森林或是温暖的沙漠),一块铝看起来还是像铝。另一个好处是能够混合不同来源的资源,如果这些资源是照片级别的并且经过良好的校准。但基于物理规则的渲染不仅仅和材质有关。光照也很重要。目前,光照只是基于物理规则的渲染带来的价值中的一个。基于物理规则的光照的承诺能带来的好处是能够与现实生活中的光照一起协同工作,以便更好地控制结果。这是我们的图形团队正在一直努力进行工作的研究领域之一。


DSOGaming: 让我们谈谈光线跟踪。Unity 5是否支持光线跟踪? 我们距离电子游戏中完全实时的光线跟踪(或路径跟踪)光照系统有多远?

Mathieu Muller: Unity不支持光线跟踪作为最终的实时渲染算法。然而,光线跟踪越来越多地用于引擎和工具箱的各个部分。举个简单的例子来说,使用路径跟踪来进行全局光照贴图的烘焙,并且实时全局光照在离线预计算期间使用光线跟踪。类似地,可以在我们的屏幕特效和体积特效(比如说是大气散射、体积雾)中找到后处理效果(比如说是SSRR(屏幕空间光线跟踪反射)),这些效果进行了某种光线跟踪。然而,纯实时光线跟踪渲染在我看来还是相当遥远的。计算能力将难以跟上屏幕分辨率的增加、更好的抗锯齿效果以及在光线跟踪复杂性上进行的立体渲染的影响。想象一下渲染虚拟显示图像所需的计算量,两次1K渲染,每秒90帧。对于具有这种配置的光线跟踪相机,渲染主光源你就需要180M光线追踪/秒即可。优化的图形处理器光线跟踪器可以做到?300 M光线追踪/秒,所以添加几个产生阴影的光线超出了我们的计算预算。这需要高一个数量级甚至更多的计算能力。而当前的趋势实际上是相反的。

像视觉特效这样的行业越来越多地采用实时渲染技术来提高其迭代时间并降低渲染农场的工作负载。我们的演示,比如说是BlacksmithADAM,证明了实时渲染正在接近一个足够高到创建电影的质量水平。焦散、复杂的视觉特效、头发、茂密的植被或水的模拟是实时渲染的巨大挑战,我敢打赌,在那里比在全实时光线追踪领域将取得更多的进展。举个简单的例子来说,我们的图形实验室团队将在今年夏天于Siggraph上展示一种以实时的帧速率渲染区域光源(这通常是光线追踪器的功能)的方法。

也就是说,我们正在这一领域进行研发,与合作伙伴诸如Imagination TechnologiesAMD进行合作,来研究实时光线跟踪的用途。短期来看,快速光线跟踪可使光照贴图烘焙变成是可实时交互的过程。中期来看,使用光线跟踪的自适应渲染算法可以用于解决阴影和反射的问题。并且从长期来看可以考虑更完整的光线追踪相机。同样,光线追踪技术很难与整个已经关注光栅化几十年的行业进行竞争。


DSOGaming:照片建模是一种在过去几年给大家留下深刻印象的技术。 Unity 5支持这个技术么?你对它有什么看法?

Mathieu Muller: 对于照片建模来说不需要什么真正的引擎支持,因为它只是网格和纹理。然而,我们有一个团队,是图形实验室的一部分,正在积极工作于照片建模领域。照片建模和基于物理规则的渲染紧密联系在一起。当两者都被掌握的时候,应该能够拍摄出风景的参考图片、扫描对象、将几何形状和材质导出到Unity,将光源相应地放置到参考环境、并且应当可以在引擎中实时地可视化几乎完全一样的场景。对我们来说,这是关键,因为它将作为衡量我们的渲染管道的质量的参考。这不是现在能做到的事情,但我们应该能在发布这个功能的过程中发现一些非常有趣的事情。


DSOGaming:你能分享更多关于Unity 5全局光照解决方案的技术细节吗?

MathieuMuller: Unity的全局光照技术目前完全基于GeomericsEnlighten,它在几乎所有的平台上提供实时的全局光照。它是一种奇妙的技术,它管理着非常复杂的并行系统和时间切片系统,以便在光照或是材质发生变化的时候,可以在运行的时候平滑的计算全局光照,即使是在高端移动平台上也是如此。话虽如此,它也需要更多的关注,我们看到我们的一些用户在工作流方面遇到了一些麻烦。由于一些典型的陷阱(太多的小对象、劣质的UV展开、不适当的参数。。。),它可能很难正确地进行设定,可能会导致长时间的烘焙。它主要是一个全局过程,使得难以在光照上进行个别微调。这就是为什么我们正在与Imagination Technologies合作开发一个渐进光照贴图器,它可以逐步构建光照贴图,先专注于场景的可见部分,然后再专注可视范围以外的部分。通过这种方式,物体和光源可以四处移动,用户可以直接看到交互式的影响,同时解决方案收敛。它将在我们今年的GDC主题演讲中展示,我们希望在未来几个月能够提供Alpha版本。除此之外,我们将使用Enlighten来改进实时全局光照的制作流程。


DSOGaming: 让我们谈谈Unity 5引擎的未来。什么是PC游戏玩家可以期望从Unity 5(除了虚拟现实以外)得到的最大的有关未来技术的功能?

MathieuMuller: 有很多令人兴奋的工作正在进行中,他们应该在未来几个月或一年中处于可用状态,这包括了运动向量、达到AAA级质量的屏幕后处理效果(随机采样抗锯齿、新的动态范围映射和调色工具只是一些其中的例子)、渐进光照贴图技术、允许对动画和音频剪辑进行编辑和回放的动画序列器、导航网格的运行时构建、许多2D工具以及更多工具。更多有关的细节可以看看我们的路线图。我们还在世界各地招募了许多非常有才华和经验的人,他们之前为最好的引擎和工作室工作。他们正在帮助Unity引擎达到AAA级的行业质量预期,但同时他们也已经在思考什么是未来几年中最好的技术并已经在为之进行工作。


DSOGaming: 对象的弹出是一个尚未解决的问题。虽然一些游戏具有更高的LOD水平,但是每个游戏-都或多或少-受到这个问题的影响。真正令我们困惑的是,虽然动态细分可以通过改变运行中的细节等级水平来基本上解决这个问题,但没有人使用动态细分。你对动态细分的观点是什么,你为了消除对象/环境弹出的问题对它进行了试验吗?

Mathieu Muller: 你几乎都猜到了!细节等级水平是我们的图形实验室正在研究的领域之一。 这里有许多可能性,不仅仅必须要考虑三角形这一个因素。减少材质的数量、着色器的复杂性、漫反射或法线贴图中的细节数量都对防止走样或闪烁是必要的。我们最近在内部试验了一些非常有趣的概念,希望他们能在不久的将这些方法集成到引擎中去。


DSOGaming:很多PC上的玩家抱怨由Unity引擎开发的游戏中存在帧率问题,甚至在高端系统上也会有帧率问题。此外,一些移植到最新版本的Unity 5的游戏受益于更好的帧率。 在由Unity引擎开发的旧游戏中性能的关键是什么?为了提高引擎的整体性能,你采取了哪些措施?

Mathieu Muller:  Unity 4或多或少是一个单线程引擎。我们有一些组件是多线程的并且有一个渲染线程。Unity 5的核心已经重新用多线程进行了构建。在发布的时候,我们有多线程处理的物理、遮挡剔除、实时全局光照和蒙皮。从那以后,每个版本都能看到其他组件使用了多线程进行处理:UI批处理、视锥体剔除、剔除组、排序、图形作业,变换评估等等。我们还对核心组件做了很多重构工作,以获得更好的数据缓存和单指令多数据流优化。这是高性能的关键。我们还创建了一个专门用于性能分析和回归跟踪的团队。


DSOGaming: Unity 5是否支持多图形处理器设置? 你会释放你的“Adam”短片作为实时渲染的基准,以便PC玩家可以测试他们的系统么?

Mathieu Muller: 我们支持在SLI / Crossfire意义上的多图形处理器,这并不总能保证更好的性能。支持多图形处理器设置对引擎/应用程序来说大部分是透明的,它的伸缩度很大程度上取决于应用程序、驱动程序。

支持多图形处理器设置还可以是“我的机器中有两个不同的图形处理器”(例如,一个图形处理器是集成的Intel图形处理器,一个图形处理器是一个独立图形处理器,或是两个不同的独立图形处理器的形式。) DX12允许这么做,但是我们不支持。

关于我们的短片ADAM,我们仍然努力开发ADAM的第2部分,我们计划在第三阶段尽可能多地发布有关短片的内容。


DSOGaming: 最近,我们看到一些游戏相比较他们在E3 / GDC上展示做了一些降级。你对此有何看法? 游戏开发商应该展示那些甚至在高端PC上不可能运行的游戏吗?

Mathieu Muller:  设置的预期太高可能会得到适得其反、事与愿违的结果。另一方面,试图展示你最好的技术总是很有趣的,因为这是你如何推动极限以及与别人区分的关键。另一个要考虑的因素是,发布游戏有时可能几乎是地球上最难的事情,几乎每个人都必须在开发的最后几个月里面削减很多东西。经验丰富的工作室已经开发了一些工具和方法来降低这种风险。对于独立游戏开发者来说,如果他们没有进行单元测试、持续集成、可以轻松分析和重现问题的工具的话,事情会变得疯狂。位于第一位的规则是:不要在高端电脑上开发游戏!


DSOGaming:非常感谢你接受我们的采访,你想与我们的粉丝分享的最后一句话是什么?

Mathieu Muller: 谢谢你提的这些很棒的问题! Unite欧洲大会将于531日开始-希望到时候可以看到你们,或者你们可以在线来观看这次会议!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
来自2017年的DirectX 12游戏表现,似乎依然不甚理想
《DOTA2》更新后DX11报错怎么办?
未来5~10年值得学习的OpenGL前沿开源项目
cocos2dx 2D光照效果
Unity的光照烘焙技术(上)
详解Unity 5中的全局光照
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服