腾讯是如何利用Unity引擎技术实现首个3A级手游画面的?

来自 葡萄谷游戏网>2019-05-17
深度

[ 葡萄谷游戏网原创专稿,未经允许请勿转载 ]

腾讯是如何利用Unity引擎技术实现首个3A级手游画面的?

《任务召唤》无疑是今年腾讯手中最重磅的IP之一,其同名手游近日开启官网预约后,很疾速超过了210万预约量。

1.png

《任务召唤》系列不停是北美游戏市场的国民级游戏,也是少数几个每一年发售且销量一定过1000万的系列,十几年间在全球积聚下了海量受众。对付同名手游,国内的FPS玩家群体也表示出了很高的等待,该作目前在TapTap系评分为8.8分。

而游戏自颁布以来,玩家最关怀的自然是它能否再现主机系列的玩法体验,和品格是否过硬。

在上周的Unite 2019大会上,腾讯天美工作室技术副总监郭智分享了《任务召唤》手游引擎技术的进级与演化。

2.png

《任务召唤》手游在研发过程中利用到了很多当下较先辈的处理办法,比如利用此前专做影视的Houdini、应用GPU烘焙等等,同时游戏借助PBR等技术。根据郭智的介绍,《任务召唤》手游已经在移动端到达了3A程度的画面效果。在这个分享中,咱咱咱们也可以或许或许看到腾讯对付手游表示力的一些极致尝试。

如下为演讲实录。

3.jpg

Unity大会的国际常规,我先介绍一下自己——2011年入职腾讯,在腾讯天美工作室任职技术副总监、技术专家,卖力全体工作室手搭客户端的研发和一些办理工作。我有数十年从业经验,今年刚好是第11年,卖力过分歧品类项目标开拓,用过一些自研和商业引擎,做过几款FPS游戏,有比较深厚的积聚。下面是我所介入过的游戏。重要触及MMOG、FPS品类,和各种端手游。触及的引擎首先是最左边的一些自研引擎,第二款是用的gamebryo,第三款是unreal,后面触及到Unity5的一些项目标开拓,用Unity用得比较多,也做过Unity全体引擎进级。

4.jpg

大家都知道2017年是手游画面进级的元年,所以对付本日的引擎技术来说,咱咱咱们首先要聊一聊画面。对付全体游戏的画面来说,我先要谈一下全体画面呈现模范的树立。我相信各位曩昔从来没有听过什么叫做画面模范,说的都是要用哪几张贴图,怎么做,画面模范都是美术师去定的。 COD手游偏向是打造3A手游画面呈现画面,所以必然要探究PBR时代画面呈现的最佳实践与进级。

5.jpg

对付全体IP产品来说,首先是要定义制作的主基调。在一开端COD立项的时候,咱咱咱们为了机能纠结过一段光阴:要不要应用Phong的模子,要不要应用最经典的手绘情势。去年咱咱咱们对COD的游戏画面做了严重的翻新,应用PBR复刻了全体主机的画面效果。能到达主机的品格,这个游戏能力上线。咱咱咱们必要挑衅的是到达全体主机画面的丰富度和还原度,去称心全体IP高端用户的主机情怀。

6.jpg

既然咱咱咱们要做PBR,咱咱咱们首先要做的第一个事便是必要同一制作管线和技术管线。对付制作管线来说,美术必要的统统贴图资源,都必要在线性空间计算,用任何对象去制作任何贴图,都必如果线性的。对付技术管线来说,必要为引擎定义同一的渲染管线,也便是说咱咱咱们的渲染管线是颠末过程技术做Scalable的HD渲染管线。对付高配停止HDR的RT输入,对付低配来说为了节省机能不能做任何的后处理,就应用OnePassHDR的管线,应用Tonemapping在最终的shader做相应的数学拟合,来拟合咱咱咱们的偏向曲线。

7.jpg

全体的制作管线和际豕芟呤髁⒅,咱咱咱们再说画面模范的树立。对付画面呈现来说,咱咱咱们必要同等的画面模范——比如这个角色,每个像素咱咱咱们都要定义得非常模范,其实在国际模范上,任何3A游戏里面都邑这么定义,要定义Material Model,Lighting ?Model,Shading ?Model。模范树立了,就可以或许或许用同样的语言说话,如果没有这个模范,美术同学会说我要如许贴图,这里面画点光上去,要做一些阴影的效果。同一模范之后,在团队里面,每个场合里面就不会再有分歧和异义,讨论起来非常简略。这些模范际蔷有物理意义的参数和基于真什物理的定律,也便是遵照PBR的。另有一点是全场景物理同等的光照环境,也便是说咱咱咱们要应用静态的光影+PBR+IBL。

