Unity 6 预览版现已发布

NANCY LARUE / UNITY Sr Product Marketing Manager
May 1, 2024|24 最低
Unity 6 预览版现已发布
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

我们非常高兴地宣布 Unity 6 预览版正式发布,您今天就可以下载了。Unity 6 预览版(原名 2023.3 Tech Stream)是我们今年年底推出的 Unity 6 开发周期的最后一个版本。

在去年 11 月的 Unite 大会上,我们宣布将更新我们的命名规则(您可以在本论坛帖子中阅读有关这些更改的更多信息)。

Unity 6 预览版的结构与技术流发布版相同。这是一个受支持的版本,可让您在处于探索或原型设计阶段的项目中率先使用新功能和更新功能。对于生产中的项目,我们建议使用Unity 2022 LTS版本,以获得更高的稳定性和支持。

以下是 Unity 6 预览版的几个亮点,其中还包括2023.12023.2 中发布的功能。您还可以在官方发布说明中找到更多详细信息。

提升渲染性能

在 Unity 6 预览版中,通用渲染管道(URP)和高清渲染管道(HDRP)的性能都得到了显著提升,加快了跨平台制作的速度。根据您的内容,这里介绍的改进措施可将 CPU 工作负荷降低 30-50%,同时在各种平台上提供更流畅、更快速的渲染。

新的 GPU 驻留抽屉让您无需进行复杂的手动优化,即可高效地渲染更大、更丰富的世界。在跨平台(包括高端移动设备、个人电脑和游戏机)渲染大型复杂场景时,GameObjects 可为您优化游戏,最多可减少 50% 的 CPU 帧时。

GPU 驻留抽屉

GPU 遮挡剔除GPU驻留绘制器一起工作,通过减少每帧的过度绘制量来提高 GameObjects 的性能,这意味着渲染器不会浪费资源绘制看不到的东西。

您可以利用空间-时间后处理(STP)优化 GPU 性能,并显著提高视觉质量和运行时性能。STP 的设计目的是在不损失任何保真度的情况下,将以较低分辨率渲染的帧进行升频,从而为具有不同性能和屏幕分辨率的平台提供一致的高质量内容。STP 与 URP 和 HDRP 兼容,适用于台式机、控制台,特别是支持电脑的移动设备。

GPU 驱动的渲染

Render Graphfor URP 是一种新的渲染框架和 API,可简化渲染管道的维护和可扩展性,提高渲染效率和性能。新系统引入了各种关键优化,如自动合并和创建原生渲染通道,以减少内存带宽使用和能耗,尤其是在基于磁贴(移动)的 GPU 上。

新的渲染图 API 还简化了自定义通道注入工作流程,使您可以使用自己的自定义光栅和自定义通道扩展渲染管道,并使用新的上下文容器可靠地访问所需的所有管道资源。

最后,借助新的渲染图查看器 工具,您现在可以直接在编辑器中分析引擎的渲染传递创建和帧资源使用情况,从而简化渲染管道调试和优化。

渲染图查看器

URP 中的Foveated Rendering API可让您配置 Foveation Level,从而提高 GPU 性能,但代价是降低用户中/远端周边的逼真度。

有两种新的眼动模式可供选择。使用固定焦点渲染时,屏幕空间中心的区域将受益于更高的质量,而注视焦点渲染则使用眼动跟踪来确定屏幕空间的哪些区域将受益。

Foveated Rendering API 可通过 Oculus XR 插件与索尼 PlayStation®VR2 插件和 Meta Quest 兼容,不久还将支持 OpenXR 插件。

蜂窝状渲染 AP

HDRP 和 URP 中的卷积框架增强 功能优化了所有平台上的 CPU 性能,即使在低端硬件上也能正常运行。它允许你在 URP 中设置全局和每个质量级别的音量,类似于 HDRP 中的设置,并全面改进了用户界面。此外,现在可以更轻松地利用 Volume 框架和 URP 的自定义 Post Processing效果来构建自己的效果,如自定义雾化(查看我们 12 月份直播流中的演示,了解更多信息)。

URP 定制 Post Processing
增强照明

