Version: 6000.3
语言: 中文
Unity 6.0 中的新增功能
Unity 2023.2 中的新增功能

Unity 6.0 预览版中的新功能

了解自 2023.2 以来 Unity 6.0 预览版中发生了哪些变化,并查看受影响区域的文档。

要了解有关此 Unity 版本的新特性、更改和改进的更多信息,请参阅 Unity 6.0 预览版发行说明

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

如果您要从 2023.2 升级现有项目,请阅读 Unity 6.0 预览版升级指南,了解您的项目可能受到的影响。

编辑器和工作流程

  • 添加了一个穿孔菜单,您可以使用它来选择游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
    请参阅术语表
    与其他游戏对象重叠。要打开穿孔菜单,请按住 Ctrl+右键单击场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
    请参阅术语表
    视图。穿孔菜单在光标下方显示所有可选游戏对象的列表。
  • 添加Additional App IDs到 Steam ID 提供商编辑器设置以支持多个应用程序 ID。
  • 介绍构建配置文件目标平台创建构建时使用的一组可自定义配置设置。更多信息
    请参阅术语表
    为每个目标平台创建多个自定义构建配置。
  • “构建配置文件诊断”复选框不再可用,因为“构建设置”窗口已替换为“构建配置文件”窗口。
  • 集成了新的构建配置文件图标。
  • 修改了“创建”菜单,以将“C# 脚本”菜单项替换为三个单独的选项:
    • MonoBehaviour 脚本
    • ScriptableObject 脚本
    • 空白脚本
  • 改进了“创建”菜单,以减少菜单根目录下的项目数量。菜单现在按字母顺序排序,几乎所有项目现在都属于一个类别。

UI 工具包

  • 添加了缺少的 UxmlAttribute 转换器以支持 UXML 创作:Gradient,AnimationCurve,ToggleButtonGroupState、未签名整数和无符号长。
  • 添加了对PropertyFieldToggleButtonGroupState序列化属性。
  • 原生文本生成器重写。使用文本生成器,您可以使用多种语言和脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
    请参阅术语表
    ,例如从右到左 (RTL) 语言,如阿拉伯语和希伯来语。
  • 添加了 UI Toolkit 动态图集的调试器。
  • 添加了对 UXML 和 UI Builder 中深度嵌套属性覆盖的支持。
  • 添加了使用搜索的类型选择器。
  • 在 UI Builder 库中添加了搜索字段。

实体

  • 添加了对UnityObjectRef<>以启用对 Unity 资产的非托管引用。例如,你可以使用UnityObjectRef<Texture>在非托管IComponentData.
  • 创建菜单添加了以下类型模板:
    • IComponentData
    • ISystem
    • IJobEntity
    • 面包师傅
  • 更改了实体的存储方式,为实体和游戏对象工作流的合并做准备。实体 ID 现在是全局唯一的,您现在可以有效地将它们从一个实体世界移动到另一个实体世界。这不会影响 Unity 6.0 中的 ECS 工作流程,但它确实通过始终显示确切的实体来消除调试的歧义。
  • 对实体层次结构窗口应用了以下修复:
    • 您可以在层次结构中选择实体和系统。
    • 修复了在有效用例中从层次结构视图中删除实体后失败的无效范围检查。
    • 阻止实体层次结构在实体被销毁时抛出异常。
    • 实体层次结构现在在卸载场景时删除场景和子场景的所有节点。
    • 当您输入预制件:一种资产类型,允许您存储包含组件和属性的游戏对象。预制件充当模板,你可以从中在场景中创建新的对象实例。更多信息
      请参阅术语表
      从实体层次结构中。
  • 改进了在具有大量现有类型的世界中烘焙以及原型和实体查询的创建性能。
  • 改进了 LocalToWorld 系统和非脏层次结构的性能。
  • 修复了以下问题:EntityQueryWithNone<T>在启用组件上没有插入必要的作业依赖项。
  • EntityQuery单例方法现在可以正确处理查询包含可启用组件的情况。
  • 修复了内存泄漏问题,例如影响世界反序列化和内容交付的问题。
  • 在系统中定义的作业中的固定断点System.API.

