Version: Unity 6.0 (6000.0)
语言 : 中文
Unity 2023.2 中的新功能
Unity for first-time users

Unity 2023.1 中的新功能

发行说明

要了解有关此 Unity 版本的新功能、更改和改进的更多信息,请参阅 2023.1 发行说明

要查找其他版本的发行说明,请参阅 Unity 下载存档

升级指南

如果要将现有项目从 2022 LTS 升级,请阅读 2023.1 升级指南了解项目可能受到的影响。

新功能介绍

了解自 2022 LTS 以来 Unity 2023.1 中的变化,并查看有关受影响区域的文档。

Adaptive Performance

美术师和影片动画工具

Shader Graph

Variant Keyword Prefiltering 根据渲染管线 (Render Pipeline) 设置驱动的预过滤属性 (Prefiltering Attributes),引入了提前排除“multi_compile”关键字。这大大减少了为潜在剥离和编译而枚举的变体数量。结果显著缩短了着色器处理时间。

资源商店

新增了 Verified Solutions 计划,这是 Unity 策划的第三方资源和解决方案库。

资源包

为面向 Windows、OSX 和 Linux 平台以及 Dedicated Server 子目标的资源捆绑包新增了功能,因此现在构建这些资源捆绑包时与构建 Dedicated Server 播放器时收到的优化(删除纹理数据和非碰撞网格数据)相同。

资源管线

实现了用于将数据保存到 .meta 文件的访问器。

创作工具

2D

  • 新增了 API 以允许精灵获取和设置对 ScriptableObjects 的引用。
  • 在图块面板 (Tile Palette) 窗口新增了画笔选取功能。
  • 新增了创建 WhiteBox 图块面板的选项。
  • 在瓦块面板偏好设置 (Tile Palette Preferences) 中新增了偏好设置选项,允许用户在带有 Z 位置的瓦片地图上绘制时选择鼠标光标的位置。
  • 新增了自定义几何体生成和顶点颜色的示例。
  • 新增了 Sprite/SpriteShape/TilemapRenderer 作为 SpriteMask 的遮罩源。
  • 新增了 2D 渲染器和粒子渲染器的 SRP 批处理以支持 URP。
  • 在 Inverse Kinematics Manager 2D 中新增了对摄像机视锥体剔除的支持。
  • 启用从精灵渲染器检视面板打开精灵编辑器窗口以编辑分配给精灵渲染器的图片精灵。
  • 启用 ScriptablePacker 可为精灵图集新增自定义打包算法。

2D 物理

  • 新增了一种 Rigidbody2D.Slide 方法,允许 Rigidbody2D 在特定积分时间内以特定速度移动,并自动执行各种滑动、重力、滑移、方向更改和表面锚定等行为。此方法适用于所有刚体类型,包括静态刚体。它可以简单地计算新位置、即时更改 Rigidbody2D 位置(支持插值),或通过自动调用 Rigidbody2D.MovePosition() 延迟移动。此功能使角色控制器的创建变得容易。
  • 新增了在模拟模式为“更新 (Update)”时使用子步长模拟的功能。
  • 启用了 CompositeCollider2D 以允许每个 Collider2D 选择四个复合运算之一:(Merge (OR)、Intersect (AND)、Difference (NOT) 和 Flip (XOR))中选择其一,同时还支持复合顺序,用于控制每个 Collider2D 进行复合操作的顺序。

地形

  • 将 Terrain Tools 迁移了覆盖层工具栏框架,以确保用户拥有一致且可预测的编辑器场景创作工作流程。
  • 新增了质量设置 (Quality Settings),用于控制不同质量级别的各种地形设置。

核心模板

合并了 APV 窗口和光照窗口。

