Unity 2022.2 新功能
发行说明
欲了解有关此Unity版本的最新功能、更改和改进的详细信息,请参阅2022.3 发行说明。
升级指南
如果您正在将现有项目从2022.2升级,请阅读升级到2022LTS指南以获取有关您的项目可能受到的影响的信息。
新增内容
查看Unity 2022.2自2022.1以来的更改,并查看受影响区域的相关文档。
编辑器和工作流
- 设备模拟器设备列表现在包括一个新按钮,可以安装包含Unity最新设备定义的com.unity.device-simulator.devices包。
- 现在您可以选择在游戏视图窗口聚焦时阻止在播放模式期间触发快捷键。
- 为尾迹渲染器添加了编辑模式预览覆盖层
- 向
ShortcutManager
中添加了上下文列。
- 在快捷键管理器中添加了导入和导出配置文件的功能。
- 向UIToolkit中添加了MinMaxCurveProperty滑动条。
- 现在您可以从测试列表中以指定顺序运行测试。
内存分析器
内存分析器 1.0.0 包含以下功能
- 一个新的 全部内存快照比较 选项卡。
- 一个 关闭 按钮,用于关闭快照,这意味着,单击选定的快照不再关闭它。
- 在两个捕获之间实现Unity对象分解比较。
有关更改摘要,请参阅内存分析器1.0.0新增功能。
编辑器UI的UIToolkit
- 为背景渲染添加了对
background-position
、background-size
和background-repeat
的支持。
- 为
ColorBlockDrawer
和NavigationDrawer
添加了新的UI Toolkit版本。
- 改进了Inspector的UI/UX,根据属性的当前状态显示适当的视觉提示,并提供了更多关于属性值绑定和解析的详细信息。
- 改进了UI Builder Inspector。
- 向UI Builder添加了库图标。
- 向UI Builder样式Inspector添加了
align-self
字段。
- 添加了实现
DecoratorDrawers
的调用。
-
同步TextCore的文本生成与TextMeshPro的最新代码。.
图形
- 为SRP中的每个对象常量缓冲区添加了对当前渲染器边界的访问。
- 实现了针对
BatchRendererGroup
的自定义错误/加载着色器支持。
- 添加了用于缓冲区加载/存储操作的视觉调试工具。
- 为
BatchRendererGroup
添加了对OpenGL ES 3.1的支持。
- 地形场景中的景观。地形游戏对象向场景中添加了一个大型的平坦平面,您可以使用地形检查器窗口来创建详细的景观。更多信息
在术语表中查看 高度图存储对象高度数据的灰度纹理。每个像素存储该像素代表的面的垂直高度差。
在术语表中查看在使用RayTracingAccelerationStructure.CullInstances
函数时支持RayTracingAccelerationStructure
。
- 在Vulkan中使用片段密度图偏移添加了注视点汇聚渲染(GFR)。
- Texture2D导入器和构造函数现在允许排除纹理以使用mipmap限制,确保所有mip级别都可以上传,而不管质量设置如何。
- 添加了运行时可修改的Texture2D属性来切换排除纹理以使用mipmap限制(仅适用于可读的Texture2D)。
- Texture2D导入器和构造函数现在可以用于将纹理添加到由项目定义的mipmap限制组中,以便更精细地控制每个质量级别上的纹理质量。
- 添加了mipmap限制组,以便更精细地配置应用于所有mip映射的Texture2D的单个值。
- 在玩家设置允许您设置由Unity构建的最终游戏的玩家特定选项的设置。更多信息
在术语表中查看中添加了着色器变体加载设置,以控制着色器在运行时使用多少内存。
- Shader Warmup现在可以异步编译管道状态对象。
- D3D12/Vulkan的焦点渲染支持。
URP
有关URP中新增功能和改进的完整描述,请参阅URP 14(Unity 2022.2)新增内容页面。
新增功能
改进
- 改进了屏幕空间环境光遮蔽近似环境光(非来自特定方向的光)可以击中表面上的一个点的程度的方法。
在术语表中查看(SSAO)的性能和可用性。
- 增加了新的64位高精度HDR渲染目标格式。
- 增加了新的 bloom质量设置。
- 改进了渲染管道转换器。
- URP中的全屏绘制现在使用SRP Core Bliter API。
- 在不同平台上具有更一致的光照行为。
- 添加了新的XRSystem API。
- 着色器剥离改进
- 针对负载较重的场景改进了CPU性能。
HDRP
新增功能
- 添加了全屏材质类型和样本集。
- 添加了对地形的光线追踪支持。光线追踪通过镜头从每个像素追踪光线到撞击点并记录颜色贡献的过程。这是光栅化的另一种选择。raytracing
查看术语表
- 添加了水下系统。
- 对局部体积雾体积添加了体积材料支持。
- 添加了透明度采样场景。
- 在渲染调试器中添加了颜色监视器。
- 添加了新的名为Eye Cinematic的EyeShader类型,具有焦散功能。
- 光线追踪设置体积包括用于定义执行光线追踪剪裁算法的剪裁模式属性。
改进
- 将扩散配置文件的散射颜色HDR颜色选择器替换为LDR颜色选择器。
- 添加了可控制PBR累积SSR算法行为的屏幕空间反射组件属性。
- 在自定义绘制中添加了名为目标的属性,以便访问当前的实例。
- 添加了帧设置中的非对称投影和屏幕坐标覆盖。
- 将后处理效果用于支持屏幕坐标覆盖。
- 在StackLit上添加了覆盖扩散配置文件IO的设置。
- 在镜头眩光组件中添加了遮挡重映射曲线属性。
- 添加对镜头眩光模拟光源在相机镜头内部折射的效果。使用镜头眩光来表示非常明亮的灯光或为场景添加氛围。更多信息
查看术语表组件的触摸调整体积,并且现在可以使用体积绘制单独的照明场景并混合它们。
包管理器
- 将包操作活动从包详细信息标题中的工具栏移动,并在详细标题中实现了新的设计更改。
- 将包详细信息重新组织为基于标签的显示。现在包有了各自的标签页,包括描述、版本历史、示例和依赖项,同时还有对资源商店由Unity和社区成员创建的不断增长的免费和商业资源库。提供各种资源,从纹理、模型和动画到整个项目示例、教程和编辑器扩展。更多信息
见术语表包的标签页包括概述、发布和图片。
- 从
com.unity.properties
包中添加了一个运行时模块,该模块启用了通用访问者模式的用法。
- 通过向
UnityEditor.PackageManager.PackageInfo
类添加isDeprecated
和deprecationMessage
属性来更新脚本API,这些属性会在作者在注册表中将指定版本标记为已弃用时设置。
- 通过在
UnityEditor.PackageManager.VersionsInfo
类(通常通过UnityEditor.PackageManager.PackageInfo
实例的versions
属性访问)中添加deprecated
属性来更新脚本API,该类列出在注册表中被标记为已弃用的所有该包版本。
创作工具
动画
- 修改了
MonoBehaviour
的SerializeReference
实例的域,以便它们可以像在MonoBehaviour
类上直接定义的域一样被动画化。
- 添加了对一次性编辑多个动画剪辑可以用于动画角色或简单动画的动画数据。它是简单的“单位”动作,例如“Idle”、“Walk”或“Run”的特定实例。更多信息
见术语表的支持。
导航和路径寻找
- 发布了一个新的AI导航包,它最终将取代核心导航和路径寻找功能。
- 已从导航窗口中删除了“烘焙”和“对象”标签页,因为它们不再是必需的。但是,您仍然可以在导航(已废弃)窗口中找到它们。
- 导航静态和离网链接生成选项不再可用在静态编辑器标志下拉菜单中。但是,您仍然可以在导航(已废弃)窗口 > 对象标签页中找到它们。
地形
添加了质量设置来控制不同质量级别上的各种地形设置。
音频
添加了与视频播放器组件一起使用的时钟管理选项。
2D
2D现在支持以下功能
- 新的2D物理分析器一个窗口,帮助您优化游戏。它显示了您游戏中各个区域耗费的时间。例如,它可以报告渲染、动画或您的游戏逻辑中花费的时间百分比。更多信息
见术语表带自定义配置计数器。
- 为2D物理添加了新的编辑器首选项编辑器,允许配置图形对象与场景中的游戏对象关联的图形覆盖,并在场景视图中显示。内置场景工具,如移动工具,都是图形对象,您可以使用纹理或脚本创建自定义图形对象。一些图形对象仅在选中游戏对象时绘制,而其他图形对象无论选中哪个游戏对象都由编辑器绘制。更多信息
见术语表颜色和设置。
- 2D 物理引擎可以根据选项绘制轮廓和填充的碰撞体,这是 2D 物理编辑器中的新功能。碰撞体一个不可见的形状,用于处理对象的物理碰撞。碰撞体不需要与对象的网格形状完全相同 - 通常粗糙的近似既高效又不易在游戏中区分。更多信息
在词汇表中查看
- 可以按碰撞体(Collider2D)选择接触到的层。
- 覆盖碰撞体、刚体(Rigidbody)组件、关节体(Articulation Bodies)和角色控制器(Character Controllers)的层碰撞选项,以便精确调整哪些物体与哪些层发生碰撞。
2D 物理引擎改进
现在您可以在 2D 物理引擎中进行以下操作:
- 显式重写(包含或排除)Rigidbody2D/Collider2D 的接触层,以便它可以为每个对象重写层碰撞矩阵。
- 控制Collider2D在接触另一个Collider2D时按层发送和接收力。
- Rigidbody2D可以直接通过调用add force或add torque读取或写入作用在其上的总力量或扭矩。
- Joint2D可以选择当关节断裂时的四种模式之一,以控制要采取的操作。这些是“忽略”、“仅回调”、“禁用”或“销毁”。之前,“销毁”是固定操作,并且仍然是默认操作。
突发模式
添加了对在Burst编译的代码中检测管理断点的支持,并自动将受影响的代码切换到Mono执行路径以允许管理调试。需要Burst 1.8。
视觉效果图
- 效果实例化现在优化了CPU和GPU的VFX运行时。
- 在块上添加了布尔激活端口。
- 添加了透传空间(None)。
- 蒙皮网格Unity的主图形基本单元,网格构成了你3D世界的大部分。Unity支持三角形网格和四边形网格。Nurbs、Nurms、Subdiv表面必须转换为多边形。更多信息
参见词汇表抽样出实验性内容。
- 为烟雾添加了一个新的光照模型:六向光照。
平台
- 在Android平台中初步支持Magic Leap 2。
- 引入了新的WebGL一个可以渲染网页浏览器中的2D和3D图形的JavaScript API。Unity WebGL构建选项允许Unity发布内容为JavaScript程序,使用HTML5技术和WebGL渲染API在浏览器中运行Unity内容。更多信息
参见词汇表播放器设置,以在WebGL应用程序中显示诊断信息(目前仅限于内存使用)。
- WebGL VideoPlayer现在具有可配置的时间更新模式,以支持游戏时间、无缩放游戏时间和音频显示时间。
艺术家和电影工具
ShaderGraph
通过对象节点,Shader Graph现在可以访问渲染器边界。
程序员工具
AI
在运行时构建NavMeshUnity生成的一个网格,用于近似你的环境中的可通行的区域和障碍物,以进行寻路和AI控制导航。更多信息
参见词汇表时可以创建高度网格。
内核
添加了一个新的内存管理插件在Unity外部创建一套代码,以便在Unity中创建功能。你可以在Unity中使用两种类型的插件:托管插件(使用Visual Studio等工具创建的托管.NET程序集)和本地插件(特定平台的原生代码库)。更多信息
参见词汇表接口,以便Unity的本地内存管理器执行本地内存分配。
序列化改进
SerializeReference
实例的MonoBehaviours
中的字段现在可以像直接在MonoBehaviours
上的字段一样进行动画处理。
- 通过
Serialization.ManagedReferenceUtility
中的ID在运行时制作了EditorSerializationUtility
服务,以访问和操作具有ID的SerializeReference
实例。
版本控制
在更改集视图中添加了分支名称列。
资产商店
添加了验证解决方案程序,这是一个Unity编写的第三方资源和解决方案库。
XR
- 为一些XR一个涵盖虚拟现实(VR)、增强现实(AR)和混合现实(MR)应用的通用术语。支持这些形式交互应用设备可称为XR设备。更多信息
参见词汇表显示子系统入口点添加了探针标记放置在代码中,用于描述随后将显示在Unity Profiler窗口中的CPU或GPU事件。默认情况下添加到Unity代码中,或您可以使用ProfilerMarker API添加您自己的自定义标记。更多信息
参见词汇表,标记名称为XR.Display.*
- 添加了对晚锁模式的支持,以帮助验证Oculus XR插件的晚锁功能。
-
Unity Mars现在包含在Unity Pro、Unity Enterprise和Unity Industrial Collection中。
XR包更改
版本更新
- com.unity.xr.arcore: 4.2.1 → 5.0.2
- com.unity.xr.arfoundation: 4.2.1 → 5.0.2
- com.unity.xr.arkit: 4.2.1 → 5.0.2
- com.unity.xr.core-utils: 2.0.0-pre.5 → 2.1.0
- com.unity.xr.interaction.toolkit: 2.0.0-pre.5 → 2.1.1
- com.unity.xr.legacyinputhelpers: 2.1.8 → 2.1.10
- com.unity.xr.oculus: 1.11.0 → 3.2.1
- com.unity.xr.openxr: 1.3.0 → 1.5.3
已从AR增强现实(Augmented Reality)更多信息
参见词汇表 功能集功能集是一系列相关的包,您可以使用它在Unity编辑器中实现特定结果。您可以直接在Unity的包管理器中管理功能集。更多信息
参见词汇表中移除了已过时的unity.xr.arkit-face-tracking
包。(API现在在主ARKit包中。)
AR Foundation 5.0.2
ARCore 5.0.2
ARKit 5.0.2
- 扩展了人脸跟踪功能,包括使用前视和后视摄像头同时跟踪多个面部。设备必须支持Apple ARKit 3。
- 将com.unity.arkit-face-tracking包合并到ARKit包中。不再需要单独的ARKit Face Tracking包。
Oculus 3.2.1
- 在Quest 2上使用Vulkan和Multiview时,添加了对对称投影的可选支持。此模式可以由于左右眼之间更常见的工作负载而提高Multiview时的GPU性能。在“XR插件管理”下的Oculus设置中启用对称投影。
- 将Quest Pro添加到Oculus设置中“XR插件管理”下的目标设备列表。启用此选项,将Quest Pro添加到应用的Android清单中。
OpenXR 1.5.3
- 增加了项目验证支持(需要XR Core Utilities 2.1.0+)。项目验证评估项目设置以识别可能的问题。
- 增加了设置环境混合模式的支持。
- 为UWP增加了对XR_MSFT_holographic_windown_attachment扩展的支持,以便安装Microsoft OpenXR插件(混合现实)。当针对HoloLens V2设备时,不再需要它们。
- 增加了对XR_FB_foveation、XR_FB_foveation_configuration、XR_FB_swapchain_update_state、XR_FB_foveation_vulkan和XR_FB_space_warp扩展的支持。
- 应用现在会在Oculus Link丢失和重新连接后尝试恢复。
XR交互工具包 2.1.1
- 增加了一个选项,使抓取对象时使用附着点的动态性。有关更多信息,请参阅XR抓取交互。
- 增加了“意图”过滤,使用加权分数来选择多选对象时应该选择哪个对象。有关更多信息,请参阅目标过滤器。
- 增加了一个选项,在移动过程中激活舒适性变暗。有关更多信息,请参阅隧道变暗控制器。