图形

  • 添加了 GPU 驻留抽屉,它会自动使用BatchRendererGroup使用 GPU 实例化绘制游戏对象的 API。这减少了绘制调用的数量并释放了 CPU 处理时间。
  • 在 GPU Resident Drawer 中添加了对 SpeedTree GameObjects 的支持。
  • 添加了对 GPU 的支持遮挡剔除 禁用从摄像机视图中隐藏(遮挡)的游戏对象渲染的过程。更多信息
    请参阅术语表
    实例(如果它们与GPU驻留抽屉兼容),包括剔除小网格体。
  • BatchRendererGroup应用程序接口。您可以使用此设置剔除特定批次。
  • 优化了 URP 和 HDRP 中 Volume 框架的 CPU 性能,以提高低端硬件的效率,并允许更精确地控制质量设置。
  • 构建配置文件(Build Profiles) > 资产导入覆盖(Asset Import Overrides) 中添加了 强制无紧缩(Force No Crunch) 纹理压缩设置,该设置强制所有纹理禁用紧缩压缩并重新导入。
  • 添加了一个IRenderPipelineResources界面,允许您在图形设置窗口中添加新的设置组。
  • 更新了默认值IRenderPipelineGraphicsSettings 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
    请参阅术语表
    在修改“图形设置”中的值时触发通知。
  • IRenderPipelineGraphicsSettings.
  • 添加了对 UI 工具包的支持CustomPostProcessOrder.
  • 添加了缓存 URP 和 HDRP 渲染图编译的选项。

URP

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

  • 添加了8192x8192选项设置为主光源和附加光源的阴影纹理分辨率。
  • 在 Forward+ 中添加了对注视点渲染的支持渲染路径渲染管道用于渲染图形的技术。选择不同的渲染路径会影响照明和着色的计算方式。某些渲染路径比其他路径更适合不同的平台和硬件。更多信息
    请参阅术语表
    .
  • 添加了一个相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
    请参阅术语表
    历史纹理管理器和基本界面,用于访问每个摄像机的历史纹理。历史纹理被包装并存储在包含特定于该历史记录的所有纹理、附加数据和 API 方法的类型中。历史纹理对于在多个帧上累积样本或使用前一帧的数据作为输入的渲染算法非常有用。
  • 在URP中添加了自适应探测体积(APV)光照场景混合。
  • 添加了一个新的配置包,允许您覆盖屏幕上可见的最大光源数量。
  • 为自定义渲染通道添加了每个摄像机的颜色和深度历史记录以及历史记录访问。
  • 添加了渲染图表查看器。通过 窗口>分析(Window Analysis) > 渲染图表查看器(Render Graph Viewer) 菜单访问它。该工具有助于可视化和调试渲染图表框架中渲染通道的资源使用情况。
  • 向渲染调试器添加了六个 Mipmap 流式处理调试视图。这些视图位于 Mipmap 流式处理下的 渲染(Rendering) 选项卡中。可用的调试视图包括:
    • Mip流送性能
    • Mip流送状态
    • Mip流送活动
    • Mip流送优先级
    • Mip 计数
    • Mip 比率
  • 添加了 C# 脚本模板以创建后处理在图像出现在屏幕上之前通过应用滤镜和效果来改善产品视觉效果的过程。你可以使用后期处理效果来模拟物理摄像机和胶片属性,例如泛光和景深。更多信息 后处理, 后处理, 后处理
    术语表中查看
    ScriptableRendererFeature使用VolumeComponent.
  • 添加了对URP的APV天空遮挡支持。
  • 新增支持时空后处理(STP)升级方案。
  • Unity 6.0 中用于 URP 的新 RenderGraph 系统可自动优化运行时资源,简化内存使用并提高性能,尤其是在移动 GPU 上。其更严格的 API 指南最大限度地减少了渲染错误和性能问题。NativeRenderPass API 和综合调试查看器的集成有助于高效的故障排除和资源管理。此外,新的 ContextContainer 类提供了对渲染资源的简化访问,提高了复杂项目的易用性和控制性。
  • 此URP版本实现了 Alpha处理(Alpha 处理) 设置(URP 资产> 后处理(Post-processing) > Alpha 处理(Alpha Processing) )。启用此设置后,URP 会将后期处理输出渲染到带有 alpha 通道的渲染纹理中。以前,URP中的后处理工作流程在最终输出中丢弃了alpha通道(将alpha值替换为1)。呈现目标需要带有 alpha 通道的格式。相机颜色缓冲区格式必须为 RGBA8 (SDR) (HDR 关闭) 和 RGBA16F (HDR) (64 位) 。你可以使用 URP 资产>质量中的设置来配置格式。

