详解Unity5.0新特性
在去年北京站大会上,Unity大中华区技术总监刘钢博士分享了Unity 5.0的新特性,以下是根据会场上的内容整理而成的文字分享。
对于Unity 5.0而言,有若干项重大的技术革新,主要包括Light Baking Previews以及对Cloud等的支持。
Enlighten
1. 光照系统概述
Enlighten是著名游戏大作中常用的光照系统,也是目前业界唯一一款能在PC和移动平台上实现实时全局光照的引擎。它可以对运动光源、发光材质、环境光照采用动态实时的方式进行控制。其基本原理基于全局辐射度算法,能够实时计算Lightmaps(光照贴图)和LightProbes(光照探针)。通过从底层API层面进行结合,在使用Enlighten时,用户不会觉得它是第三方插件,而是Unity引擎内部嵌入的核心功能。
2. Physically Based Shading技术
前文提到的LightProbes技术,其中的Physically Based Shading(基于物理的着色)源自原生项目。该技术将原本仅在内部针对单个项目的集成全线引入到Unity引擎中并作为最终产品发布。Physically Based Shading遵循能量守恒理论,能让场景中的光源依据能量传递方式产生自然和谐的光照效果。对于相应的材质,还可以采用BRDF(双向反射分布函数)材质,实现实时光照渲染。
3. Lightmaps实时预览
对于从事Lightmaps相关工作的美工来说,实时预览Lightmaps的效果是非常有意义的。Unity 5.0引入了一个中间件,它能以接近实时的速度烘焙Lightmaps。Unity 5.0在业界首次实现了在编辑器中集成中间件,并在编辑过程中对光照图进行预览。这使得Unity的操作人员可以实时看到场景中的光影对当前场景的影响,实现所见即所得的编辑操作。实际上,该中间件在后台还能进行高精度渲染。
Unity Cloud
目前全球有超过5亿次的Unity安装量,如何从中获取更多商业利益是业界人士一直思考的问题。Unity Cloud是在这方面的首次尝试和探索,简单来说,它是Unity内嵌植入广告的解决方案,未来还会提供更多基于云服务的内容。
1. 具体功能及优势
Unity Cloud的一个重要功能是在游戏过程中免费植入全屏广告。其带来的直接好处有两点:
- 交叉推广:不同游戏之间可以相互推广,在自己的游戏中弹出页面推广其他游戏,实现游戏玩家的交叉推荐。
- 广告位出售:每一款游戏都可以利用Unity Cloud提供的功能出售游戏中的广告位。在游戏过程中引入第三方广告,甚至是Unity Cloud从全球客户中搜集的广告作品,从而实现盈利模式。过去在Unity游戏中集成此类功能操作繁琐,现在只需在Unity游戏中嵌入两行代码即可实现。
2. 商业前景
Unity已经与世界上多家大型游戏开发公司和著名设计者合作,吸引了庞大的用户群。可以预见,未来某一天Unity Cloud或许会成为每个游戏发行商重要的盈利渠道,甚至比在一些Store上销售单个游戏作品更具商业价值。
WebGL Support
过去,在促使用户安装插件的过程中会导致部分用户流失。2012年Unity刚进入中国时,很多游戏厂商抱怨,当插件弹出要求用户安装时,只有约30%的用户会点击安装,而安装后继续玩下去的用户仅占15% - 20%,这对游戏推广造成了很大问题。随着近年来Unity服务和技术支持的不断提升,该问题不再是主要困扰。
从技术角度来看,基于WebGL Support可以实现无插件情况下,用户在网页上流畅运行任何一款Unity游戏,包括高端大型网页游戏。Unity支持将游戏作品导出到相应平台,为游戏和应用推广提供了良好的技术条件。
此外,基于WebGL无插件运行的游戏运行效率较高,例如之前制作的一款游戏就可以在网页上流畅运行。新的音频系统可以在Play Mode(播放模式)下调整各种应用参数,方便在试玩游戏时调整音效,实现音频效果的改进和提升。
64位的编辑器
很高兴地宣布,Unity 5.0版本将推出64位的编辑器。如今很多操作系统已进入64位时代,而此前Unity的编辑器一直是32位,现在正式开始支持64位CPU。
在物理引擎方面,Unity 4.0时代集成的是PhysX 2.x版本,而在Unity 5.0中首次集成了3.3版本,使物理性能提高了约2倍。
其他新功能
1. 性能分析与打包
Unity 5.0支持在每一帧中查看兆赫数量,并分析哪些地方消耗的兆耗最多。同时,还会提供方便的技术脚本用于打包,便于程序员进行游戏发布。
2. 非等比例缩放优化
从5.0版本开始,针对非等比例缩放时的性能损失问题进行了优化,基本可以在无损失的情况下支持对模型进行非等比例缩放。此外,在导航网格、APP Store的速度等方面也有新的集成。