Unity 2019.3 Beta版发布
Unity 2019周期的最后一个Beta版本Unity 2019.3 Beta版现已发布。该版本带来了一些新功能和改进,以及重新设计的UI界面。
请下载Unity 2019.3 Beta版,了解最新功能、体验全新的输入系统、Universal Render Pipeline通用渲染管线中的后期处理功能、物理更新、更快的编辑器内迭代过程,以及Unity光线追踪功能。
本文将介绍Unity 2019.3 Beta版的重点新功能与改进,了解完整的发布日志,请访问:
https://unity3d.com/unity/beta/2019.3.0b1
下载Unity 2019.3 Beta
请使用Unity Hub下载Unity 2019.3 Beta,选择Installs > Add Latest Pre-Releases即可找到该版本。
我们希望收到用户的反馈,从而确保我们可以在Unity 2019.3正式版发布时提供最好的Unity版本。
此外,我们希望用户尝试通过DXR API实现的全新光线追踪功能,它可以在高清晰渲染管线HDRP中使用。
Unity 2019.3 Beta版的测试用户还将有机会赢得NVIDIA GeForce RTX 2080显卡。
编辑器更新
重新设计的编辑器UI
Unity 2019.3 Beta版的编辑器UI具有统一的图标,可以更清晰地传递信息,并提供完整的高DPI支持。
新UI加入Inter字体,具有更好的可读性,并且可根据不同UI和显示器类型进行缩放。我们还为悬停状态控制提供了可视化反馈,提高了UI的可用性,让UI拥有更好的响应效果。
下图为重新设计的编辑器UI,增添了许多可用性和可视化方面的改进。
新的Enter Play Mode选项
我们在Project Settings > Editor > Enter Play Mode Options中添加了实验性功能Enter Play Mode选项。这些选项允许用户在项目未发生代码变更时,在Enter Play Mode进程禁用域和场景的重新加载。
这样可以让用户更快地制作原型和迭代。根据我们的测试结果,这项更新可以为用户节省50-90%的迭代时间。
如果希望在进入运行模式前重置游戏状态,用户也可以通过API和回调使用该功能。
下图中为使用Enter Play Mode选项取得的测试结果,测试的项目分别是:一个AA级成品游戏、Unity的FPS示例项目、《Megacity》演示项目和空白项目。下图展示了编辑器进入运行模式所需的时间,数字越小,效果越好。
核心功能
AssetDatabase Version 2
我们将AssetDatabase的Version 1管线替换为了Version 2,该版本具有资源依赖跟踪功能和其它改进,为更加稳定高效的可扩展管线建立了基础。
我们还加入了新的实验性功能,你可以在AssetDatabase中保存多个修改版本,从而大幅改进平台的切换过程,并能够更好地替换之前导入的不同版本资源。
其它实验性功能包括:根据需要导入资源,把资源导入过程作为后台进程等。这些功能将在Unity 2019.3 Beta开发周期加入。
可寻址资源系统
新版可寻址资源系统提供新的Scriptable Build Pipeline可编程构建管线,为用户提供了一种通过“地址”加载资源的方式,并通过简化内容的创建和部署,控制资源管理过程的开销。
了解更多详情,请阅读:《可寻址资源系统介绍》。
序列化引用和多态数据
新的SerializeReference属性可以把C#的类序列化为引用,而不是序列化为数值类型。这意味着可以使用POCO即简单传统C#对象来进行引用,从而简化了表示和管理图,树等数据结构的代码。
SerializeReference属性还支持让字段包含多态数据,例如:类型为List<IAnimal>的列表可以包含狗的类,即class Dog : IAnimal{}和猫的类,即class Cat : IAnimal{}。
最后,标记了序列化成引用的字段可以表示空值。这与标准行为相反,在标准行为中,如果对空字段进行序列化,则会使用相应类型的默认构造函数进行反序列化处理。
物理更新
PhysX库从v3.4更新到v4.1版本。其中包含新的Temporal Gauss-Seidel解算器,它能够让关节更好地抵抗过度拉伸情况,并且避免在模拟过程中出现的不稳定行为。启用新的解算器,请点击Project Settings > Physics。
我们公开了的新Broad-phase Automatic Box Pruning碰撞检测算法,它是现有Multi-Box Pruning算法的升级版本,可以自动计算世界边界和分区数量,
此外,我们对桌面平台提供了速度更快的网格Mid-phase算法。该算法不需要构造任何资源开销较大的加速结构,例如:R-Trees,因为使用该算法可以减少MeshCollider的实例化时间。
我们添加了一个新的API,允许为MeshCollider延迟烘焙网格。你可以把计算量较大的网格烘焙过程改在加载画面或过渡场景中进行,例如:冒险游戏中的对话场景。这个API对线程是安全的,因此你可以从主线程外调用函数,包括:通过C# Job System进行调用,从而同时烘焙多个网格。
了解更多详情,请阅读NVIDIA的《PhysX 4.1 SDK Guide指南》中的“Migrating from PhysX SDK 3.4 to 4.0”部分:
https://gameworksdocs.nvidia.com/PhysX/4.1/documentation/physxguide/Manual/MigrationTo40.html
下图为通过在所有可用内核之间的分配负载,我们可以减少实例化MeshColliders所需的时间。
创作工具和技术
资源包管理器改进
资源包管理器也有一些变化和改进,例如:现在可以通过URL,安装来自Git代码库的资源包。
我们现在可以通过资源包管理器,直接管理Asset Store资源商店的资源合集。该视图的使用方法类似Asset Store资源商店个人账户中的My Assets视图,你可以在此为项目导入自己所需要的内容。
下图展示从资源包管理器下载和导入自己的资源。
动画绑定功能更新
在Unity 2019.3 Beta版中,可以在Timeline中预览动画的绑定效果和关键帧,以加速迭代过程,并充分利用Timeline的工具。
这样可以实现强大的多轨道分层动画工作流程,动画师可以通过使用Unity 2019.3,混合多个剪辑和动态绑定重写,从而创作出独特的动画。
这些工具也可以用来组合具有多个角色,物体和摄像机的影片序列,而且能够使用Animation Rigging资源包的绑定约束来修改动画剪辑。
下面展示了Timeline上的多轨道分层动画工作流程。
地形更新
在Unity 2019.3 Beta中,你可以在地形上创建孔洞,从而更容易制作出洞穴,水井和战壕等地形。该功能可以和其它Unity功能系统无缝结合使用,例如:物理,导航网格和光照贴图。开发者可以通过脚本访问地形孔洞数据,实现自定义地形逻辑。
使用Paint Surface Mask工具,选取笔刷,然后在地形上像绘制材质那样绘制孔洞即可。
粒子系统的C# Job System支持
现在我们可以使用C# Job System控制粒子数据,不必在脚本和本地代码之间复制数据,新版本也包括对Burst Compiler和Jobs依赖的支持。
图形更新
本文,我们将重点介绍Unity2019.3 Beta部分图形功能,包括对高清晰渲染管线HDRP和通用渲染管线进行了大幅改进。
在Unity 2019.3中,轻量级渲染管线LWRP已经改名为通用渲染管线,通用渲染管线加入的全新后期处理功能带来了更好的性能和效果。
通用渲染管线改进
通用渲染管线适用于任意Unity目标平台,能够为用户提供最佳性能。我们为通用渲染管线重新设计了后期处理功能,现在该功能直接集成到管线之中,提供更高效的性能。
通用渲染管线的后期处理功能包括:抗锯齿、景深、摄像机动态模糊、Panini Projection效果、泛光、镜头畸变、色差、颜色分级、色调映射、晕影、胶片颗粒和8位抖动效果。
下图是通用渲染管线的部分后期处理效果。
类似HDRP中的后期处理功能,通用渲染管线的后期处理功能也使用了CoreRP着色器库的体积框架,这意味着该功能现在支持体积功能。
我们把通用渲染管线正向渲染器的Light Limit光线限制提高到256个可见光线,但由于移动项目的光线限制是32,所以这项改动不适用于移动项目,通用渲染管线最多可以处理8个Per-Object光线。
HDRP中的光线追踪
HDRP资源包中的DXR API(预览版)为高清晰渲染管线HDRP而设计,DXR API主要面向工程和建筑行业的应用程序。
其中一些实现的功能包括:定向阴影、区域阴影、GI、反射和透明效果。
在Unity编辑器中,你可以通过使用API,找到光线追踪着色器和光线追踪加速结构,从而能够创建,构建和更新结构,并分派和绑定着色器的属性。
光照更新
在Unity 2019.3 Beta中,我们可以合并来自不同加载场景的光照探针,从而更容易处理被分为较小块的大型场景的光照。在所有附加场景加载完成后,通过使用简单的API调用,就可以获取场景中渲染器使用的所有已加载探针。
渐进式光照贴图的主线程性能得到了极大的改进,使在烘焙时能够实现更流畅的编辑器交互。
在进入光照贴图预览场景模式后,新的Lighmap Exposure设置会显示为场景视图的小滑块,这将有助于用户更好地评估不同的HDR光照贴图。Lightmap Preview窗口中也有相同的滑块。
我们为CPU光照贴图添加了光源功率的采样功能。我们不会对每个光线投射阴影射线,那样会影响部分光照贴图的体素,而是会根据概率挑选最适合的光线进行投射,这样可以发射更少的射线,降低噪声,并提高烘焙的性能。
渐进式光照贴图添加了两个新的光线形状,它们对应着HDRP的方块光线形状和聚光灯的椎体光线形状。两个形状都可以完全烘焙,或作为支持阴影遮罩的混合光线来使用。
高清晰渲染管线HDRP和通用渲染管线中的烘焙光照贴图现在都支持内部聚光角度。
我们在GPU光照贴图(预览版)添加了两个功能,使GPU光照贴图有更多的CPU光照贴图对应功能。新加入的子网格支持可以通过多个网格的渲染器,提供正确的GI响应。GPU光照贴图现在使用和CPU光照贴图相同的采样算法。
在一些场景中,我们很难使用光照探针实现平滑的光照。现在光照探针支持更灵活的采样数量,能够在有发光效果的场景或其它复杂光照条件下,提高探针的质量。
渐进式光照贴图现在包含AMD Radeon Pro Lightmap Denoiser降噪器。
平台更新
新输入系统
我们发布了新输入系统的预览版本,它允许你使用任意输入设备来控制Unity内容。和旧输入管理器Input Manager相比,新的输入系统更加强大而灵活,具有更高的可配置性。
下图展示新输入系统允许你轻松映射任意控制类型到游戏操作。
Unity Runtime Library运行时库
现在,我们可以把Unity提供的功能直接加入到原生移动应用中。这些功能包括:3D/2D实时渲染、增强现实、2D迷你游戏和3D模型等。
我们可以把Unity运行时组件和内容集成到原生平台项目。Unity Runtime Library公开了控制功能,从而在原生应用中管理加载,激活和卸载的时间和方式。
了解更多详情,请阅读:《在原生iOS或Android应用中将Unity作为库使用》。
下面是将Unity渲染功能集成到原生iOS应用的示例。
根据需要进行渲染
这项功能允许你独立于其它子系统控制渲染循环,这意味着用户会有更多控制功能来降低电量消耗,并避免出现CPU热量节流情况。
下图展示了全新的OnDemandRendering API可以在运行时改变渲染频率。
服务更新
Remote Config远程配置
Remote Config远程配置预览版资源包是一种全新的云服务,为实时内容创作和远程配置提供支持。
我们对Remote Config远程配置加入了下列功能:
完全兼容任意分析平台。
无状态用户细分和实时目标选取。
通过编辑器或API构造全栈式远程控制功能。
支持功能标记和分阶段部署过程。
在下图用例中,我们可以启用或禁用事件,测试游戏中限定版活动礼包的价格,并替换资源模型,创建具有节日氛围的环境。
赢取NVIDIA GeForce RTX™ 2080显卡
通过参与Unity 2019.3 Beta版的测试过程,你将有机会赢取NVIDIA GeForce RTX™ 2080显卡。
获得抽奖的方法是:寻找并汇报Unity 2019.3 Beta版开发周期中至少一个尚未发现的Bug,并在报告内容中添加“#Beta2019Win_NVIDIA”标签。
抽奖活动于8月27日上午00:01开始,Bug报告的截止提交时间为10月28日晚上23:59。参与抽奖活动不必购买Unity付费版本。
请注意:提交的Bug必须在此前从未被发现过,并且需要能够由Unity开发人员进行重现和确认。
Unity Beta program
只需从Unity Hub下载我们的公开Beta版本,就可以尝试使用到以上所有新功能和改进。
通过加入公开Beta测试,你可以在最新的Unity TECH版本发布时,确保自己的项目可升级到最新版本。你还可以帮助我们找到并修复Bug,让我们一起为Unity社区提供最高质量的软件。
了解如何成为一名合格的Unity Beta版测试人员,请阅读《Unity测试人员指南》:
https://forum.unity.com/threads/a-guide-to-being-an-effective-beta-tester.402777/
小结
Unity 2019.3 Beta版的主要新功能与更新为大家介绍到这里。我们将在9月23日-26日举办的Unite Copenhagen大会,为Beta测试用户举办多个特别的活动,如果你想了解新功能的更多信息,并与其背后的开发团队进行交流,请不要错过。
下载Unity Connect APP,请点击此处。 观看部分Unity官方视频,请关注B站帐户:Unity官方。
请点击[阅读原文]访问Unity答疑专区留下你的问题,Unity社区和官方团队帮你解答:
Connect.unity.com/g/discussion
推荐阅读
喜欢本文,请点“在看”