Notifications
Article
Unity 2019.1正式版功能介绍(1)-平台
Published a month ago
207
0
广受期待的Unity 2019.1正式版现已发布,这是Unity 2019第一个技术前瞻Tech版本。未来几周,我们将发布Unity 2018.4 LTS长期稳定支持版本,帮助开发者在坚实的基础上开发稳定的作品。
Unity 2019.1加入了超过283项新功能和改进内容,包括:Burst编译器、轻量级渲染管线LWRP、Shader Graph着色器视图等多项脱离了预览阶段可用于正式制作的新功能。
Unity 2019.1添加了不少面向动画,移动开发和美术的新功能,以及多项简化项目工作流程和编辑器工作的更新内容。
受篇幅限制,本文我们将为大家介绍以下内容:
  • Unity 2019.1的重点功能及改进的概要功能。
  • Unity 2019.1平台新功能及改进。包括:移动平台、AR/VR平台、WebGL、Linux平台、主机平台、桌面平台。
下载Unity 2019.1正式版:https://unity3d.com/get-unity/update

重点功能和改进概要

图形和光照
在Unity 2018.1中加入了可编程渲染管线SRP和Shader Graph着色器视图的预览版本。在Unity 2019.1中,这二项功能已经脱离预览版本,推荐使用轻量级渲染管线LWRP和Shader Graph着色器视图用于正式制作。
Unity 2019.1为艺术家带来了GPU光照贴图功能(预览版)的许多功能和平台支持,以及对高清晰渲染管线HDRP(预览版)和Post-Processing Stack后期处理特效包的大量改进。
下面的视频《异教徒》是Unity Demo团队在GDC 2019大会上展示的新短片。该演示使用Unity 2019.1制作,利用了Unity的可编程渲染管线SRP架构。
通过使用最新版高清晰渲染管线HDRP和集成的Post-Processing Stack后期处理特效包,Unity Demo团队模拟出物理摄像机的逼真影视级效果,在实时环境进行渲染。

艺术创作工具
我们持续关注艺术创作工具。在新版本中,我们加入了Runtime Animation Rigging运行时动画绑定,它将帮助艺术家更好的控制动画艺术效果。
我们对音频、视频、DCC和世界构建工具进行了更新。Timeline现在是一个经过验证的资源包,新的Timeline Signals信号功能提供了简单方法让Timeline交互场景对象。
移动平台和其它平台
Unity 2019.1面向移动平台进行了大量改进,其中应用程序增量包更新功能,让开发者不必重新构建,便可在开发阶段更快速进行迭代。
我们加入了Adaptive Performance移动平台自适应性能功能(预览版),它提供关于热量趋势的数据,包括:游戏在运行时是CPU绑定还是GPU绑定的信息,以便开发者进行调试,并改进常见移动游戏开发的工作流程。
最后,适用于Linux系统的Unity编辑器正在预览阶段。
性能和开发工具
我们正在开发支持高性能和多线程处理的面向数据技术栈DOTS,其中Burst编译器在Unity 2019.1脱离预览阶段。
DOTS的相关工具已经在创作《Megacity》演示项目中大显身手,仅用时二个月,DOTS团队和FPS示例项目的二名艺术家就创作出了未来风格的城市景观。
《Megacity》完整项目现已正式推出,你可以进行下载:https://unity.com/megacity
通过和Havok进行合作,我们为Unity内基于DOTS的项目提供了完整的物理系统解决方案。我们进行了其它改进,包括:可点击的堆栈追踪链接,它会根据堆栈中列出的函数调用,指向相应代码行,基于文本的搜索工具会筛选控制台条目。
我们还加入了全新的Incremental Garbage Collector增量式垃圾回收功能,该功能处于实验阶段,用于替代已有的垃圾回收功能。

工作流程改进

我们希望在运行时有出色的性能,但在编辑器工作时,高性能也同样重要,因此我们一直专注于改进工作流程。
通过Shortcut Manager快捷键管理器,我们加入了交互式可视化界面和一组API,使开发者能够轻松管理编辑器的热键,把它们指定给不同的使用环境,并且在一个界面可视化已有键位绑定。
通过使用全新的SceneVis场景可视化控制功能,我们可以在场景视图快速隐藏和显示多个对象,不必修改对象在游戏内的可见性。你现在还可以使用UI元素来扩展编辑器。

