Epic Games王祢:UE4在移动平台的开发优势

时间:2022-09-15 16:46:42

  2016年3月7日--9日,由全球移动游戏联盟GMGC主办的第五届全球移动游戏大会GMGC2016在北京国际会议中心盛大举行,此次大会以“Game2.0:创新不止·忠于玩家”为主题,来自全球移动游戏及泛娱乐产业的开发商、运营商、制作商、平台商、硬件厂商、大众玩家以及相关*机构和国际产业组织齐聚一堂,共话移动游戏及泛娱乐产业的热点议题。Epic Games大中华区总经理吴灏先生接受媒体采访。

Epic Games王祢:UE4在移动平台的开发优势

  主持人:今天是GMGC第二天,很荣幸邀请到Epic Games大中华区总经理吴灏先生跟我们分享一些东西。昨天在展览区大家体验东西的那个图片都刷爆了朋友圈。第一个问题,国内VR的硬件技术跟国外比起来还有多大差距呢?

  吴灏:我并不是技术专家,我只能从我的角度来谈一下这个问题。当一个全新的技术或者一个全新的产品开始进入人们的视野,跃跃欲试进入市场的时候,通常我们必须承认中国的技术实力跟国外有一些差距,而且这个差距是非常明显的。我们从国外主流VR厂商来看他们的刷新和延迟率的数据,再看PSVR他们头戴式人体工程学技术、光学定位等等,这些都是他们在国际上首屈一指的技术,这可能是国内的VR厂商很难在短时间追上的。但中国一向是在任何一个领域里都不忌惮海外厂商走在前面,因为我们可以持续跟进他们的步伐,通过对中国市场的理解,最终设计出适合中国市场的产品。过去大家看电视机的领域、智能手机和电脑,其实都走过了这样一个路程。所以我对国内VR硬件设备将来的发展状况是持非常乐观的态度。

  主持人:从内容方面来看,以游戏为例,国内的开发者您认为他们还欠缺一些什么样的东西?

  吴灏:我觉得国内的VR开发者如果用一句话来说的话,我觉得国内的VR开发者应该更多的反学习unlearn游戏开发,在做VR内容的时候要做一个动作是反学习,而不是去学习怎么开发VR,这对国内国外开发者来说,开发VR内容都是一个全新的领域。在做一个全新领域的时候,我们发现国内很多VR开发者过去是做端游或者手机游戏的,他们有一种惯性,用过去开发游戏的一种思路和经验去开发VR内容,但这往往是错误的,因为VR是360度沉浸式体验,在戴上VR设备之后,你的整个体验跟过去不管是坐在PC电脑前面还是拿着手机互动都有颠覆性区别的,你要时时刻刻以VR体验者去感受开发是否符合生理和心里需求。国外开发者首先想到的是我要做一个idea,更多的是把过去经验放下,从一张白纸,从零点去想这个市场到底需要的是什么,你才能做出体验最好的VR内容,用这样的思路去做,做出来的内容就会让体验者少有晕眩感,让他们更享受体验VR的过程。

  主持人:您觉得VR游戏的盈利模式和手游的盈利模式有什么不一样呢?

  吴灏:这两者很难有可比性,手游是基于智能手机普及的基础,基于这样的基础做手游,特别是手机上的网游,这是浑然天成的。VR现在非常新,每个家庭每个人的VR保有量非常低,都是在专业领域和2B领域,基本上业内也有共识,VR会在2B的领域先爆发,随后在2C领域,所以商业模式有巨大区别。我个人也看好在2B领域爆发是近几年的事情,在街机游乐场,或者是国内的影城,包括万达影院,都会尝试使用VR娱乐增加单元。至于将来VR真正走入千家万户,成为2C普及产品的时候,我想它会跟目前手游盈利模式会接近一些。

  主持人:对于目前国内VR开发者来说,您能提一些建设性意见吗?

  吴灏:其实我很想说使用Epic Games的Unreal引擎。前面已经说了,VR是一个新的领域,不管是做硬件还是做内容,要充分尊重戴上VR设备体验者的感受去创造内容,同时要静下心来做高品质的内容,因为这个市场需要培育和维护,而不是初期就随随便便弄点内容去作为一个噱头,吸引用户,让他们体验一下,这是在伤害市场,我们需要呵护这个市场。

  主持人:今年的布局中会给我们的市场带来什么惊喜呢?

  吴灏:我们Epic Games中国是在去年成立的,之前做了将近十年的引擎和数据业务,我们希望后续立足中国做好这个业务,同时我们在中国设立了两个office,有一个是开发的office,我们会继续推广循环引擎在国内的使用,同时我们也希望跟国内广大的CP以及发行商,去做更深度的合作,有很多可能性。包括对VR现在的支持,我们Epic Games有一个资助计划,去年我们发出一笔资助,给了成都一家团队,顺利帮助他们融资招人扩招,最后成为一个开发团队。我们今年希望给这样一笔钱给VR团队。

  主持人:好的,非常感谢吴总。