接下来介绍这三个方面,Material,Lighting 和Shader,在COD手游里面到底是什么样的。

8.jpg应为Cubemap

先看一下shading model是什么。咱咱咱们构建了完备的手机平台的PBR光照计划,用分级对PBR停止近似,咱咱咱们提出4级的PBR的数学拟合。最高级确定是给如今的835这些系列的高端的GPU去用的,3级便是在520这种机械,2级给更低端的机械,末了一级为那种兼容型是有成就的机械去应用,解决统统的兼容性成就。而人物在高中低配都应用最完备的PBR计划,也便是说不会做Shader LOD那谢。间接光用了GGX specular+lambert diffuse,间接光用cubemamp做GI Specular,用SH probe做GI diffuse。

对付修建来是,出于机能考虑,低端会简化一些光照的部分,便是刚才说的Shader LOD。间接光其实会在远景用shadowmask,间接光不会烘焙进lightmap,间接光用纯静态的光照,间接光用的是IBLcubbmap+GPU bake的lightmap。

9.jpg

再来看material,固有色、一张法线+粗糙度归并的贴图,金属度+AO放在另外一张贴图。材质接受了lightprobe的间接光照和一个间接光,另有来源于environment的间接光,末了获得全体的呈现,这便是咱咱咱们的material model 和lighting model。

定好之后全体团队统统场景每一小我就基本确定了。确定这些东西之后咱咱咱们要讨论的是制作自己,对付COD如许一个3A级手游里面的一些制作管线,我相信对付程序员或许是一些开拓者来说,可能不怎么在意制作管线。但是2017年之后,大家都知道TA其实比较吃香,另有我认为统统技术职员都要了解美术的工作、甚至要了解策划的一些工作,如许能力把游戏制做好,所以咱咱咱们来聊一聊对付3A级手游里面的制作管线是什么样子的。

10.jpg

11.jpg

咱咱咱们看看制作里面的中央因素,第一个是量产。统统的游戏如今必要最慢也要3年进去,但是往往咱咱咱们没有那么多钱或许是那么多的光阴,所以咱咱咱们必要做大批的外包,所以第一个因素是量产,量产能包管咱咱咱们统统的外包,统统的职员,统统的开拓,统统的美术模范都同一,能力到达量产。第二个是引擎,所以如今对付任何引擎咱咱咱们都觉得要做成咱咱咱们自己认为一两年后所看到的最佳的样子。末了一个方面是机能,不管是主机平台还是PC平台到如今的手机平台都是非常重要的,不行能让玩家玩得很卡顿,确定要有最流畅的体验。这三个因素决定了咱咱咱们全体制作管线。

对付制作管线来说,我觉得应用流程与对象去包管美术素材的正确性与正当性,原则有两个:一个是美术素材输入统统都相符PBR模范的,也便是说你不能画各种阴影,你的色彩,你的明暗不能大于咱咱咱们所认为推荐的值规模;原则二:咱咱咱们必要同一统统的临盆规格和临盆环境,这统统到达之后能力量产化。到达同一规格之后你的画面才是同一的,才是你咱咱们认为可以或许或许节制的样子。

PBR的初衷在欧美那边提进去的,它的初衷其实不是为了效果,而是为了量产。量产的计谋其实有几个:一个是验证,咱咱咱们能尽量地验证;一个是文档,咱咱咱们必要有各种各样的白皮书,去阐述咱咱咱们的思绪。末了一个是科学性,PBR降生自己是工业化的产品,不是美术或许是艺术的产品,所以当你一味夸大各种各样的hack、夸大美术分歧的制作办法、夸大每个TA做各种各样的画面的雕琢之后,就不行能再科学,这个游戏就不会可控,你的团队就会很失控,就不行能把游戏做进去,所以也不行能有量产。所以如果要做PBR,就一定要遵照这三个原则。

12.jpg