Unity 2019.1平台新功能

移动平台

Mobile Notifications(预览版资源包)
Mobile Notifications移动通知预览版资源包帮助开发者实现留存机制和基于计时器的游戏过程,对iOS系统和Android系统添加支持用于调度本地可重复或单次通知。
请注意:该功能对系统的要求为iOS 10或Android 4.1以上版本。
Mobile Notifications移动通知以资源包的形式提供,了解更多信息:https://docs.unity3d.com/Packages/com.unity.mobile.notifications@latest
Adaptive Performance(适用于三星)
移动开发人员面临的一大挑战是构建既画面精美又运行流畅的游戏,而且不能透支硬件性能,导致瓶颈情况,产生较低的不稳定性能并缩短电池寿命。
扩展电池寿命和减少热量可以让玩家有更长的游戏时间,从而提升用户留存率,使游戏更加成功。和PC或主机平台不同,利用移动平台硬件要求有精妙的平衡,不然透支设备的性能会很快降低游戏性能。
为了解决这些问题,我们与三星进行合作,基于三星的GameSDK构建Adaptive Performance自适应性能功能,它会首先适用于Samsung Galaxy系列设备,例如:Samsung Galaxy S10和Galaxy Fold。
了解详情,请阅读《Adaptive Performance:高品质画面呈现与流畅稳定帧率的二者兼得》。
使用Unity Hub安装Android SDK和NDK
Unity Hub现在提供安装所有Android所需组件的选项,作为“Android Build Support”选项的一部分,开发者可以获取正确的依赖关系,而不必收集和安装其它内容。如果你是一位高级Android用户,你仍然可以手动安装和配置组件并使用Android Studio。
请注意:从Unity 2018.3开始,“Android Build Support”会自带基于OpenJDK的Java运行时。
Android Logcat集成(预览版)
Android Logcat工具包是一个在Unity编辑器显示Android设备日志信息的实用工具,它兼容Unity 2019.1,可以通过在Unity控制和筛选信息来轻松进行调试。
使用Scripts Only Build提升迭代速度
为了在开发过程中实现更快的迭代,Unity编辑器提供了Scripts Only Build选项,你可以跳过构建过程中的多个步骤,仅重新编译脚本,然后在选择“Build And Run”后,构建最终资源包并进行部署。
我们在Unity 2019.1中扩展了这一功能,现在该功能可以在目标设备批处理适用Android的APK文件,而不会重新构建和部署版本。因此在迭代C#代码时,只有重新编译的代码库会发送到设备。
请注意:在Unity可以执行“Scripts Only Build”前,必须提供项目完整的构建版本。

AR/VR平台

AR Foundation
AR Foundation帮助Unity开发者快速开始构建AR项目。你可以在自己的AR体验选择要加入的功能,只需构建一次,就能同时部署到支持ARKit和ARCore的设备。
AR Foundation以资源包的形式在资源包管理器提供,它把ARKit和ARCore的底层API结合到同一个框架中,包含额外功能以帮助开发者应对AR开发的最大挑战。
AR Remote(预览版)
AR Remote允许你在设备和Unity编辑器之间传递数据,不必在每次测试功能的时候把项目构建到设备上。
AR Remote包含Session Recording & Playback会话录制和回放功能。它可以录制设备上的会话过程,在编辑器进行回放,以实现高效的应用程序测试过程,并迭代预览效果。
手持式AR示例项目
手持式AR示例项目已经发布。该项目的场景、预制件和辅助组件都基于AR Foundation开发,用于展示如何处理平面预览、对象放置等功能。
手持式AR示例项目介绍如何使用轻量级渲染管线LWRP和AR Foundation。它包含所有开发时需要的组件,使开发者可以快速构建和运行自己的AR项目。
下载手持式AR示例项目:https://github.com/Unity-Technologies/arfoundation-samples

图形改进