编辑器和工作流程

  • 对各个项目和流程中的右键上下文菜单进行了改进和规范化处理。改进包括更一致的交互、排序优化和可选的搜索字段。
  • 为 Linux 编辑器新增了一个启动屏幕。
  • 在测试框架中新增了包含文档的异步测试支持以及对 SetUp 和 TearDown 的支持。
  • 新增编辑器分析事件跟踪,用于刷新访问和 New link 按钮点击。
  • 在偏好设置 (Preferences) 窗口中新增了启用 PlayMode 工具提示 (Enable PlayMode Tooltips) 开关。此开关在编辑器处于播放模式时启用工具提示。
  • 在状态栏中新增了帮助栏,显示有用的键盘快捷键。从偏好设置 (Preferences) 窗口的常规 (General) 选项卡中启用帮助栏。
  • 新增了场景视图偏好设置的选项,以仅在编辑器处于焦点状态时刷新场景视图。
  • 快捷键 (Shortcut)ClutchShortcut 属性中新增了可选的优先级参数。
  • 在快捷键管理器中新增了游戏视图统计数据按钮的可重新绑定快捷键。
  • 为帧调试器的关键字新增了阶段、范围和动态信息。
  • 新增了从测试列表中按指定顺序运行测试的可能性。
  • EditorWindow 类中新增了 focusedWindowChanged 回调。
  • 对编辑器在 Windows 上的标题栏进行更改。通过对现有标题栏功能进行扩展对其进行改进。
  • 在 XML 结果的输出下显示 OneTimeSetupOneTimeTearDown 持续时间。
  • 为帧调试器启用了增加快捷键以启用或禁用捕捉。
  • 启用了使用具备 MFA 的帐户连接到__ Perforce__针对文件更改管理的版本控制系统。更多信息
    See in Glossary
    服务器的功能。
  • 为帧调试器启用了复制折叠或整个事件的功能。
  • 为帧调试器启用了在事件中查看原始着色器和使用中着色器的功能。这对于使用 USEPASS 或回退到分配的着色器的事件很有用。
  • 为帧调试器的级别滑动条启用了设置最小值和最大值的功能。
  • 为快捷键管理器启用了将快捷键绑定到鼠标滚轮转动操作的功能。
  • 为帧调试器的网格预览启用了查看 SRP 批次中的各个网格的功能。
  • 将帧调试器的纹理格式拆分为颜色格式和 DepthStencil 格式。
  • 更改了编辑器在 Windows 上的标题栏。

编辑器 UI 的 UI 工具包

  • __ UI__(即用户界面,User Interface)让用户能够与您的应用程序进行交互。Unity 目前支持三种 UI 系统。更多信息
    See in Glossary
    Builder 检视面板中新增了文本预览。
  • 在 UI Builder 检视面板窗格中的位置属性中新增了锚点小部件。
  • 在 UI Builder 中新增了基本分析。
  • 在“内容对齐 (Justify Content)”属性中新增了均匀间距。
  • 新增了对位图文本的支持。
  • 新增了顶点缓冲区大小配置。
  • 更新了工具提示。

IMGUI

删除了 IMGUI 对旧版文本栈的依赖,现在 IMGUI 可以使用 TextCore 渲染和计算其指标。TextEditor 的一些成员已弃用,以适应 IMGUI 和 UITK 使用的新 TextUtilities。它们的含义相同,但名称已更改(从字段更改为属性):

  • TextEditor.multiline 现在改为 TextEditor.isMultiline
  • TextEditor.hasHorizontalCursorPosnowTextEditor.hasHorizontalCursor
  • TextEditor.revealCursor 现在改为 TextEditor.showCursor

TextMeshPro

新增了对 Color Glyphs 和提取 OpenType 字体功能的支持。

企业部署