自适应探针卷(APV)为您在 Unity 中构建全局照明提供了一种新方法。它们使 Light Probe 照明对象的创作和迭代时间更加精简,并带来了新的可能性,例如分时段场景和流媒体。

在 2023.1 和 2023.2 技术流版本中提供的APV 开发基础上,Unity 6 预览版中的增强功能改进了创作工作流程,扩展了流功能,并扩展了控制和平台范围,以实现具有影响力的灯光转换。

我们已将APV 情景混合功能扩展到 URP,为您提供更广泛的平台支持,让您可以轻松混合烘焙探头体积数据,实现昼夜转换或开关房间灯光。

URP 和 HDRP 都支持APV 天空遮蔽,它使您能够在虚拟环境中应用不同时间的照明场景,并在来自天空的静态间接照明中实现比 APV 场景混合更多的色彩变化。

APV 磁盘流现在支持 URP 中的非计算路径,我们还启用了对 AssetBundles 和 Addressables 的支持。

利用探针调整量工具来微调 APV 内容并修复漏光情况。您可以对这些卷内的探针进行调整,包括覆盖样本计数和无效探针。不受 "调整量 "影响的光探针可以隐藏,探针照明数据现在可以只针对受影响的探针进行预览,然后直接从 "探针量 "和 "探针调整量 "组件中烘焙。

最后,我们引入了新的C# Light Probe Baking API,使您能够控制每次烘焙的探针数量,以平衡执行时间和内存使用。

我们以 APV 探针烘焙编辑器代码为例说明如何使用 API,您可以在 GitHub 上找到这个示例。

更丰富的高保真环境

在 HDRP 中,我们改进了日落和日出的天空渲染,以更好地实现项目的时间场景。这增加了臭氧层支持和大气散射,以补充远距离的雾。

水得到了改进,支持水下体积雾 ,可采样苛性碱以创建体积光轴。性能优化现在包括一个选项,即从 GPU 读回仿真时延迟几帧,而不是在 CPU 上复制仿真。我们还为透明表面添加了混合追踪模式支持,以便在渲染水等表面以及地形和植被时,混合光线追踪和屏幕空间效果。

由于性能是渲染大型动态世界的关键,我们利用上文提到的新GPU 驻留抽屉优化了SpeedTree植被渲染的 URP 和 HDRP。

视觉特效图形艺术家工作流程

对于视觉特效艺术家,我们改进了工具和 URP 支持,因此您可以高效地访问更多平台。VFX 图形剖析工具可让视觉特效艺术家通过获取有关内存和性能的反馈信息,找到图形中可以优化的内容,从而调整某些特效并最大限度地提高性能。

VFX 图形剖析工具

利用Shader Graph Keywords 创建 VFX着色器,利用 URP深度和颜色缓冲器创建更复杂的特效,以实现快速碰撞或从世界中生成粒子。

使用新的学习模板快速入门 VFX Graph,这是一个 VFX 资产 Collections,旨在帮助您学习 VFX Graph 的概念和功能。

着色器图形艺术家工作流程

Unity 6 预览版解决了用户在使用着色器图形时的许多痛点,包括新的可编辑键盘快捷键、可快速识别图形中 GPU 最密集节点的热图颜色模式以及更快的撤消/重做速度。

热图色彩模式显示节点的 GPU 相对成本

访问新 节点参考示例包含一组着色器图形资产,其中每个图形都是对一个节点的描述,并附有数学运算的详细说明,以及如何使用该节点的示例。在Node 参考示例教程视频中了解更多信息。

多平台增强功能

Unity 6 预览版带来了横跨桌面、移动、Web 和 XR 的多平台增强功能,旨在为多平台开发工作流提供优化,并扩大在最流行平台上的覆盖范围。

对 Unity 构建窗口的生命质量进行了改进,并添加了全新的构建配置文件

有了新的 "构建配置文件 "功能,构建管理将更加高效,灵活性也比以往任何时候都高。

除了在每个配置文件中配置构建设置外,您现在还可以包含不同的场景列表来定制构建内容,为您的游戏创建多个独一无二的可播放演示,其中包含您最想分享的场景。

