Nicholas谈UE4对手游平台的优化和支持

发表于2016-07-16
评论0 1.4k浏览
       Nicholas表示,“UE4可以实现手机、PC、主机游戏的快速移植,开发者只需要做一份工,而且在大部分画面表现上极为相近”而在演讲最后,Nicholas回答了关于虚幻引擎对中低端机型支持的问题,“现在有一些解决方案,但是没有摆到标准版本里面去,如果大家有这方面的需求,可以一起合作加块这个进程。另外如果CP自己能够解决这个问题,也是产品的竞争力。”


以下是演讲实录:
       开发者只需要做一份工作 可以实现手机、PC、主机平台游戏的快速移植


       Nicholas William Penwarden:接下来给大家介绍下UE4在手机游戏渲染这部分的功能。现在这里的背景图片,这其实是Epic自己做的一个Demo,主要是韩国分部在做。我们在设计虚幻引擎对手机支持的时候,有一件事情是很重要的,那就是提供同一套工具可以同时做手机游戏和PC和Console游戏的兼容性。


       因此,我们在手机平台上也用了基于物理的渲染模型,并且是使用了线性高动态的色彩空间,还支持很多高质量的后处理效果。可以看到这是我们Sun tempel的例子,这是PC的效果,这是手机的效果,你只要做一份工作,基本上就可以在两个平台上跑出比较接近的效果来。


       基于物理的渲染,在手机上我们稍微做了一些近似的优化,比如说游戏对镜面反射可能没那么准确。


      这里是我们的材质编辑器,大家可以看到材质编辑器的图,你只要基本上做一个在手机和PC上是都能工作的。因为我们自己写了一个cross compiler能够从HLSL直接生成GLSL。


     如果你需要对某些低端手机、中端设备做一些优化的话,我们做了一个节点Feature Level Switch,你可以利用这个节点来走不同的路径。
       这里是我们在PC上,在Editor里面可以看到的一个预染效果,虽然是用DX11渲染的,但是模拟的代码路径是与ESL上完全一致的,所以这个效果与手机上是一样的。


       现在我们在手机上也支持HDR(高动态光照渲染)的Light map,因为手机上刚刚我那里面也提到了,比如说iOS上面的PVRTC之类的压缩,所以在处理方式上对手机做了一些优化。 


       然后我们支持主的方向光,比如说太阳光之类的,然后支持一个非常高效的动态的渲染,效果和质量都非常高。


       我们在手机上现在同样支持了基于图像的光照,这样与PC是差不多,只不过编码方式不太一样,现在手机上每一个物件只能用一个cubemap(立方体贴图),而PC上是可以多个。


      因为手机设备限制,所以现我们对手机上Bloom的效果做了一些改进和减化。
      我们在手机上也同样支持DOF,也有一个近焦、远焦的变化,但是唯一的就是光斑大小、精度有一些差别。我们也支持光柱或者说天光效果,这是基于屏幕空间计算的。


      因为需要FP16和sRGB支持做一些效果,但是这里不支持。所以采用了exposure mosaic的处理方式,我们把它叫“曝光马赛克”。利用这种方式,我们可以在即使不支持线性混合硬件的上面,依然能做出这种效果来。


       接下来介绍一下我们正在开发中的一些对手机支持的比较高端的功能,这些都是制作3A的游戏的功能。比如说动态角色投影,无光照的贴花,动态的不带投影的点光源。

       我们现在还正在持续地做对中低端手机的优化和兼容性,其实安卓有很多的硬件生产厂商他们的驱动有很多BUG,我们也正在与他们紧密合作,帮助他们在驱动层解决这些BUG。

       怎样在GPU层输出整个游戏画面做成一段视频?
        答:其实包括刚才看到的Demo,我们是有命令行生成每一帧的高分辨率贴图,然后再用工具合成为视频,实时引擎可以用第三方的一些工具来抓取,我们引擎不直接支持。并且在视频板上,因为你不能使用console command命令,也是不能抓取视频的。
        在移动平台上,安装包体积比较敏感。特别是做割绳子,平行球这种小游戏。但我发现打包的时候打包引擎大概会有27兆左右。如果这块尽量重复使用资源或者是用4×4的贴图,把所有的引擎贴图用这个替换的话,可以极大压缩体积。还有引擎的模块能够尽量地贴屏更多一点,到时候只选择打包替换的就可以减少体积。
       答:现在其实的确我们在计划中,是会慢慢地把一些模块做成可配置。比如说一些用不到的模块,可能以后就不用编译进去,这样会减少体积。另外一块是关于content,我们现在已经支持的下载分割,比如说你的第一关和引擎初始内容打包在初始包里面,让用户下载,玩到一半再去下载后续的内容引擎是支持的。
       作为手游很多人选择2D,2D RPG的解决方案,Epic是否有将2D骨骼精灵这样的东西加入到下一个版本的开发计划里面?
       答:我们有专门在做2D那一块技术人员,并且会从Commuity社区里面筛选意见来做开发,但是我们主要的精力还是放在比较高端的图像上面。
       现在完全开源了,在座的有哪些功能想实现或者是自己实现的,如果实现得非常好也可以跟Epic合作把这些东西整合进引擎。
       您好,我是目前使用虚幻4开发手游的cp,我们的游戏类似于韩国《Blade》的游戏,但是目前沟通的阶段发现比较严重的问题,就是虚幻4开发的手机游戏对于国产千元机的支持是比较低的,例如GPU在Mali700、600左右的机型基本上是不支持的。虽然我们基本上自己能够解决,但想问对于官方来说,         官方有没有自己的一套针对低端机的解决方案,还是说官方已经放弃了低端机的平台?
      答:Mali600系列我们是支持的,但是为了中高端效果,我们也会舍弃一些非常低端的机型,否则引擎的特点什么的也都展示不出来。
      因为国内使用虚幻4的开发商,特别是移动平台上都是参考官方的文档,但是目前来说除了虚幻4一开始发布的文档以外,到了4.8阶段,基本上文档已经没有更新了。因为没有更新,其实文档上有很多的Bug,我想问官方打算什么时候对移动平台官方文档技术支持进行更新?
      答:现在我们也意识到这个的问题,所以我们也在做一些部门间的合作,使得功能更新和文档更新尽可能保持同步。
      运行这个Demo,需要PC的硬件是怎样的?
      答:官方之前放出来的是泰坦X,但是其实在980上跑30帧是没有问题的,1080P。
      ARM:我想补充回答一下刚才Mali平台的问题,是这样的情况,因为760版的问世时间比较久,现在处于中低端,但是我们目前为止了解到的问题是,大家认为UE4的标准版在Mali上面的一些问题都是有解决方案,我们可以私下沟通一下。
      其实这些机型我们通过自己的优化确实可行,但只是想问官方有没有自己的解决方案,因为官方的决定方案肯定比我们自己的解决方案更加成熟。
     ARM:现在有一些解决方案,也是Epic和我们一起合作,但是没有摆到标准版本里面去,如果大家有这方面的需求,可以一起合作加块这个进程。另外如果CP自己能够解决这个问题,也是产品的竞争力。
     这是一个非常现实的问题,现在任何一家CP开发出来的移动产品,特别是像我们小的CP。如果渠道代理这个产品,肯定会进行平台测试,各种机型适配的测试。而他们现在测试的前10名中,有4、5个都是MaliT660的机型,所以这个问题是不能忽视的。

   看了上面的文章 热爱游戏创作的你是不是已经开始热血沸腾了呢?是不是迫不及待的想加入游戏团队成为里面的一员呢?

       福利来啦~赶快加入腾讯GAD交流群,人满封群!每天分享游戏开发内部干货、教学视频、福利活动、和有相同梦想的人在一起,更有腾讯游戏专家手把手教你做游戏!

腾讯GAD游戏程序交流群:484290331

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引