先说一下全体的验证。咱咱咱们必要在sp(Substance Painter)里面供给一系列的光照环境给美术做验证,曩昔都是在photoshop里面做的,但是在里面做的任图都可能是错的,都可能让美术制作失控。所以咱咱咱们场景制作要相符三大要点,一个是图形技术的包管,在同样的一个PBR的光照环境,有95%以上是同等的,怎么包管同等?大家先看sp里面的,再看Unity的渲染管线,就可以或许或许包管同等;另外一个是制作环境束缚,美术制作者应用的渲染环境必需与模范的光照环境是同等模再下来是验收模范的束缚,讨论素材自己效果品格的时候,只能参考模范的光照环境,不要在max或许是MAYA里面打开,也不要在任何引擎或是其余环境里打开,咱咱咱们就在模范环境里面打开。如许讨论才有意义,不然管线不同等,讨论的结果会有差异。

13.jpg

刚才说验证的模范场景其实包含一个主场景和六个辅助场景。主场景用于验证固有色的明暗色相,分歧粗糙度外面的镜面反射环境,另有金属材质的镜面反射环境。辅助场景检验包含室内外环境光源,暖色調环境下效果,强对比度的明暗光照,另有典型室外光照下效果或固有色是否太黑的环境。我是参考装修里面的原则另有各种各样形象进去的环境,如许能帮助美术师在做各种各样的验证讨论的时候有,一些能看到制作成就的场景。

14.jpg

15.jpg

有验证环境之后,要定义好详细规矩的白皮书。这里面是咱咱咱们里面的白皮书,比如说输入是什么样子,环境是怎么设置设备摆设的,一些漫反射、镜面反射率是什么样子的。基本是一些数学原理。同时会有一些黑科技作为素材验证的参考对象,包含屏幕校色器、照度仪,和一些模范的色,颠末过程这些去做校验。同时也出去测量SH或许lightmap环境,包管你在房间色调也是同等的。以免美术在调各种各样的色彩甚至是光照值都是感性的认识,咱咱咱们必要给他咱咱们一个非常模范和标量的参考。

16.jpg

这个模范能包管咱咱咱们在制作全体PBR的时候有所参考、有所根据。末了能力呈现如许很好的画面效果。

17.jpg

说完这些,再说一下《任务召唤手游》的引擎技术的积淀。上面两个部分掺杂TA、美术和工程师的一些工作,下面便是相干的纯技术职员的工作。其实便是颠覆、拓展全体Unity引擎之路,会作为未来3A手游引擎实践的一些标杆。

18.jpg

19.jpg

首先咱咱咱们必要做的是,补齐游戏里面所缺的渲染的东西。比如说头发怎么做,皮肤怎么做,角色怎么做,这些都要尽量做补齐。对付一些包含地形的地图或许是其余技术计划可能要做拓展,比如说到地形,我认为咱咱咱们应该是在国内工作室中Unity结合houdini应用至多的。咱咱咱们有这个组合的工作流,另有分歧地貌的Drawcall归并,而且支撑Vertex fetch texture,咱咱咱们应用地形的时候,我认为是如今手游最佳的地形计划,所以咱咱咱们对地形体系做了深度的改革。

20.jpg

接下来是咱咱咱们的烘焙,烘焙应用了GPU烘焙,当你的地形非常复杂的焙,如果用Enlighten就等着通宵吧。如今咱咱咱们烘焙复杂度非常高的场景只必要3-5分钟,曩昔烘焙必要4-6个小时,这是不能接受的。出现bug的焙蚍现同一天就要卡十张图,会出现无穷的加班,这个迭代光阴非常重要。用GPU烘焙可以或许或许做更多的效果晋升,计算正确性和参数科学性有了更强的根据。甚至于可用到一些AI技术,对烘焙结果做一些降噪和算法上的改革,所以咱咱咱们这边用了整套GPU的烘焙计划。

21.jpg

咱咱咱们对烘焙做了深度的定制,也便是说结合houdini做了主动的安排,曩昔我相信统统美术职员这些Light probe都是用手工一个一个去摆的,摆的纯属人体劳能源,而也痪,所以咱咱咱们拓展了全体算法,然后应用程序化主动天生Lightprobe,让这些迭代加倍疾速。统统的这些光影可以或许看到其实是非常密集的,我相信各位如果要做这种游戏的时候,也可以或许做如许的尝试,算法不是分外复杂。

22.jpg

然后说植被制作,本来完全是用美术做制作的,如今很多场景都要用到大批植被,曩昔的临盆办法其实都是美术逐棵逐棵地做,咱咱咱们如今程序化地临盆AO和法线,如许本来两周的工作量等于节省到两天。这些都是很有意义的,省掉大批的制作本钱和人力本钱,也省掉很多外包的工作,所以如今不管制作什么,咱咱咱们都要积极地去拥抱全体PCG的技术,用这些技术助力全体临盆过程。

