Unity 5.6 Beta版发布
Unity 5.6 Beta版本现已发布。包括Unity Personal个人版用户在内的所有Unity用户均可免费下载试用。最新发布的Beta版改进了编辑器和2D功能,图形性能更佳,加入新的视频播放器,并添加了对Facebook Gameroom和Google DayDream平台的支持。
期待您下载Unity 5.6 Beta版参与测试并提供反馈,帮助Unity在未来的测试周期提供更加完美的版本。
Unity 5.6 Beta版新功能
支持Vulkan - 图形性能更进一步
Vulkan是新一代图形计算API,提供了对主机和移动平台上的现代GPU进行高效的和跨平台的访问。它被设计为可以利用多核CPU来并行多个线程。这意味着提高运算速度的同时,减少了内存开销和CPU负载,使CPU可以进行其他的运算和渲染。在没有处理Vulkan API的任何细节特性的情况下,总体上可以使Unity的渲染性能即时提升高达60%。
在Unity 5.6 Beta版中,Vulkan使图形显示性能更上一层楼, 在最终发布的正式版中,Vulkan将支持Android,Windows,Linux,以及Tizen平台。
图形改进:Metal Compute,Instancing,粒子等
Unity 5.6 Beta版还包含很多图形方面的整体改进,包括粒子系统和GPU Instancing等。
使用新的“DrawMeshInstancedIndirect”函数,可以通过ComputeBuffer提供的参数使用instanced着色器绘制同一网格的多个实例。这种通过脚本渲染实例的新方式几乎没有CPU开销。
Unity 5.5支持为粒子添加自定义数据,可以从脚本和着色器中访问。Unity 5.6 Beta版扩展了粒子系统,支持在Inspector检视面板中直接配置,可以更方便地定义曲线和颜色,这样就可以通过脚本和着色器来驱动自定义逻辑。另外,模块中定义的颜色也可以使用High Dynamic Range(高动态范围),这是之前的粒子系统所不支持的。
添加了基于物理的渲染材质验证器使Albedo和Specular值在可接受的有效范围内,Albedo值也可以针对用户自定义的亮度范围进行验证。
Unity 5.6 Beta版添加了iOS和Mac OS平台上的Metal Compute支持。与Unity中的其他图形API一样,计算着色器使用HLSL语言编写,并且被转换为Metal着色语言(目前仅限Metal V1.1)。
Unity 5.6 Beta版中的动画系统支持跟踪视野位置,以便AnimatorController的状态机在切换时保持位置,避免不必要的滚动。
https://v.qq.com/txp/iframe/player.html?width=500&height=375&auto=0&vid=g0357u3ogzq
最后,Texture2D添加了EncodeToEXR选项。可以将任意HDR纹理保存到硬盘上的EXR文件中。
改善2D游戏开发流程的新功能
Unity一直致力于提供更多的2D支持,并在Unity 5.6 Beta版中发布了几个新的2D功能。
新的Axis Distance Sort能够将 Transparency Sort Mode(透明度排序模式)设置为自定义轴来解决Z轴排序问题。使用Sorting Group组件,可以在同一个Sorting Layer内将一组对象和其他对象分开来渲染。它会确保同一组下渲染的所有子对象一起被排序,这对管理复杂的场景非常有用。
https://v.qq.com/txp/iframe/player.html?width=500&height=375&auto=0&vid=k0357g1mv05
新增Outline Editor功能,Sprite编辑器窗口支持自动生成特定细节等级的曲面细分,或者手动编辑Sprite网格形状。还对2D物理进行了大量改进,包括2D Physics Casting API和新的2D Contacts API,使用新的CompositeCollider2D 可以将多种不同类型的碰撞体合并为一个组合碰撞体。
还引入了2D技术9-Slice,支持重复使用可变尺寸的图片而无需准备多个资源。它可以在更改显示尺寸时拉伸或重复特定图像区域,是一种仅需很少的纹理内存即可快速创建游戏平台或背景的技术。
2D碰撞体的粒子碰撞代码使用新的SIMD库进行完全重写,有了显著的性能提升。
支持4K高清和360度视频播放器
Unity 5.6 Beta版以性能为考量,开发了一个全新的视频播放器。该播放器支持360 VR视频,能够流畅地播放4K视频,同时保持了多平台的特性,可以在编辑器(Editor)以及目标构建平台上使用。它为相当广泛的平台提供了H.264/AAC的硬件级支持,在H.264/AAC不可用或被手动禁用时也可以使用VP8/Vorbis软解实现,未来还会添加更多解码器(Codec)支持。该视频播放器简单易用,仅需在游戏对象上添加组件即可在场景中播放视频,提供360度的沉浸式互动视频体验。您可以在Unite 2016的Keynote主题演讲中看到该播放器的Demo。
https://v.qq.com/txp/iframe/player.html?width=500&height=375&auto=0&vid=t0357pt9m8v
Unity Collaborate多人协作新功能
首先为还不熟悉Unity Collaborate多人协作的人做一个简单介绍:它是一个云端服务,可以让小型团队保存、分享以及同步他们的Unity项目,保证成员能够随时更新。它方便易用,团队中的所有成员都可以参与项目的开发,不受位置和角色的束缚,显著地提升了工作效率。
我们基于早期Beta版本的测试反馈,添加了一些呼声最高的功能例如Partial Publish(部分发布),即允许用户选择性地发布文件。在之前的版本中,您必须一次性地推送所有已修改文件。
使用忽略配置文件(Ignore File),您可以忽略掉工程中不希望被发布的文件和目录。新的回滚特性(Rollback)仅需几次鼠标点击即可将工程会退到某个具体的历史版本。
Unity性能报告现已支持iOS
Unity Performance Reporting性能报告拥有跨设备跨平台收集应用程序错误信息的能力,因此您和您的团队可以更方便地实时定位错误。Unity 5.6 Beta版本中的性能报告(Performance Reporting)可以捕获并汇报iOS游戏中的崩溃信息。将来还会为更多平台提供支持。您可以随时在Unity项目中尝试使用Performance Reporting性能报告服务:无需任何编码,仅需在服务(Service)窗口中打开“Performance Reporting”开关即可。
Google Daydream & Cardboard VR 支持
Unity 5.6 Beta版原生支持Google Daydream平台。为了让平台性能最佳且延迟最低,整合了Daydream NDK来改善Daydream平台的异步投射(asynchronous reprojection)以及VR性能模式的体验。
与Google I/O上发布的Google VR SDK for Unity相比,Unity 5.6 Beta版拥有更简化的工作流,大量的性能优化以及显著的延迟降低。无需任何Prefab、脚本或设置,仅需启用VR并将Daydream设置为目标构建平台即可开始您的虚拟世界创作之旅。
此版本为VR模式做了特殊优化,您可以快速打开或关闭VR模式,以便获取更多的Google VR用户。并且提供了Google Cardboard原生支持,您可以将构建平台设置为Google Cardboard,设置后工程就可以支持一些型号较老的设备,以便获得更多的用户。目前Cardboard仅对Android开放,iOS Cardboard将在未来的版本中支持。
支持Facebook Gameroom
Facebook的Gameroom带来了更便捷的游戏开发体验,方便开发者将高质量的游戏带到PC平台上来,同时充分利用和挖掘CPU及GPU的潜力,创造出引人入胜的PC游戏。
您可以使用新的Beta版本将工程部署为Facebook Gameroom Windows桌面端程序,或利用Unity的WebGL平台支持部署在Facebook网站上。
Unity已为您准备好一切,从内容分享到应用内购——您甚至可以在Unity编辑器中直接将程序上传并托管在Facebook上。
可视化调试物理
有时很难得知场景中的哪些物体是否应该带有碰撞行为,尤其是在渲染器(Render)和碰撞体网格并不同步的情况下。为了帮助您快速检查场景中几何体的物理碰撞信息,Unity 5.6 Beta版提供了一个新的调试视图模式。它可以为Unity场景中物理中间件的行为提供一种“直观”的参考,能够让您快速地找到相关的碰撞体。它还可作为性能分析工具,因为它可以隐藏所有非激活状态的刚体,也能将所有凹面网格碰撞体(concave MeshCollider)显示出来。
公开物理反穿透(Depenetration)函数
Unity 5.6 Beta版公开了两个新的函数:Physics.ComputePenetration 和 Physics.ClosestPoint,可以用来编写反穿透(Depenetration)函数。当您需要编写角色控制器,或需要对某些物体和周围碰撞体交互进行额外控制时,这些函数将会带来很大的帮助。调用这些函数之前不需要执行任何其他操作,因此它可以节省更新空间查找结构带来的性能开销。
这里有一个移动的球体和一个静态的胶囊体。可以很明显地看到球体在移动的时候和胶囊体发生了重叠,同时还有一条红色的射线。该射线以球体的中心为起点指向一个方向,这个方向便是球体需要移动的方向,通过向该方向移动,球体就可以完全和胶囊体分离。
Unity 5.6即将发布的功能
还有一些没有包括在该Beta版本里但在Unity 5.6开发计划中的新功能。最瞩目的当属新的Progressive Lightmapper(渐进式光照贴图),它能够加快版本的迭代速度,并使预计烘培时间成为可能。
在发布Unity 5.0时将Beast替换为Enlighten以同时支持烘焙和实时全局光照(GI)系统。新的光照贴图烘焙内建解决方案基于业界内领先技术,它能极大地提高烘焙性能、健壮性更强,同时不易产生瑕疵。
Progressive Lightmapper(渐进式光照贴图)极大地提升了场景光照烘焙工作流程,同时还提供了预估时间进度条,方便对烘焙所需时间的掌握。
如需了解更多有关Progressive Lightmapper(渐进式光照贴图)信息,请参阅Unity 2016的Keynote主题演讲。
Unity 5.6会在Beta 2中添加灯光模式(Light Mode)。灯光模式将代替混合(Mixed)模式光照,为烘焙阴影和实时阴影的合并提供一种更灵活高效的方式。它还提供了烘焙阴影遮罩(Shadow Mask)的能力,能够带来无缝的“past realtime shadow distance”阴影。其最终结果是极大缩减了实时阴影距离,同时带来显著的性能提升。所有光照类型和渲染路径都支持实时阴影的淡出。
此外我们重新设计了光照视图窗口,新的窗口更易用,同时带有新的光照浏览器(Light Explorer)窗口,提升光照设计师的工作效率。
后续计划
Unity 5.6会是Unity 5.x的最后一个版本,接下来将是Unity 2017。想了解关于Unity 5.6在Unity 5开发周期中的所有细节,Unity 2017的计划,以及更多新版本信息和相关视频,请点击[阅读原文]。
Vision VR/AR Summit Asia 2016 Keynote精彩总结