HDRP

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

  • 添加了对覆盖材质属性的支持,例如平滑度、反照率和法线贴图(normal maps一种凹凸贴图纹理,允许您向模型添加表面细节,例如凹凸、凹槽和划痕,这些细节可以捕捉光线,就好像它们由真实几何体表示一样。
    请参阅术语表
    在所有材质上,方便材质和光照调试。通过路径追踪器管线渲染时,HDRP 中的材质覆盖功能可通过渲染调试器的 Lighting 面板获得。
  • 在自适应探针体积(APV)中添加了天空遮挡功能,以允许一天中的时间使用静态探针体积。
  • 禁用将烘焙数据存储为流式资产存储在自适应探针卷(APV)中,以使其与资产包和可寻址对象兼容。
  • 添加了 AMD FidelityFX 超分辨率 2 (FSR2) Unity 脚本绑定和 HDRP 集成。
  • 改进了现有的Mipmap Streaming调试视图,并添加了更多视图。HDRP 中的当前产品与 URP 提供的产品一致。
  • 新增支持时空后处理(STP)升级方案。

多人游戏

游戏对象的网络代码

  • 在Netcode中添加了分布式权限模式,用于游戏对象客户端在游戏会话期间对生成的Netcode对象具有分布式所有权或权限。使用分布式权限,客户端具有生成网络对象的受治理权限,该对象会向云状态服务宣布,并将状态更新传送到所有连接的客户端。高度优化的云状态服务维护客户端之间网络会话的总体状态。
  • 添加了一个新的 RPC 属性,可以执行服务器和客户端 RPC 的功能,以及启用客户端到客户端 RPC。
  • 添加了许多实用方法,其中包括NetworkManager.OnConnectionEvent,-ServerIsHost,-InstantiateAndSpawn,等等。

实体的网络代码

  • 添加了对游戏对象渲染调试边界框的支持。
  • 添加了 NetCodeConfig ScriptableObject,其中包含大多数 NetCode 配置变量,无需修改代码即可自定义这些变量。
  • 您现在可以通过以下方式禁用自动引导:
    • 在 ProjectSettings 中禁用自动引导。
    • 添加新的OverrideAutomaticNetcodeBootstrapMonoBehaviour 添加到你的第一个构建场景中。
  • 添加AlwaysRelevantQuery您可以使用它来指定相关性的一般规则,而无需逐个重影指定它。
  • Added BatchScaleImportanceDelegate,这是批量工作的重要性缩放函数的新版本。不需要同时设置 ScaleImportance 和 BatchScaleImportance 函数指针。如果设置了 BatchScaleImportance,则它是首选。

多人游戏模式

将多人游戏模式更新到 1.0 版本。使用它来测试多人游戏功能,而无需离开 Unity 编辑器。有关更多信息,请参阅多人游戏模式文档

专用服务器

发布了专用服务器包,可用于在服务器和客户端角色之间切换项目,而无需创建另一个项目。有关更多信息,请参阅专用服务器包文档

工具

将多人游戏工具包更新到 2.1.0 版本,将网络场景可视化添加为新的可视化调试工具。有关更多信息,请参阅多人游戏工具文档

样品

  • 添加了专用游戏服务器示例,以演示多人游戏模式和专用服务器如何与游戏对象的Netcode协同工作。
  • 添加了分布式授权示例,该示例将分布式授权网络模型集成到游戏对象的 Netcode 中。

包管理器

改进了项目清单每个 Unity 项目都有一个项目清单,用作包管理器的入口点。此文件必须在<project>/Packages目录。 包管理器使用它来配置许多内容,包括该项目的依赖项列表,以及用于查询包的任何包存储库。更多信息
请参阅术语表
如果文件为空或充满空格,则使用默认依赖项重新填充文件。

粒子

  • 为粒子轨迹添加了 自定义顶点流(Custom Vertex Streams) 功能。
  • BakeTextureBakeTrailsTexture脚本方法。

平台

人造人

  • 添加了新的 Build 设置,以便在上传时将调试符号嵌入到 App Bundle 中.aab文件添加到 Google Play 商店。您可以选择将符号包作为 zip 文件单独上传,并带有您的.apk.aab文件。您可以使用.so.sym.so.dbg和遗产.so扩展。
  • 添加了新的播放器设置,以便在符号的包大小超过指定阈值时显示警告。
  • .androidlib 插件Unity 外部创建的一组代码,用于在 Unity 中创建功能。可以在 Unity 中使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。更多信息
    请参阅术语表
    用于指定依赖项的检查器unityLibrary.您现在可以配置.androidlib依赖unityLibrary,从而通过覆盖UnityPlayerActivity.

iOS系统

  • 添加.xcframework插件支持。
  • 从中删除了自定义 XIB 启动屏幕类型玩家设置设置,用于为 Unity 构建的最终游戏设置各种特定于玩家的选项。更多信息
    请参阅术语表
    .

视觉作系统

添加了对 Apple 的 visionOS 平台的支持。

Web 平台(以前称为 WebGL)

  • 实现了以下内容LocationServiceWeb 平台中的方法和属性:
    • Start()
    • Stop()
    • isEnabledByUser
    • lastData
    • status
  • 添加了在 Unity 播放器中复制和粘贴的功能。

  • 添加了对 WebAssembly 2023 的支持。有关更多信息,请参阅 WebAssembly 2023。WebAssembly 2023 包括对高达 4GB 堆内存的支持,并且是以下 WebAssembly 语言功能的集合:
    • WebAssembly 本机异常
    • WebAssembly 单指令多数据 (SIMD)
    • 优化数据作
    • 大国际
    • WebAssembly.表
    • 非陷波浮点到 int 的转换
    • 签名扩展
  • 实现了以下 LocationService 方法和属性:
    • GetLastHeading()
    • SetHeadingUpdatesEnabled()
    • IsHeadingUpdatesEnabled()
    • GetHeadingStatus()
    • IsHeadingAvailable()
  • 添加了对 Compass API 的支持。

  • 添加了对移动浏览器的支持。

  • 实现了 Emscripten 3.1.38 工具链。

平台图形

添加了对间接调度光线(DXR 1.1 的一部分)的支持。该方法类似于RayTracingShader.Dispatch,但三个调度维度是从 GraphicsBuffer 检索的。添加RayTracingShader.DispatchIndirect和新的CommandBuffer.DispatchRays签名。添加SystemInfo.supportsIndirectDispatchRays功能状态。

专业构建器

  • 创建了ProBuilder工具上下文,你可以在场景视图:您正在创建的世界的交互式视图。您可以使用场景视图来选择和定位场景、角色、摄像机、灯光和所有其他类型的游戏对象。更多信息
    请参阅术语表
    .ProBuilder工具上下文在场景视图中启用特定于ProBuilder的作。
  • 删除了 ProBuilder 窗口。与场景视图上下文菜单结合使用的ProBuilder工具上下文为ProBuilder作提供了更简化的工作流程。
  • 将顶点、边和面编辑模式移至场景视图中的工具设置叠加层。要在工具设置叠加层中显示 ProBuilder 编辑模式,请在工具叠加层中启用 ProBuilder 工具上下文。
  • 当 ProBuilder 工具上下文在 工具(Tools) 叠加中处于活动状态时,将依赖于元素选择的 ProBuilder作(例如“桥接”、“焊接顶点”和“扩大选择”)移至“场景视图”上下文菜单
  • 移动了适用于整个 ProBuilder 的 ProBuilder作meshUnity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
    请参阅术语表
    组件(例如 Export、Subdivide 和 Center Pivot)添加到场景视图上下文菜单中。
  • 将创建和编辑工具移至工具叠加层。
  • 为大多数 ProBuilder作添加了预览选项。
  • 从 ProBuilder 中移动了这些工具选项工具栏Unity 编辑器顶部的一排按钮和基本控件,允许您以各种方式(例如缩放、翻译)与编辑器交互。更多信息
    请参阅术语表
    到“工具设置”叠加层:
    • 选择隐藏
    • 方向:正常
    • 矩形:相交
  • 改进的创建工具:
    • 使用创建形状工具后按住 Shift 键以创建刚刚创建的形状的副本。
    • 使用创建多边形后,您现在可以在不离开工具的情况下绘制多个形状。

分析器

发布内存 1.1.0 版本分析器帮助您优化游戏的窗口。它显示了在游戏的各个领域花费了多少时间。例如,它可以报告渲染、动画制作或游戏逻辑所花费的时间百分比。更多信息
请参阅术语表
.有关详细信息,请参阅内存分析器包文档

着色器图(Shader Graph)

  • 添加了一个新的示例内容包,可以使用包管理器安装。这些示例包含着色器在 GPU 上运行的程序。更多信息
    请参阅术语表
    图。这些示例可帮助您了解节点的内部工作原理,并查看它们如何工作以及如何使用它们的示例。
  • 添加了用于添加新节点和切换子窗口可见性的新快捷方式,并将几个现有快捷方式移至快捷方式管理器。
  • 在用户首选项中添加了缩放步长选项。
  • 添加了可自定义的热图颜色模式,默认情况下,该模式在着色器图表中显示每个节点的估计性能影响。
  • 在着色器图中添加了功能示例示例,以向用户展示如何在着色器图中实现特定效果。

速度树

添加了 SpeedTree9Importer,它支持 SpeedTree Modeler 9 导出的 .st9 文件,包括以下内容:

  • 支持 SpeedTree Games Wind 和 SpeedTree Legacy Wind 效果。
  • 能够通过导入器设置配置风力和风向响应能力。
  • 用于内置 (.cg)、URP 和 HDRP 渲染器 (.shadergraph).
  • 新风效果的新着色器,但对照明没有重大更改。

版本控制

添加了一个新的选项卡视图,用于列出和管理版本控制用于管理文件更改的系统。您可以将 Unity 与最常见的版本控制工具结合使用,包括 Perforce、Git、Mercurial 和 PlasticSCM。更多信息
请参阅术语表
Unity 的功能。

VFX图表

  • 改进了着色器图跨管道工作流程。
  • 您现在可以处理黑板面板中的内置属性和自定义属性。
  • 允许对具有公开纹理或图形缓冲区的VFX进行实例化渲染。
  • 条带现在支持“间接绘制”选项。“间接绘制”仅渲染处于活动状态的粒子,而不是完全容量。
  • 添加了对条带中每个粒子排序的支持。
  • 在VFX窗口中添加了新的分析/调试面板。
  • 在带有URP的VFX中添加了摄像机缓冲区访问支持。
  • 支持ShaderKeyword在着色器图中声明。
  • 重做了翻页书播放器块。
  • 添加碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息
    请参阅术语表
    允许在接触时进行特定处理的事件。
  • 对VFX Graph中的快捷方式进行了以下改进:
    • 在全局 Unity 快捷方式窗口中注册快捷方式。
    • 尽可能与 ShaderGraph 同步快捷方式。
    • 添加了新的快捷方式。
  • 添加了条带的粒子计数回读,这也允许条带进入睡眠状态。
  • 为条带启用了视锥体剔除。

XR的

在 Vision Pro 上添加了对注视点渲染的支持。

其他资源

Unity 6.0 中的新增功能
Unity 2023.2 中的新增功能