图形

  • 新增了屏幕空间镜头光晕,只需单击几下即可通过单个后期处理体积从屏幕上可见的所有光源(直接、间接、发光表面、镜面高光)生成这些光晕。这些镜头光晕同时与 HDRP 和 URP 兼容。该功能是对镜头光晕 (SRP) 组件的补充,该组件可对光源产生的镜头光晕进行更高级的艺术控制,但只能用于预定义的光源(方向光、点光源和聚光灯),并且只能手动与每个光源进行关联。
  • 动态着色器变体加载提供了对着色器加载行为和内存使用的额外用户控制。通过此优化,可以根据用户控制的内存预算将着色器数据块流式传输到内存中,并删除运行时不再需要的着色器数据。在内存预算有限的平台上,这可以大大降低着色器的内存使用量。
  • 为着色器预热新增了管线状态对象的异步编译。
  • 在计算着色器中新增了 DirectX 光线追踪 (DXR) 1.1 支持。新增了以下 API:SystemInfo.supportsInlineRayTracingSystemInfo.supportsRayTracingShadersComputeShader.SetRayTracingAccelerationStructureCommandBuffer.SetRayTracingAccelerationStructure(ComputeShader 等)。
  • 新增了用于计算着色器的 #pragma require inlineraytracing
  • 新增了全新的 RayTracingAccelerationStructure.AddInstance 签名,允许将网格实例新增到加速结构以进行 GPU 光线追踪。这相当于光栅化管线中的 Graphics.RenderMesh
  • 为 D3D12/Vulkan 新增了注视点渲染支持。
  • 为 Metal 新增了注视点渲染支持。
  • 新增了对通过 ImageConversion.LoadImage() 加载 EXR 数据的支持。
  • 在 Vulkan 平台上新增了对 VK_EXT_debug_utils 的支持。
  • 新增了 mipmap 限制组,与应用于所有 mipmapped Texture2D 资源的单一值相比,能够实现更精细的可配置性。
  • 在 Texture2D 导入器和构造函数中新增了将纹理添加到项目定义的 Mipmap 限制组的功能,以便更精细地控制每个质量级别对纹理质量的影响。
  • 在 Texture2D 导入器和构造函数中新增了从 Mipmap 限制中排除纹理的功能,确保无论质量设置如何,都可以上传所有 Mipmap 级别。
  • 新增了运行时可修改的 Texture2D 属性以进行切换,将可读纹理排除在 Mipmap 限制之外。
  • 新增了计算对象厚度的功能。
  • 默认情况下,在新地形的地形 (Terrain) 设置中启用了光线追踪支持。
  • 实现了 ScriptableRenderContext.CullShadowCasters API,以便在 URP 和 HDRP 中提前启动 BatchRendererGroup 剔除作业。
  • 为原生 16 位着色器类型新增了标准化着色器变体关键字。
  • 新增了波波操作的标准化着色器变体关键字。
  • 新增了调试视图以可视化探针采样。

光照

  • 引入了全新的用于手动光照烘焙的 LightBaker v1.0 后端,使烘焙更加可预测且更加稳定。如果在烘焙期间更改场景,手动烘焙蒋不再重新启动,因此编辑器在烘焙期间响应更灵敏。如果使用 GPU 后端进行烘焙,可使用烘焙配置文件在性能和 GPU 内存使用量之间进行权衡。

通用渲染管线 (URP)

有关 URP 新功能和改进的完整描述,请参阅 URP 中的新功能