3月9日,第五届全球移动游戏大会(GMGC)在北京国家会议中心举行。会上,Epic Games资深技术工程师王祢进行了题为《UE4在移动平台的开发优势》的演讲。

Epic Games王祢:UE4在移动平台的开发优势

以下是演讲内容实录

王祢:大家好!今天我讲的主题其实是偏移动一些。

UE4支持手游的特性,大部分编辑器里面PC上开发功能和主机上开发功能都是一致都是可以使用的,有非常丰富的编辑器。第一个,我写在这里最重要的是大家比较关心,比如材质效果,UE3时代在比较后期我们也推出了UE3对移动设备支持。当时对移动设备支持,我们在材质做了一些简化,兼容更多的设备让运行效率可控,我们当时是有一个很固定的模板,你只能在模板里填写参数。现在整个渲染的工具非常强,你在移动端也可以使用跟PC端完全一样的材质编辑器扩展各种各样的功能。

移动端的材质也是基于物理真实的,这里写的PBS的材质。这个材质有什么好处?跟以前传统的一些材质做法不太一样。你只要设置一些经验参数就可以获得跟,在各种光照环境下都跟真实比如说布料、木头、金属非常接近的效果。移动芯片性能,所以我们在移动设备上对整个模型做了简化,我写的BRDF是什么?双向的反射性物理函数,通过这样一个函数描述它的属性。虽然在移动端做了简化,依然满足了能量守恒,所以其实效果也是非常接近PC端。并且我们在最近的几个版本里面为了适配更多设备,我对这样的模板还做了更多级别的匹配,我们有更简化的模型,不带金属度的材质,完全是粗糙材质,我们可以用精简的BRDF公式计算,使得整个材质计算更精简一些。

我们手游端引擎完全支持HDR。在我们移动端是前向渲染管线,比较高效的渲染效果不太能做,依然把大量的高级的后处理效果挪到全像管线里面,这里列出了一些,由UE3比较知名的Bloom,景深,能做调色,还有屏幕空间的光线。

刚才说的图像方面的,下看看一下各个方面的支持,针对移动设备的支持,支持所有的贴图格式,PC上方便的ES2预览。Device文件和Scalability设置。为了兼容性还有非常强大的两个设置,你可以针对不同的设备,逐硬件设备或者根据你的按照GPU分类,看你的设备上需要开启哪些后处理效果,需不需要打开动态阴影质量。后面Shader模板简化设置分支,为了中低端设备做了一些更简化的Shader模板模型。

为了方便开发者来调试,我们也能用远程,在PC上起一个命令去直接出触及安卓和iOS的应用。

零用测试兼容性的时候,可以批量分布式的发布到不同的设备,并且跑各自的测试,最终收集最终跑的结果,让大家可以更方便测试整个设备兼容性。

我们跟大部分的手机硬件开发商包括芯片厂商、SOC厂商都有非常紧密的合作。我们跟高通、ARM、三星有一个演示,我们的展台也有两台S7,上面有一个技术演示非常惊艳。