此外,您还可以为任何配置文件设置自定义脚本定义,这些定义与玩家设置中的定义相加,可对构建和编辑器播放模式的功能和行为进行微调。这可用于创建垂直切片或针对不同平台的不同行为。

您可以在任何配置文件中为播放器设置添加覆盖,从而自定义与平台模块相关的设置。该功能可让您更轻松地配置不同配置文件的发布设置。总之,这项新功能减少了依赖自定义构建脚本来定制编辑器中构建管理方式的需要。

最后,我们还添加了平台浏览器,以增强编辑器内的平台发现功能。在平台浏览器中,您可以发现 Unity 支持的所有平台,并为您选择的任何平台创建构建配置文件。

Unity 6 中的新 "构建配置文件 "窗口
利用网络运行时扩大移动游戏的覆盖范围

Unity 6 预览版已支持安卓和 iOS 浏览器。现在,您可以在网络上的任何地方运行 Unity 游戏,而不必将浏览器游戏局限于桌面平台。此外,您还可以在本地应用程序的网页视图中嵌入您的游戏,或者使用我们的渐进式网页应用程序模板,使您的游戏表现得更像本地应用程序,拥有自己的快捷方式和离线功能。有了移动设备指南针支持和 GPS 定位跟踪等更多功能,无论玩家选择在哪里玩游戏,您的网页游戏都能作出反应。

通过更新 Emscripten 3.1.38 工具链和对 WebAssembly 2023 的最新支持来微调您的网页游戏,WebAssembly 2023 是我们最新 WebAssembly 语言功能的集合,如 sign-ext 操作码、非捕获 fp-to-int、bulk-memory、BigInt、Wasm 表、本地 Wasm 异常和 Wasm SIMD。WebAssembly 2023 还支持高达 4GB 的堆内存,可以让你在最新硬件上使用更多内存。

在 iPhone 15 Pro 的 Safari 中运行的 Unity 2D 示例项目《Happy Harvest

Unity 6 预览版在移动方面的其他改进还包括最新的 Android 工具和对 Java 17 的开箱支持,以及在 Android 应用捆绑包中包含调试符号的功能。这将节省您提交到 Google Play 商店的时间,并确保您始终在 Play 控制台中获得堆栈跟踪信息。

提前访问 WebGPU 后端

WebGPU Backend 实验性支持的推出标志着基于 Web 的图形加速技术的一个重要里程碑,为 Unity 网页游戏图形渲染保真度的未来飞跃铺平了道路。

WebGPU 的设计目标是在网络上利用和公开现代 GPU 功能,如支持计算着色器。这个新的网络 API 将通过提供一个现代图形加速接口来实现这一目标,该接口在内部通过 DirectX 12、Vulkan 或 Metal 等原生 GPU API 实现,具体取决于您使用的桌面设备。

该演示利用 GPU(计算)蒙皮技术将这些机器人的皮肤与下面的骨架网格化,同时保持相对较高的帧速率

WebGPU 图形后端仍处于试验状态,因此我们不建议将其用于生产。等不及了?了解如何在我们的图形论坛上获得早期访问权并测试 WebGPU。

Unity 编辑器支持基于 ARM 的 Windows 设备

Unity 在 2023.1 中提供了对基于 ARM 的 Windows 设备的支持,使您能够将您的游戏带到新的硬件上。通过 Unity 6 预览版,我们现在可以在 Unity 6 中为基于 Arm 的 Windows 设备提供原生 Unity 编辑器支持。这意味着您现在可以利用搭载 ARM 的设备所能提供的性能和灵活性来创建 Unity 游戏。

DirectX 12 后端改进

Unity 的 DirectX 12 图形后端已完全准备就绪,可用于支持 DX12 的 Windows 平台。在这一变化之前,还对渲染稳定性和性能进行了一系列全面的改进。

使用 DX12,Unity 编辑器和播放器可以通过使用 "分割图形工作 "显著提高 CPU 性能。预计性能提升将根据场景复杂程度和提交的绘制调用量进行扩展。