URP 中的新功能

  • 新增了时间抗锯齿 (TAA) 支持,可从摄像机抗锯齿设置中获得。与 MSAA、动态分辨率或摄像机堆叠不兼容。仅支持固定分辨率,因此不支持时间上采样。
  • 新增了对高动态范围(HDR)输出的支持。
  • URP 渲染调试器新增了详细的统计数据 (Detailed Stats)。
  • 将所有 URP 通道移植为使用 RasterCommandBuffer API。
  • SSAO 新增了环境光遮挡 (AO Method) 下拉选单,可选择交错梯度噪声 (Interleaved Gradient Noise) 或蓝色噪声 (Blue Noise)。
  • SSAO 新增了模糊质量 (Blur Quality) 下拉选单,可选择高(双边)(High (Bilateral))、中(高斯)(Medium (Gaussian))或低(单通道河濑)(Low (Single-Pass Kawase))。
  • 向 URP Forward+ 渲染路径新增了集群反射探针支持。这样可以为每个对象使用两个以上的反射探针,允许 Unity 跳过每个对象的光源和反射探针剔除,并允许 Entities Graphics 和程序绘制使用反射探针。
  • 在 URP 中新增了自定义 Post Processing(零代码路径)功能。
  • 向 Render Graph 新增了贴花支持。
  • 为 SSAO 新增了衰减字段来控制 AO 应该影响的距离。
  • 向 URP postFX 新增了 RenderGraph 支持。
  • 新增了与精灵、碰撞体、SpriteShape 和 2D Animation 的阴影互操作性。
  • 新增了柔和阴影渲染。可在阴影投射 Light2D 上设置阴影柔和度。
  • 新增了对探针体积的有限版本,没有光照数据集的插值处理,且在低端硬件上性能有限。

URP 的改进

  • 改进了 FXAA 质量。这些更改改进了边缘抗锯齿(消除了之前看到的奇数边缘瑕疵),同时更好地保留了纹理质量。性能要求预计保持不变。输出质量现在应该与中低 SMAA 预设类似,同时仍然具有更好的性能。

高清渲染管线 (HDRP)

有关 URP 新功能和改进的完整描述,请参阅 HDRP 中的新功能

HDRP 中的新功能

  • 现在,光源层和贴花层在 HDRP 和 URP 中以类似方式进行管理。在 HDRP 中,现在它们共享前 16 个渲染层,而不是各自使用 8 个位。此外,HDRP 资产中新增了一个选项,允许访问全屏缓冲区,该缓冲区包含已渲染对象的渲染层遮罩信息。HDRP 可以通过 HD Sample Buffer 节点从 ShaderGraph 中对缓冲区进行采样,并使用它实现自定义效果,例如为特定渲染层上的对象新增轮廓线。
  • 在 Unity 2023.1.0 中,所有光线追踪 HDRP 功能(光线追踪阴影、反射、AO、全局光照、路径追踪、递归渲染等)中正式脱离实验阶段。
  • 向 HDRP 供水系统新增了泡沫系统。
  • 探针体积脱离实验阶段。对控制界面进行改进,让您在执行以下操作时拥有更出色的体验:放置探针体积、为动态对象和部分静态对象光照、从 GPU 内存流式传输数据、对光照数据集进行插值处理,以及使用体积雾和粒子效果。
  • 为体积云新增了第三个级别的噪声。
  • 新增了通用渲染层模式支持。
  • 新增了高质量线渲染,可提升线条拓扑的性能和图像质量。
  • 对 SSS 光照模型进行了改进。
  • 为 HDRP 新增了光线追踪地形支持。
  • 为棱锥体和盒形聚光灯新增了光线追踪阴影。
  • 将光线追踪光源集群新增到路径追踪器中。
  • 为局部体积雾体积新增了体积材质支持。
  • 在使用 Lit Shader Graph 的材质中公开了材质类型。
  • 改进了未使用功能的剔除。
  • 启用“镜面反射渐隐 (Specular Fade)”后,HDRP/Lit 和 HDRP/StackLit 上低于 2% 的镜面反射颜色可用于完全抑制镜面反射光照。

