文章目录
原文链接
Unity 2022.2新功能
发布说明:
要了解更多关于此Unity版本的新功能,更改和改进,请参阅2022.3发布说明。
升级指南:
如果要从2022.2升级现有项目,请阅读2022LTS的升级指南,了解项目可能受到的影响。
改变
查看Unity 2022.2自2022.1以来的变化,并查看受影响区域的文档。
编辑器和工作流程 (Editor and Workflow)
- 设备模拟器的设备列表现在包含一个新按钮去安装com.unity.device-simulator.devices包,里面有Unity定义的最新设备。
切换设备模拟器:Game-Simulator-Install Additional Devices
另:可以在Window-Package Manager-Packages:Unity Registry中找到Device Simulator Devices包,可以手动添加或移除设备。
- 你现在可以选择在游戏视图窗口聚焦时阻止在播放模式中触发快捷方式。
- 为Trail Renderer添加了一个编辑模式预览叠加
- 在快捷键管理器中增加了上下文列。
- 在快捷键管理器中增加了导入和导出配置文件的功能。
- 在UIToolkit Inspector中增加了MinMaxCurveProperty Drawer.
- 现在可以从测试列表中按指定顺序运行测试。
内存分析器 (Memory Profiler)
内存分析器1.0.0包括以下特性:
- 新的所有内存快照比较选项卡。
- 关闭按钮用于关闭快照,这意味着单击所选快照将不再关闭该快照。
- Unity Objects在两个捕获之间的分解比较。
用于编辑器UI的UI Toolkit (UI Toolkit for Editor UI)
- 增加了对背景渲染的背景位置、背景大小和背景重复的支持。
- 为ColorBlockDrawer和NavigationDrawer添加了新的UI Toolkit版本。
- 改进了检查器的UI/UX,根据属性的状态显示适当的视觉提示,并提供了更多关于属性值如何绑定和解析的细节。
- 改进了UI Builder检查器(Inspector)。
- 在UI Builder中添加了库图标。
- 在UI Builder样式检查器(style Inspector)中添加align-self字段。
- 增加了实现DecoratorDrawers的调用。
- 从TextMeshPro同步TextCore的文本生成与最新的代码。
图形
- 在SRPs的每个对象常量缓冲区中增加了对当前渲染器边界的访问。
- 为BatchRendererGroup实现了自定义错误/加载着色器支持。
- 增加了缓冲加载/存储操作的可视化调试工具。
- OpenGL ES 3.1支持BatchRendererGroup。
- 当使用RayTracingAccelerationStructure.CullInstances函数时,在RayTracingAccelerationStructure中支持地形高度图(Terrain heightmap)。
- 在Vulkan上增加了使用碎片密度地图偏移(fragment density map offset)的注视焦点渲染(gaze foveated rendering, GFR)。
- Texture2D导入器和构造器现在允许从mipmap限制中排除纹理,确保无论质量设置如何,所有的mips都可以上传。
- 添加了运行时可修改的Texture2D属性,以切换从mipmap限制中排除纹理(仅适用于可读的Texture2D)。
- Texture2D导入器和构造器现在可以用来将纹理添加到项目定义的mipmap限制组中,以便更细粒度地控制每个质量级别对纹理质量的影响。
- 添加了mipmap限制组,以便在应用于所有mipmap texture2d的单个值上实现更细粒度的可配置性。
- 在播放器设置中增加了着色器变体加载设置,以控制运行时着色器使用多少内存。
- Shader Warmup现在可以异步编译管道状态对象。
- 支持D3D12/Vulkan的注视点渲染。
通用渲染管线 (URP)
有关URP新功能和改进的完整描述,请参阅URP 14 (Unity 2022.2)中的新功能页面。
新功能:
- 增加了全屏通道渲染功能。
- 添加自定义后处理效果与全屏通道渲染功能。
- 增加渲染层。
- 增加了前进+渲染路径。
- 添加LOD交叉褪色。
- 着色器剥离改进:增加了光饼干剥离。
- 将光层和贴花层改为渲染层。
改进:
- 屏幕空间环境遮挡(SSAO)的性能和可用性改进。
- 新的64位高精度HDR渲染目标格式。
- 新的开花质量设置。
- 渲染管道转换器的改进。
- URP中的全屏绘制现在使用SRP Core Bliter API。
- 在不同平台上更一致的照明行为。
- 新的XRSystem API。
- 着色器剥离改进
- 针对轻型场景的CPU性能改进。
高清渲染管线 (HDRP)
新功能:
- 增加了全屏材质类型和样品设置。
- 增加了对地形的光线追踪支持。
- 增加了水系统。
- 体积材料支持局部体积雾体积。
- 增加透明度样例场景。
- 为渲染调试器添加了颜色监视器。
- 添加了一个新的眼部着色类型,叫做眼部电影。
- 光线追踪设置卷包括剔除模式属性,用于定义执行光线追踪剔除的算法。
改进:
- 用LDR颜色选择器替换了扩散轮廓散射颜色HDR颜色选择器。
- 为屏幕空间反射组件添加属性,以控制PBR积累SSR算法的行为。
- 在自定义通行证抽屉中添加了一个名为Target的属性,以访问当前的自定义通行证实例。
- 增加了不对称投影和屏幕坐标覆盖帧设置。
- 适应后处理效果,以支持屏幕坐标覆盖。
- 在StackLit上增加了覆盖扩散配置文件IOR的设置。
- 添加遮挡重映射曲线属性到Lens Flare组件。
- 添加了用于调整探针卷的探针补片卷,现在您可以使用探针卷烘烤单独的照明场景并在它们之间混合。
包管理器
- 移动了包详细信息头中的包操作工具栏,并在详细信息头中实现了新的设计更改。
- 将包详细信息(Package Details)重组为基于选项卡的显示。包(Packages)现在有单独的选项卡用于描述、版本历史、样本和依赖项(Description, Version History, Samples, and Dependencies),而资产库包(Asset Store Packages)有概述、发布和图像选项卡(Overview, Releases, and Images)。
- 添加了一个来自com.unity.properties包的运行时模块,该模块支持使用通用访问者模式(generalized visitor pattern)。
- 通过在UnityEditor.PackageManager.PackageInfo类中添加isDeprecated和deprecationMessage属性更新了脚本API。当给定的包版本被其作者在注册表上标记为已弃用时设置。
- 通过将deprecated属性添加到UnityEditor.PackageManager.VersionsInfo类(通常通过UnityEditor.PackageManager.PackageInfo实例的versions属性访问)更新了脚本API,该属性列出了该包在注册表上标记为deprecated的所有版本。
编程工具 (Authoring Tools)
动画 (Animation)
- 修改了MonoBehaviour的SerializerReference实例上的字段,这样它们就可以像MonoBehaviour类上的字段一样直接被动画化(animated)。
- 增加了一次编辑多个动画剪辑的支持。
导航和寻路 (Navigation and Pathfinding)
- 发布了一个新的AI Navgation包,最终将取代核心的导航和寻路功能。
- 从导航窗口中删除烘焙和对象(Bake and Object)选项卡,因为它们不再需要。但是,您仍然可以在Navigation(Obstacle)窗口中找到它们。
- 在静态编辑器标志下拉菜单中,导航静态和网格链接生成(Navigation Static and Off Mesh Link Generation)选项不再可用。但是,您仍然可以在Navigation(Obstacle)窗口>Object选项卡中找到它们。
地形 (Terrain)
增加了质量设置来控制不同质量水平的各种地形设置。
音频 (Audio)
增加了时钟管理选项与视频播放器组件。
2D
2D现在支持以下功能:
- 新的2D物理分析器区域与自定义配置文件计数器。
- 新的编辑器2D物理偏好编辑器,允许配置Gizmo的颜色和设置。
- 2D物理碰撞器Gizmos可选择绘制轮廓和填充碰撞器的能力。这些是物理 2D项目设置编辑器中的新选项。
- 能够选择per-Collider2D,哪些层接触:
- 用于查询和生成物理回调。
- 将产生一个物理回调。
- 一个覆盖Colliders, Rigidbody组件,ArticulationBodies和Character Controllers的图层碰撞的选项,它允许微调哪些物体应该与哪些层碰撞。
2D Physics improvements
你现在可以在2D物理中允许以下内容:
- Rigidbody2D/Collider2D显式覆盖(包括或排除)接触层,因此它可以覆盖每个对象的层碰撞矩阵。
- 在与另一个Collider2D接触时,控制每层发送和接收力的Collider2D。
- 一个Rigidbody2D来读取或写入通过add force或add torque调用直接施加到它的总力或扭矩。
- Joint2D用于选择四种模式中的一种,这些模式控制关节断裂时要采取的动作。它们是Ignore, CallbackOnly, Disable, Destroy。在此之前,Destroy是固定操作,并且仍然是默认操作。
Burst
增加了对在用Burst编译的代码中检测托管断点的支持,并自动将受影响的代码切换到单执行路径以允许托管调试。需要Burst 1.8。
视效图 (VFX Graph)
- VFX实例现在优化了CPU和GPU的VFX运行时(runtime)。
- 块上的激活布尔端口。(Activation Boolean port on blocks.)
-增加直通空间(无)。(Added passthrough space (None))
蒙皮网格采样实验。
为烟雾添加了一个新的照明模型:六向照明。
平台 (Platforms)
- 在Android上增加了对Magic Leap 2的初步支持。
- 引入了一个新的WebGL播放器设置来显示WebGL应用程序中的诊断信息(目前仅限于内存使用)。
- WebGL VideoPlayer现在有一个可配置的时间更新模式,以支持游戏时间,非缩放游戏时间和音频显示时间。
美工和电影工具 (Artist and Cinematic tools)
视效图 (ShaderGraph)
在Shader Graph中通过对象节点增加了对渲染器边界的访问。
程序设计器工具 (Programmer tools)
人工智能 (AI)
在运行时构建导航网格(NavMesh)时,增加了一个创建高度网格(height mesh)的选项。
内核 (Kernel)
增加了一个新的内存管理(Memory Manager)插件接口,允许Unity的本机内存管理器进行本机内存分配。
序列化的改进 (Serialization improvements)
- MonoBehaviour的SerializeReference实例上的字段现在可以像MonoBehaviour上的字段一样被动画化(animated)。
Changed so fields on SerializeReference instances of MonoBehaviours can now be animated like fields directly on MonoBehaviours.
- 使EditorSerializationUtility服务访问和操作SerializeReference实例,这些实例的IDs在Serialization.ManagedReferenceUtility中运行时可用。
(Made EditorSerializationUtility services to access and manipulate SerializeReference instances with IDs available at runtime in Serialization.ManagedReferenceUtility.)
版本控制 (Version Control)
在变更集视图中添加分支名称列。
资源库 (Asset Store)
增加了已验证的解决方案程序,这是Unity策划的第三方资产和解决方案库。
XR
- 增加了一些XR显示子系统入口点的分析器标记。标记命名为XR.Display.*
- 增加了对后期锁存调试模式的支持,以帮助验证Oculus XR插件的后期锁存功能
- Unity Mars现在包含在Unity Pro, Unity Enterprise和Unity Industrial Collection中。
XR package changes
版本更新:
- 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.arkitcore-utils: 2.0.0-pre.5→2.1.0
- com.unity.xr.interaction.toolkit: 2.0.0-pre.5.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 Feature set中已弃用的unity.xr.arkit-face-tracking 包。(APIs现在在主ARKit包中。)
AR Foundation 5.0.2
- 增加了AR调试菜单,为AR调试信息提供可视化。
- 增加了XR模拟,允许在编辑器内的模拟环境中测试AR应用程序(以前只有火星的功能)。
- 将com.unit .xr. ar子系统包合并到AR Foundation中。
- XRDepthSubsystem重命名为xrpointcloud子系统,XRDepthSubsystemDescriptor重命名为XRPointCloudSubsystemDescriptor。
ARCore 5.0.2
- 增加了项目验证规则,可以识别应用程序中的配置和设置问题。
- 添加一个选项到OcclusionPreferenceMode来禁用遮挡渲染。
- 增加了对改变相机背景渲染顺序的支持。
- 更新包使用谷歌的ARCore 1.31。
- 将深度数据更新到16位,将深度范围从8米增加到65米。
- 增加了CancelPermissionRequest方法,允许开发人员处理权限请求。解决问题:ARFOUNDATION:相机请求权限窗口不显示时,应用程序最小化,并再次打开在ANDROID设备上。
ARKit 5.0.2
- 扩展的面部跟踪功能,包括同时使用前后摄像头跟踪多个面部。设备必须支持Apple ARKit 3。
- 合并com.unity.arkit -face-tracking包到ARKit包中。不再需要单独的ARKit Face Tracking包。
Oculus 3.2.1
- 在任务2中使用Vulkan和Multiview时增加了对称投影(Symmetric Projection)的可选支持。由于左眼和右眼之间的工作负载较多,该模式在使用Multiview时可以提高GPU的性能。在XR插件管理下的Oculus设置中启用对称投影。
- 在XR插件管理下的Oculus设置中将Quest Pro添加到目标设备列表中。启用此选项将Quest Pro添加到应用程序的Android清单中。
OpenXR 1.5.3
- 增加了项目验证支持(Project Validation support )(需要XR Core Utilities 2.1.0+)。项目验证评估项目设置以识别可能的问题。
- 增加了对设置环境混合模式的支持。
- 在UWP上增加了对XR_MSFT_holographic_windown_attachment扩展的支持,因此如果针对HoloLens V2设备,不再需要安装Microsoft Mixed Reality OpenXR插件。
- 增加了XR_FB_foveation, XR_FB_foveation_configuration, XR_FB_swapchain_update_state, XR_FB_foveation_vulkan和XR_FB_space_warp扩展的支持。
- 应用程序现在会在Oculus链接丢失和重新连接后尝试恢复。
XR Interaction Toolkit 2.1.1
- 增加了一个选项,使抓取对象时使用的附着点是动态的。更多信息请参考增强现实抓取互动(XR Grab interacttable)。
- 增加了“意图”过滤,当多个对象符合条件时,使用加权分数来选择选择哪个对象。有关更多信息,请参阅目标过滤器(Target filters)。
- 增加了一个选项,以激活一个舒适模式的小插图在运动期间。有关更多信息,请参阅隧道美化控制器(Tunneling Vignette Controller)。