D3D11 与 D3D12 的 CPU 性能对比(主线程/渲染线程、GfxJobs、拆分 GfxJobs)

最值得注意的是,DX12 图形 API 释放了对各种现代图形功能的支持,以便启用下一代渲染技术,例如 Unity 的光线追踪管道。即将推出的功能将利用 DX12 的高级功能(从图形到机器学习),实现前所未有的逼真度和性能。

使用 Microsoft GDK 软件包解锁 Microsoft 平台生态系统

得益于微软和 Unity 之间的持续合作,Unity 6 预览版、2022 LTS 和 2021 LTS 现已提供两个新的微软 GDK 包。微软 GDK 工具和微软 GDK API 软件包可用于配置和代码库相同的微软游戏平台。这些软件包使得为 Windows 和 Xbox 等微软游戏平台 Cloud Build 比以往任何时候都更容易,使用相同的代码即可利用 Xbox 服务,如用户身份、玩家数据、社交、云存储等。

合并后的 Microsoft GDK 软件包可让您利用共享代码库为 Microsoft 平台制作游戏,并能通过 API 自动完成 Build Automation 过程。此外,还提供了新的示例来展示软件包中的各种功能。

以前,当针对 Xbox 游戏机和 Windows 上的 Microsoft Store 时,指导方法是分别安装由 Microsoft 和 Unity 提供的 GDK 包。这就需要为不同的微软平台目标维护不同的代码分支。使用新的 Microsoft GDK 软件包后,情况就不再是这样了。此外,现在还可以直接在 Build Server 中通过 API 修改 MicrosoftGame.config 文件。结合 Unity 6 中新的构建配置文件功能,将您的游戏从单个项目带入微软游戏生态系统变得前所未有的简单。

如果您一直在使用传统的游戏核心软件包或 Windows GDK 软件包,并希望迁移到这些新的 Microsoft GDK 软件包(Microsoft GDK API 和 Microsoft GDK Tools),请按照本迁移指南中的详细说明进行操作。

Microsoft GDK API
XR 体验

我们支持大多数流行的 XR 平台,包括 ARKit、ARCore、visionOS、Meta Quest、PlayStation VR、Windows 混合现实等。在 Unity 6 预览版中,您将发现混合现实、手眼输入和改进的视觉保真度等尖端跨平台功能。其中许多新功能现已集成到我们改版后的模板中,因此您可以更快地开始使用。

将物理世界带入游戏

无论您是想用混合现实技术扩展现有游戏,还是要制作全新的游戏,AR Foundation都能帮助您以跨平台的方式将物理世界融入玩家的体验中。在 Unity 6 预览版中,我们增加了对 ARCore 上图像稳定的支持,还改进了对 Meta Quest 等混合现实平台的支持,包括网格和边界框等功能。

AR Foundation 网格菜单
XR 输入和互动

为了帮助您简化交互,我们在XR 交互工具包 3.0(XRI) 中添加了几项重大改进。其中包括一种名为近远交互器的新交互器,可让您在项目中定制交互器的行为方式时具有更大的灵活性和模块化。

我们还改进了 XRI 中的输入处理方式,增加了新的 "输入读取器",简化了输入流程,降低了各种输入类型的代码复杂性。最后,我们将提供一个新的虚拟键盘样本,让您能够以跨平台的方式构建和定制游戏中的键盘。

独特的手势

现在,越来越多的平台支持用手与内容互动。通过我们的XR Hands软件包,您可以实现自定义手势(如竖起大拇指、放下大拇指、指向)以及常用的 OpenXR 手势。其中包括帮助您快速入门的样本。我们还提供了用于创建、微调和调试手形和手势的工具,以便让更多人了解您的内容。

提高视觉保真度

提高游戏视觉保真度的一种方法是使用一种名为 "合成层"功能,该功能目前作为实验软件包提供。

该功能利用运行时合成层的本机支持,以更高的质量渲染文本、视频、用户界面和图像,使文本更清晰、轮廓更鲜明、整体外观更美观,并显著减少了伪影。

简化多人游戏的创建