HDRP 的改进

  • 通过以下方式改进了水渲染系统:
    • 为水遮罩新增了功能,使其能够动态地从船只内部或岛屿中间的洞穴内移除水。
    • 对水变形器进行了修改,使其能够局部对水进行动态变形。例如,可以在移动的船舶周围使水变形、在海岸附近使波浪变形或使漩涡中的水变形。
    • 新增了流程图,以创建局部水流,管理跟随水流的表面波浪,还新增了水查询 API 以允许对象漂移。
    • 新增了一条水线,用于管理半浸在水下的摄像机的过渡效果。
    • 改进了水的视觉质量。
    • 改进了供水系统的 UX。
  • 新增了额外的可选通道,用于在运行时计算透明对象的厚度,以获得更准确的折射和透明度渲染。
  • 改进了使用时间抗锯齿 (TAA) 时的视觉质量,并新增了两个锐化选项。第一个选项是一个后处理通道,它提供更高质量的锐化、控制锐化的程度以及减少可能的振铃伪影的选项。第二个选项是运行 AMD FidelityFX 的对比度自适应锐化。
  • 现在,当使用使用 HDRP/Lit 和 HDRP/StackLit 着色器的镜面颜色工作流程时,通过切换一个新选项(可在 Miscellaneous/ 下的 HDRP 全局设置中找到),镜面光可以完全褪色。

Multiplayer tools

新增了 Multiplayer Play Mode 作为实验性功能。Multiplayer Play Mode 是我们多人游戏工具集的一项工作流程改进功能,旨在提供“单人游戏”般的用户体验,但侧重于多人游戏的开发周期。

联网

在程序集定义中新增了新的 Dedicated Server 独立平台播放器选项“排除和包含平台列表 (exclude and include platform list)”。

Package Manager

  • 新增了用于追踪从资源商店资源包导入的资源的功能:
    • 包详细信息视图(“我的资源”)中新增了导入资源 (Imported Assets) 选项卡,用于可视化导入资源。
    • 为资源商店包新增了删除 (Remove) 按钮和窗口,用于选择性地删除导入资源。
  • 增强了已弃用包的用户体验。Unity 编辑器会在启动时通知用户他们的项目是否有任何已弃用包。更新了 Package Manager 窗口以识别两种类型的包弃用情况:
    • 到达生命周期终点并在给定编辑器中不再受支持的包。
    • 某个包被标记为弃用的特定版本。
  • 查看“我的资源”时,在过滤器 (Filters) 菜单中新增了 Web3 类别。
  • 将“我的资源”视图中的默认排序更改为购买日期 (Purchased date),以匹配资源商店中的默认排序方法。
  • 已将安装菜单项更改为以安装 (Install) 开头,而不是以添加 (Add) 开头。

VFX Graph

  • 新增了一个输出,用于修改 HDRP 的体积雾。
  • 在光线追踪中新增了 VFX 集成。
  • 修复了六向光照和光照贴图重新映射选项的问题。
  • 在 VFX 实例化中优化了 CPU 和 GPU VFX 运行时性能。

平台图形

  • 引入了一种名为分离图形作业 (Split Graphics Jobs) 的全新图形作业线程模式,事实证明它可以减少主图形作业线程和原生图形作业线程之间不必要的帧起始和结束同步操作。Unity 测试团队发现,在 DX11 上使用 Split Graphics Jobs 时,以 DX12 为目标的性能有了显著改善。

Android

  • 新增了对纹理压缩目标的支持,该功能使用不同的格式多次压缩纹理。这有助于为不同的 Android 设备提供优化的__ APK__Unity 输出的 Android 包格式。选择文件 (File) > 构建并运行 (Build & Run) 时,APK 会被自动部署到设备。更多信息
    See in Glossary
    。有关更多信息,请参阅纹理压缩定向
  • 新增了 Android 项目配置管理器,这是一种配置 Android__ Gradle__一套 Android 构建系统,可自动执行多种构建过程。这种自动化意味着能减少许多常见的构建错误。更多信息
    See in Glossary
    设置的灵活而强大的方法。这取代了使用模板的旧方法。有关更多信息,请参阅 Android 项目配置管理器
  • 新增了对 GameActivity 的支持,这是一种适用于由 Android 游戏开发工具包支持的 Android 项目的应用程序模型。它可对应用程序的基本部分进行更多控制,为核心代码提供更多自由度和灵活性,并最大限度减少应用程序需要使用的 JNI 数量。它还改进了游戏与 Jetpack 组件的工作方式,使您能够覆盖原生元素,并帮助您更轻松地利用新的平台功能。有关更多信息,请参阅 GameActivity 应用程序入口
  • 新增了对 Chrome OS 设备上的构建和运行的支持。现在可以直接在 Unity 中输入设备的 IP 以快速部署到该设备。有关更多信息,请参阅 Chrome OS 的构建。
  • 扩展了 Unity 的内存 API 以利用 Google 内存建议库。这为您提供了有关内存使用情况的精细信息,可用于相应调整应用程序。
  • 公开了 Android 的 reportFullyDrawn API,因此您可以获得有关应用程序启动时间的更准确信息,这是衡量用户体验的主要指标之一。这样可以更好地了解应用程序在不同设备上的冷启动和热启动速率,从而进一步优化应用程序。
  • 向 Android 构建新增了 build_fingerprint 信息。