根据硬件,我们跟硬件开发商合作进行优化,根据大小盒的硬件设备做现成的调整,哪些现成使用,哪些现成不使用。比如说在iOS上面把应用的次数和游戏现成截耦,来达到省电的优化。

接下来就看一下这次在S7上展示的这个演示,发布了即将发布一些移动端高端的特性。

毫无疑问大家看到这里肯定是视频,其实在我们的展台当时有很多人路过看我们的演示,开始都以为这是视频,在设备上认为是视频,不会觉得在移动设备上已经跑出惊艳画面效果,当时有好几个场景是需要手动交互,录制完的屏幕,陨石碰撞、吸引小行星之类,都是实时去交互的,在那个地方体现出来这是一段实时技术演示。这段技术演示不是完整游戏,可以体现出来你在高端设备上做效果的时候,能达到的高度。这些都是在版本中介绍。

我们来介绍一下演示里面用到了哪些一般在移动设备上不太会看到的技术。

第一,GPU粒子。大家刚刚看到的在陨石碰撞撞到内核迸发出来GPU粒子,通过场控制它移动的方向。

第二,静态阴影与CSM混合使用,CSM可选择只影响动态单位。以前CSM在移动端也支持,开销比较大,CSM对主方向光打全,以后会对所有的物体都做投影,现在我们改进成了对静态物体依然用烘焙,只对动态物体产生影响。这样就可以用比较低的成本完全非常高质量的动态投影,并且可以和静态投影融合得非常好。

第三,我们又改进了一些后处理效果,比如说现在支持电影化的tonemapper,移动端*调色,我们也改变了DoF的效果,刚开始水滴的地方做出色差的后处理效果。

另外,以前版本里面支持环境光,我们所谓的IBL,我们会用一个叫relflection把环境贴图烘焙起来,作为间接光照,以前在PC上这个光照非常完美,根据粗糙度不同的切断,移动端用了三套,你的木纹非常粗糙,你用比较高的高光反射,这个时候根据粗糙度取不同的captures贴图呈现最好的效果。

最后,画面比较惊艳的部分,全动态的反射,这个反射是基于一个平面。我们跟三星推出ProtoStar。所以会把数据总GPU读出来,放到run里面再放回去,这个过程非常消耗,在移动端做游戏,尽可能不要用后处理效果,后处理效果非常强,并且对游戏画质提升非常有帮助,为了兼顾设备性能和开销,所以大部分时候我们会关掉大量的后处理效果,这是基于硬件。

哪些状态你是要保留,哪些状态是不需要保留,这些行为都可以在GPU里面做完,不需要跟run读取存取,我们有reflection画一遍再渲染到实际画面上。动态单位可以使用reflection来渲,做出非常好的融合效果,尽可能省,我绘制动态单位比较少一点。

Vulkan提供底层显示API,图像内存资源分配,复用。更明确的rederpasses,更地层更显式的API。行为上的一致性。SPIR-V。任何一个设备声称支持Vulkan有一个一致性的规则,你一定要去通过这个审核。这样带来的好处是,当以后Vulkan标准普及以后,所有的设备从windows到安卓你看到的效果都是一致的,现在很多时候你写的是一样,但是效果差非常大,不同硬件厂商驱动没有标准。

体验ProtoStar那个演示就会有一个问题,这个演示与美国GDS版本有一个区别,那个打开时间会更长。现在这个版本,把进程杀掉,第一次打开,有一些地方会卡顿。这个问题怎么解决?Vulkan带来好处,画面很炫,不管硬件怎么样,所有编译成中间模块,使用的时候给不同的节点就可以,实时编译开销非常小,对硬件兼容性也会非常好。

Vulkan在大循环里面逐个循环内层,而不是每个东西site一遍,CPU开销非常高。这个开销非常小,你可以控制在最小的集合。

每个都有CPU开销,你不知道哪个硬件厂商对内存分配,驱动猜测不出来你要使用数据对内存做存储效率非常低下。得益于我们对Vulkan的支持,我非常看好Vulkan,并且兼容性非常好。