咱咱咱们临盆了很多很多的游戏,大家可以或许或许看到制作模范和美术规格也是非常高的。如何包管全体系体例造和引擎和机能可以或许或许包管一体化呢?咱咱咱们统统程序和管线的制作都是要后期去进入的。比如咱咱咱们用了4张贴图都是零散的贴图,咱咱咱们确定要有自己的一些技术。美术本来做的统统的都是零散的贴图,事后会对它的图停止整理和整合,如许防止一开端就定尺度和美术讨论我的贴图如何分派,我如何做这种机能的包管,对付美术职员来说,他咱咱们基本不敏感或许是会出现成就,所以对付技术职员自己来说必要包含这一个。

23.jpg应为Texture Atlas

别的咱咱咱们会用一些Texture Streaming之类的技术包管包含iPhone 6的机型也要做兼容。所以全体系体例作过程都不会打乱美术的工作流,直到后续再做优化,咱咱咱们会用一系列的技术比如说Texture ?atalas,Texture ?streaming,PbrShader的shaderlod等,如许后续进入优化阶段也能做到机能的静态收缩。

24.jpg

末了一部分加倍重要,便是做引擎的改动的时候,必要了解引擎技术的演化。最近面试了很多候选人,聊了很多行业里面的大咖,对分歧层次的开拓职员做讨论。大家在做修改的时候,我觉得很多时候是没有根据的,可能是在翻博客时突然发现一个技术我就用。在咱咱咱们的技术里面。咱咱咱们团队非常看重引擎技术的演化,包含最重要的三个方面,一方面是引擎技术的移动端化。从2017年到如今,可以或许或许认为统统PC Game里的技术都可以或许或许在移动端应用了,如果如今不能应用,我相信未来两三年也可以或许或许。比如如今流行应用线性空间的运算、做PBR渲染、做雾和大气的效果,会做渲染模范的一些更新,这些其实端游我8年前就做过了。但是如今手游再次应用,统统技术都是端游往手游做演化,咱咱咱们只是做相对的数学拟合和科学性的一些探究。所以大家做手游移动端化的时候,一定要注意端游技术的移动端化。

另外一方面是引擎技术与对象的进级,引擎版本赓续进级,我第一次应用Unity的候是4.5的版本,如今这个游戏基本上可升到五点几。这些引擎的赓续进级对底层的改革是比较大的,比如如今Unity ECS,各方面的烘焙办法、各方面的技术也都在做进级。所以进级引擎的候你要想到用引擎进级的那一个游戏,做一些你自己最稳固的技术演化。再加上如今的对象也在赓续地睁开。近几年其适用Substance与Houdini,之后这一系列的美术工作在团队里面普及越来越显著,所以咱咱咱们必要应用统统的对象做共同停止游戏的制作。

末了便是芯片的睁开。芯片睁开会更快,可以或许或许认为如今芯片可以或许或许到达了五六年前渲染的一些量级,只是功耗没有跟上来而已。所以咱咱咱们基于如今芯片睁开趋向可以或许或许做的事会越来越高。咱咱咱们团队其实也在做一些PRT的静态GI的效果,我觉得这些未来都邑变成可能。大家在一些高端平台上做这些特性,可以或许或许给游戏加分。再加上如今业界一些前沿技术的推动,也会让你全体手游更迈进一步,比如说RTX光线追踪,如今都在讨论要不要用RTX做光线的一些烘焙计划,咱咱咱们自己用过光线追踪的渲染技术,发实它的抱负效果会大有增益,可以或许或许做很多你想不到的东西。

再加长过程化制作,我前面其实演示了很多过程化制作的方面,有些部分没有在这里讲,但是2018年开端,过程化制作已经深入到咱咱咱们每个制作过程——比如说植被立型、任务、AI另有玩法自己都可以或许或许介入到过程化制作。再加上末了一点可能对国内来说有点前沿,便是Machine Learning。如今全体匹配算法另有后面的AI,咱咱咱们都邑尝试应用Machien Learning做探究,这些技术都邑推动咱咱咱们引擎技术赓续演化。

本日和大家讲的就这么多,谢谢大家。

文章评论
葡萄谷游戏网订阅号
友情链接:宝泉石材网  山西理财财经网  塑料在线网  中卫生活资讯网  大学生思想政治网  无忧阁苗木网  聚生IT新闻网  电动汽车技术网  佛山培训新闻网  速诚物流网