WebGL

  • 在 Web 构建中对诊断覆盖层进行了扩展,新增了更多指标和图表。
  • 改进了在服务器上未正确设置 Content-Encoding: gzip 时或 Web 浏览器存在导致无法解压缩 gzip 内容的漏洞时的控制台错误消息日志。

Windows

启用了 Windows ARM64 Player 编译。有关更多信息,请访问系统要求页面。

工程师工具

内核

新增了控制玩家连接监听端口的功能。

Version Control

  • 在 Changesets 视图中新增了一个分支名称列。
  • 在待处理变更上下文菜单中新增了变更列表相关选项。
  • 新增了一个选项,用于启用变更列表并在待处理变更选项卡上显示这些列表。

脚本

在播放器构建中的调用栈中新增了显示 C# 源代码行号的选项

性能分析器

  • 在 Memory Profiler 中新增了对 RenderTextures 的元数据支持。
  • 改进了 Memory Profiler 中的图形内存追踪。

光线追踪 API

在 Unity 2023.1 中,光线追踪 API 正式脱离实验阶段。此变更是在近期对光线追踪 API 进行改进之后引入的,涉及到稳定性和性能的改进,还更加兼容引擎的现有功能集。

SpeedTree

现在,HDRP/Nature/SpeedTree8.shadergraph 将其 Subsurface Map 用于 Transmission Mask 节点,以消除树皮和树枝上不想要的光透射效果。这也修复了公告牌光照过亮与 3D 几何体光照不完全匹配的问题。

UTP

实验性功能发行

Unity 传输协议(简称 UTP)是一种低级网络基础设施,可处理跨网络以及跨连接的平台和设备的数据传输。在最新版本中,我们将启用 Web 和 TCP 连接,以提高我们的 Netcode 解决方案(如 Netcode for__ GameObjects__Unity 场景中的基础对象,可以表示角色、道具、风景、摄像机、路径点等。GameObject 的功能由所附的组件决定。更多信息
See in Glossary
和 Netcode for Entities)的普及率。

视频

  • 为 PS4 和 PS5 启用了 VideoPlayer 时间更新模式。
  • WebGL VideoPlayer 现在具有可配置的时间更新模式,支持游戏时间、未缩放的游戏时间和音频 dsp 时间。

Visual Scripting

  • 新增了一个确认对话框,当您在项目 (Project) 设置中重置程序集和类型时显示该对话框。
  • 新增了一个确认对话框,当您重置项目 (Project) 设置和编辑器偏好设置时显示该对话框。
  • 为 ScriptGraph 和 StateGraph 新增了 Sticky Notes。
  • 在 API 节点使用的代码中新增了对参数重命名的支持。
  • 新增了对节点的支持,使得节点在其检视视图描述中可以拥有一个用于触发自定义操作的按钮。
  • 新增了将未知类型的节点转换为占位节点的支持。当重新定义这些节点的原始类型或者替换节点时,这些节点将恢复正常。

其他资源

Unity 2023.2 中的新功能
Unity for first-time users