Unity 6 预览版通过简单易用的端到端集成解决方案,加快了 Multiplayer 游戏的创建、发布和发展。

实验性 Multiplayer 中心

我们已在软件包注册表中提供了新的实验版Multiplayer Center 软件包(com.unity.multiplayer.center) 。Multiplayer Center 是一个简化的指导工具,旨在帮助您进行 Multiplayer 开发。通过编辑器中的这个中心位置,您可以访问 Unity 针对您的项目特定需求提供的工具和服务。

Multiplayer 中心可根据项目的 Multiplayer 规格提供互动指导,提供资源和教育材料,并提供快捷方式来部署功能和快速试验 Multiplayer 功能。

Multiplayer 游戏模式

我们发布了 Multiplayer Play Mode 1.0 版,让您可以在不离开 Unity 编辑器的情况下跨进程测试多人游戏功能。您可以在同一开发设备上同时模拟多达四个玩家(主编辑器玩家加三个虚拟玩家),同时使用相同的磁盘源资产。您可以使用 Multiplayer 播放模式创建多人开发工作流,从而缩短构建项目、本地化运行和测试服务器-客户端关系所需的时间。

Multiplayer 工具

我们将 Multiplayer Tools 软件包更新到了 2.1.0 版,增加了网络场景可视化作为新的可视化调试工具。网络场景可视化(NetSceneVis)是 "Multiplayer Tools "软件包中的一个强大工具,可帮助您在项目的 Unity 编辑器场景视图中,通过网格着色和文本叠加等可视化方式,按对象可视化和调试网络通信。

Multiplayer 游戏模式
GameObjects Netcode 的实验性分布式授权

我们在 Netcode for GameObjects 2.0.0-exp.2 版(com.unity.netcode.gameobjects)中添加了分布式授权模式,当与新的实验性多人游戏服务 SDK 0.4.0 版(com.unity.services.multiplayer)搭配使用时。通过分布式授权,客户端可在游戏会话期间对生成的 Netcode 对象拥有分布式所有权/授权。Netcode 模拟工作量分布在客户端,而网络状态则通过 Unity 提供的高性能云后台进行协调。

实体的 Netcode

我们改进了 Netcode for Entities 的体验,支持 GameObjects 渲染调试边界框。我们还添加了 NetCodeConfig ScriptableObject,它包含了大多数 Netcode 配置变量,您无需修改代码即可自定义这些变量。

专用服务器套餐

我们发布了专用服务器软件包,它允许您在服务器和客户端角色之间切换项目,而无需创建另一个项目。为此,可使用 Multiplayer 角色在客户端和服务器之间分配 GameObject 和组件。

Multiplayer 角色允许您决定在每个 Build 目标中使用哪种 Multiplayer 角色(客户端、服务器)。具体分为

  • 内容选择:提供用户界面和 API,用于选择在不同 Multiplayer 角色中应出现/移除哪些内容(GameObjects、Components)。
  • 自动选择:提供用户界面和 API,用于选择在不同 Multiplayer 角色中应自动移除的组件类型
  • 安全检查:激活警告,帮助检测多人角色剥离对象可能导致的 null 引用异常

该软件包还包含用于开发专用服务器平台的额外优化和工作流程改进。

实验性 Multiplayer 服务 SDK

实验性 Multiplayer 服务 SDK 是一种一站式解决方案,可用于在 Unity 6 预览版开发的游戏中添加在线多人游戏元素。它由 Unity Gaming Services (UGS) 提供支持,将 Relay 和 Lobby 等服务的功能整合到一个新的 "会话 "系统中,帮助您快速定义玩家群如何连接在一起。

实验性Multiplayer服务 SDK 0.4.0 版(com.unity.services.multiplayer)可让您创建点对点(P2P)会话,同时提供多种方法让玩家加入这些会话,例如通过加入代码、浏览活动会话列表和 "快速加入"。

Unity 6 中的 Multiplayer 预览

对于本次 Unity 6 预览版里程碑,其中几项功能仍处于实验状态,这意味着它们尚未支持生产。我们打算迅速将它们过渡到预发布和发布状态,以便在 Unity 6 上获得全面支持的体验,并将您的反馈意见融入其中。您可以在我们的社区论坛官方 Discord 服务器上与我们交流。