LWRP支持AR和VR
AR Foundation对轻量级渲染管线LWRP的支持以预览版资源包的形式推出,让开发者为AR体验使用LWRP。
在新版本和LWRP最新资源包中,开发者可以利用Shader Graph着色器视图和LWRP的性能优化功能来为Unity支持的所有VR平台构建VR体验。
立体渲染模式回退功能
当目标设备不支持立体实例化时,立体渲染功能会自动回退为单通道渲染。开发者可以安全地使用更高效的Stereo Instancing立体实例化渲染模式,不必担心特定设备的图形API是否支持该模式。在此前版本中,立体渲染模式会回退为多通道渲染。
立体实例化的后期处理支持
在Unity 2019.1和最新后期处理特效包中,所有对VR可见的后期处理效果都适用于Stereo Instancing立体实例化渲染模式。

对Magic Leap的内置支持

构建到Magic Leap One的支持现在已经加入Unity 2019.1,这意味着开发者不必为了Magic Leap开发而使用特定的技术预览版Unity,只要使用Unity 2019.1就可以了。

WebGL

在Unity 2019.1中,WebAssembly是Unity WebGL的默认输出格式。asm.js已经从编辑器UI移除,它在Unity 2018.3中被弃用。为了应对这些改动,专用于asm.js格式的“Use PreBuilt Engine”构建选项也已不再可用。
WebGL Player Settings也得到了更新:Linker Target链接目标被设为WebGLLinkerTarget.Wasm,Memory Size内存大小设为32MB,二个选项已经从编辑器UI移除,但开发者仍可以通过编辑器脚本修改这些设置。
在Unity 2019.1中,我们加入了实验性WebAssembly多线程处理,它可以通过PlayerSettings.WebGL.threadsSupport启用。

针对Linux系统的Unity编辑器(预览版)

针对Linux系统的Unity编辑器正处于预览阶段,开发者可以从Unity Hub获取最新版本。将Linux系统上的Unity编辑器从实验阶段转为预览阶段意味着,我们在2019年底前将实现完全支持的版本。
我们会优先支持以下配置的Linux系统:
  • Ubuntu 16.04和Ubuntu 18.04
  • CentOS 7
  • x86-64架构
  • 基于X11视窗系统的Gnome桌面环境
  • NVIDIA官方专用图形驱动程序和AMD Mesa图形驱动程序
  • 运行在设备或硬件上而且不必使用模拟或兼容层的桌面型号
建议你使用以上列出的支持配置,以获得最佳开发体验。

主机平台

Async Compute异步计算改进
我们改进了主机平台上Async Compute异步计算的支持,现在允许更大范围的Command Buffer脚本函数作用于针对异步计算队列的Command Buffer,例如:设置全局着色器数据的函数,或管理临时渲染目标的函数。
我们针对异步计算队列的Command Buffer改进了错误处理功能,如果使用了无效的Command Buffer脚本,该功能会立即进行反馈,这样可以让开发者的调试过程更轻松。
PlayStation 4上链式处理和串联处理
对于Command Buffer链式处理和串联处理,我们优化了工作内容提交到GPU的方法,特别是对于本地图形作业,此前的方法会产生少量GPU开销。

桌面平台

通用Windows平台的ARM64支持
我们为ARM64设备添加了UWP支持,只需为目标架构先选择ARM64,然后部署到基于Windows的ARM64笔记本电脑即可。
分辨率显示窗口
根据用户数据和客户调查得到的反馈,我们在Unity 2019.1默认“禁用”Display Resolution Dialog分辨率显示窗口,你可以在项目设置中通过Display Resolution Dialog下拉菜单启用它。你可以在Player,Resolution和Presentation,以及Standalone Player Options分组找到它。

小结

我们将在下一篇中介绍Unity 2019.1引擎核心功能的更新,包括:面向数据的技术堆栈DOTS、Megacity、基于DOTS的物理系统、PhysX改进、IL2CPP、Profiler性能分析器、ScriptableObjects可编程对象的重载等相关内容,敬请期待.
更多Unity技术文章分享,尽在Unity Connect平台(Connect.unity.com)。
Tags:
Unity China
591
Comments