TGDC丨腾讯技术中台揭秘如何助力打造3A手游
核心渲染能力、内容工具和改进管线效率、引擎中台
游戏技术中台不是新鲜事,十几年前育碧、EA就已经开始采用。
在腾讯互娱体系下,也有这样一支技术中台部队。在刚才结束的TGDC 追求能力进化分享会上,腾讯互娱研发效能部、引擎核心技术负责人魏楠分享道,团队希望通过打造核心渲染能力,内容工具和改进管线效率、引擎中台,助力游戏团队开发3A手游。
诚如大家所知,在游戏开发技术中,渲染是非常重要的一环,画面质量对玩家体验游戏至关重要。
不过受限于资源、能力,腾讯游戏技术中台无法涉足所有东西。魏楠说,团队会能聚焦几个最核心的能力:第一部分、核心渲染;第二部分、内容工具;第三部分、开发效率。
说到渲染部分,光照无疑最为重要。因此,技术中台会把所有资源投入到延迟管线上开发,通过移动端能够实现一套延迟管线,以便提升整个游戏画面的品质。
经过不断测试,通过优化光源clean,预期可提升20%—25%效率;在带宽侧,针对不同GPU调优,可以节省25%-30%带宽,实测发现在低中端手机上,可降低温度2度到4度。这大幅提升了玩家的体验。
在内容工具部分,技术中台开发了基于Houdini的PCG工具以及面部表情和动画工具Superman。这些工具,能够让美术师抛开技术的限制,聚集在效果提升上。
至于开发效率上,技术中台还开发了GPU加速的光照烘焙系统、分布式构建系统。
魏楠介绍到,总言之这些工具都有助于提升程序、美术以及策划的工作效率。当然,这也意味着往3A手游更近一步。
以下是腾讯互娱研发效能部、引擎核心技术负责人魏楠演讲全文,略经编辑:
今天主要跟大家分享过去一段时间,我们作为技术中台,和腾讯游戏内部很多项目合作过程中,协助大家来进行3A手游开发过程中积累的一些技术经验。
随着手游市场不断地变化,玩家对手游品质要求越来越高。一款3A高品质手游具备哪些特征呢?借鉴传统主机游戏作为参考,渲染效果、海量内容、丰富玩法、顶级体验这四点十分重要。
渲染在游戏开发技术中是非常重要的一环,画面质量对玩家体验游戏是至关重要的环节。其次是海量内容,它能给玩家探索的东西会越来越多,这样会极大丰富玩家体验。
至于玩法本身,如果能够提供丰富的玩法,玩家可获得不同的乐趣。综上,如果能实现上述四点,可为玩家提供一种顶级的体验。
作为技术中台,受限于资源、能力,无法涉足所有东西。因此,我们只能聚焦几个最核心的能力:第一部分、核心渲染;第二部分、内容工具;第三部分、开发效率。
通过实现核心渲染技术上的突破,能够帮助项目组在手机移动平台上,实现质的飞跃。
至于内容工具,要生产更高质量、不同样式的内容,因此需要在工具侧实现突破。通过工具,帮助项目组或制作人员,实现内容生产。
随着内容、玩法越来越丰富,整个团队的开发效率会成为瓶颈。因此技术中台,会聚焦上述三部分,来发挥优势。
首先谈一下移动端渲染管线开发。跟很多项目过程中,项目组对动态、光照和阴影的诉求会越来越强烈。从目前来看,光照是整个渲染效果最核心的一个环节。
因此,我们会把所有资源投入到延迟管线上开发,系统通过移动端能够实现一套延迟管线。以便提升整个游戏画面的品质。
在整个开发过程中,我们划分了移动延迟渲染管线3个目标:1、优化性能,支持百盏动态光源;2、优化带宽功耗,降低发热提升体验;3、改进兼容性,支持不同厂商硬件。
经过不断测试,我们也进行了一些总结。通过优化光源clean,预期可提升20%—25%效率。
在带宽层面,针对不同GPU调优,可以节省25%-30%带宽。经过测试,在低中端手机上,可降低温度2度到4度。
在项目测试中,在中低端机型上使用这套移动端延迟管线,可以跟当前主流管线保持一致,并且超越前向管线。
由于实际操作过程中,会遇到很多复杂的问题,是需要一套非常复杂方案的。这相应的会导致整个引擎侧,维护成本、复杂度极大地提升。
最后,在实现过程中,需要考虑硬件、API甚至一些Driver等方面的限制。这样才能针对性解决问题。
问题在于,目前市场上能够支持的硬件非常有限,同时支持Driver也非常薄弱。很多厂商精力都是放在Open GLES上,Vulkan近一两年才逐渐转换成为重点。开发者应该非常留意这部分。
Open GLES的优势是厂商硬件支持非常广泛,大部分都有对应性特性来支持,Driver上面也会比较成熟。问题在于,厂商提供的扩展差异非常大,比如在ARM、高通骁龙核心功耗优化上。这会导致成本明显上升。
在Mental方面,接近GLES特定硬件实现,各方面支持还算比较好,是相对比较容易支持的API。
接下来想聊下针对生产海量内容开发的一套工具,即基于Houdini的PCG工具。现在看来,针对开发大世界,尤其是MMO品类游戏,由于内容量非常大,需要借助程序化生成的方式,去提升团队生产效率。
往往团队会采用Houdini来开发一套PCG生产流程。我们核心关注的是流程。从我们来看,不同项目其实有不同需求。
在效果侧,最好还是由项目组自己来解决,我们能做的就是提供一套工具,让项目组快速、灵活、可复用地开发这样一套流程。同时帮助项目组把这些工具跟引擎有机结合在一起,这是我们工作的最关键的部分。
在这套流程开发工具中,我们的核心概念是Node Graph PCG Flow的流程工具。它能够让项目组通过节点图的形式来灵活定义自己的PCG流程。
在Flow图里面,我们会有不同类型的节点,包括输入节点、输出节点以及处理节点。然后靠数据流把这些所有节点串联起来,通过输入节点、输出节点和引擎进行数据上的交换,来完成整个程序化生成的一个流程。
与此同时,我们会为项目组提供Houdini HDA,让他们根据项目本身的需求,在HDA基础上进行扩展。
这里,跟大家介绍Superman,一个面部表情和动画工具。这套工具主要针对表情动画和捏脸,可实现任意3D角色面部定制;支持自动绑定、快速捏脸、FACS表情系统、口型控制等动画资产;支持专业动捕数据或轻重级iPhone捕捉。
Superman的优势在于,功能全面,支持骨骼框架与Blend shape数据互转。通用性强,不限风格,适合各类角色。操作简单,安装只需两部,流程设计友好。开发效率提升10倍以上,让美术师抛开技术的限制,聚集在效果提升上。
回到前面关于光照本身,因为关照本身是渲染最核心的效果。但即使有延迟管线这样的技术,对于动态光源、光照需要非常好的支持。
不过间接光照,还是需要借助一些预计算的方式,才能比较好支持。目前,主流引擎的光照烘焙,计算量特别大,非常耗时的过程。
像在开放大世界项目中,5K*5K的地图,如果说对一整套图烘焙,往往需要一整天的时间。这会极大限制团队开发制作效率。
基于这些问题,我们开发了一套GPU加速的光照烘焙系统。它具有三大优势:1、确保烘焙质量;2、大幅提升烘焙效率;3、更多扩展功能。
烘焙效率方面,单卡效率提升3-7倍;多卡效率提升15-30倍。
最后介绍下,我们这边开发的一套分布式构建系统。
它提供一套分布式的作业环境加速内容构建和引擎编译;集中资源管理,提高利用效率;开放式的作业框架,可以支持不同类型任务接入;支持Cache 机制,提高构建结果复用;提升程序、美术以及策划的工作效率。
总结起来,通过打造核心渲染能力,内容工具和改进管线效率、引擎中台,助力游戏团队3A开发手游。
*爆料丨合作丨投稿:戳微信号 luoxuanwan111
转载:戳微信号 C20-0511