实体工作流程改进

Unity 6 预览版简化了 ECS 工作流程,解决了常见的痛点。作为这项工作的一部分,我们改变了实体的存储方式,为将来合并实体和 GameObject 工作流程做准备。实体 ID 现在是全局唯一的,你现在可以将它们从一个实体世界有效地移动到另一个实体世界。这不会影响 ECS 工作流程,但会通过始终显示准确的实体来消除调试的歧义。

此外,Unity 2022 LTS 中对 ECS 的最新改进也可在 Unity 6 预览版中使用:

  • ECS 1.1:主要物理对撞机工作流程和性能改进,以及整个 ECS 框架的 80 多处修复
  • ECS 1.2:在编辑器工作流程、序列化和烘焙方面提高了生命周期质量和性能,另外还有 50 多处修复和 Unity 6 兼容性问题
利用人工智能提供动态运行时体验

Unity 6 预览版包含 Unity Sentis神经引擎,该引擎可将人工智能模型集成到运行时中。Sentis 使新的人工智能功能成为可能,如物体识别、智能 NPC、图形优化等。Sentis 的最新增强功能侧重于性能和简化入门体验

性能

如果您想将模型大小最多减少 75%,我们现在支持 Unity 编辑器中的人工智能模型权重量化(FP16 或 UINT8)。这对于在移动平台上运营游戏来说是一笔不小的节省。模型调度速度也提高了 2 倍,同时减少了内存泄漏和垃圾收集。最后,我们现在支持更多的ONNX 操作员

准备开始

为了更方便地为您的项目找到合适的人工智能模型,我们与全球最大的人工智能模型中心(600,000 多个模型)Hugging Face 合作。现在,您可以立即为 Unity Sentis找到 "即拿即用 "的人工智能模型,确保轻松集成。

找到合适的型号后,您需要将其连接到游戏中。为了让这一切变得更容易,我们推出了一个新的功能 API,帮助建立、编辑和连锁人工智能模型。它直观、稳定,并针对推理进行了优化。对于那些需要较低级且完全可定制的 API 来全面控制内存管理和调度的用户,后端 API 仍然可用。

要了解有关 Unity Sentis 的更多信息,请查看我们的 博客概述 文档或深入 社区

提高生产力和功能

Unity 引擎提供了从 Visual Scripting 到 UI 工具包等各种工具,可提高您的工作效率和功能。在现有工具的基础上,Unity 6 预览版特别在剖析工具组合中进行了两项更新。

内存性能分析器

Unity 6 预览版在内存剖析器方面带来了两大更新。首先,以前未分类的显存现在按资源(如渲染纹理和计算着色器)进行测量和报告。其次,常驻内存的报告更加精确--例如,交换到磁盘的内存不再计算在内。这些更新特别解决了围绕理解本地内存使用问题的直接反馈。

更新的 Memory Profiler
想了解更多吗?

要了解有关 Unity 6 预览版内容的更多详情,请查看发布说明以获取全面的功能列表,并查看《Unity 手册》以了解如何使用这些功能的详细信息。

Unity 6 预览版支持每周更新,直至下一个版本。请记住,在升级到新版本之前,一定要备份您的工作。我们的升级手册可以提供帮助。对于生产中的项目,我们建议使用Unity 2022 LTS,以获得更高的稳定性和支持。

Unity 6 预览版最适合在开发过程的试生产、探索和原型设计阶段进行测试。但是,如果任何 Unity 6 版本中的任何代码、功能或修正被纳入实时游戏中,那么如果游戏在一般可用性中升级到 Unity 6(前提是符合运行时费用标准),则可能需要支付适用的运行时费用。

让我们继续对话

Unity 6 预览版的发布是一个机会,您既可以提前使用新功能,也可以通过您的反馈意见影响未来技术的发展。我们希望了解如何为您和您的项目提供最佳支持。让我们在论坛上了解我们的工作情况,或通过Unity Platform Roadmap 直接与我们的产品团队分享您的反馈意见。