查阅发行说明是了解Unity版本变化的有效手段。如果当前项目使用的Unity存在一些问题,那么在新的版本中有可能会得到解决;如果项目尝试使用一些新的功能,通过阅读发行说明,或许能够发现新功能目前是否存在兼容性问题。
在每一次版本发布以后,Unity都将通过发行说明告知开发者当前版本存在的问题、已修正问题、新功能、API变化等,本文将Unity 2020发布以来的所有关于XR方面的更新说明整理如下,旨在为开发者提供一些针对性的参考。
截至发稿,Unity 2020 版本为2020.3.1,我们也将会长期跟踪后续版本的更新。
2020.1.0f1 发行说明
修正(Fixes)
- 构建ARCore应用程序现在支持Android Gradle Plugin 3.6.3及更早版本
- 修复了基于URP和HDRP的XR项目的自动升级相关问题
- 修复了“无法计算eye texture纵横比(can't calculate the eye texture aspect ratio)”的警告
- 修复了在开发WMR平台应用时使用URP时编辑器崩溃的问题
- 废弃部分内置VR公共API
- 修正了Oculus Quest和GO的renderViewport缩放问题
- 修复了Holographic Emulation 窗口远程错误,该错误导致Unity在选择Hololens 2时会远程到Hololens 1设备。
- 修正了Hololens 2截图时不包含Unity应用内容的问题
- IntegratedSubsystem实例如果被销毁,将返回running = false,而不是抛出异常
- 修复了当AR会话停止或重启时关于多点云可跟踪对象的相关问题
- 修复了从UWP x64应用程序远程到V2设备的问题
- 修复了使用ARKit包(com.unity.xr.arkit)时的着色器编译问题
- 修正了在使用多视图时Vulkan framebuffer层计数逻辑
- 修复了Oculus Go/Quest在屏幕外交换链(off-screen swap chains)上的Vulkan渲染问题
- 修复了片段密度图的Vulkan使用标志
- 修正了Camera.SetStereoProjectionMatrix中的XR警告垃圾邮件问题
- OpenVR将不再为任何控制器报告任何手指轴向信息
- 防止Hololens应用程序在运行中的应用程序中切换焦点到2D视图时暂停
- UnityEngine.XR.InputDevice特征值现在将为尚未赋值的旋转(rotations)返回为Quaternion.identity
- XR Management 更新至3.0.6
- 更新了XR Plugin Management以改善用户工作流程
变化(Changes)
- 如果使用Vulkan和XR Management,则暂时禁止在运行时更改MSAA的级别
- Unity不再包含ARCore客户端库。这些库现在可以通过安装ARCore SDK for Unity(由Google分发)添加到项目中
- Oculus XR Plugin包更新至1.3.4
改进 (Improvements)
- Oculus XR Plugin 更新至1.2
- XR Oculus Plugin 更新至 1.1.5
API变动(API Changes) - 将XR SDK的 zNear / zFar / sRGB暴露给了C#脚本的显式深度共享
Unity 2020.1.3 发行说明
修正(Fixes)
修复了向TryGetFeatureValue传递空字符串时引起的崩溃问题
修复了输入系统(Input System)总是在LateUpdate中执行XR按钮命令的问题
变化(Changes)
Windows Mixed Reality 包认证版更新至3.3.1
Unity 2020.1.4 发行说明
修正(Fixes)
- 添加了在渲染后始终忽略深度的选项
Unity 2020.1.5 发行说明
修正(Fixes)
- 减少了不必要的Vulkan后缓冲区分配
变化(Changes)
- Oculus XR Plugin 包更新至1.4.3
改进(Improvements)
- 修改了XR统计信息以缓存线程安全的统计数据,这些数据仅在经过一个渲染通道后才被提升为“实时”数据。但是,在实际渲染帧之前(如“帧率”),需要“初始化”一些数据点
Unity 2020.1.6 发行说明
修正(Fixes)
- 修正了在多通道模式下,GetStereoViewMatrix和GetStereoProjectionMatrix在双眼中返回相同值的问题
变化(Changes)
- 更新AR Foundation验证包和相关包
Unity 2020.1.8 发行说明
修正(Fixes)
修复了使用XR多通道渲染时SRP批处理器激活的问题
通过离屏交换链改善了Vulkan的内存使用情况
Unity 2020.1.9 发行说明
变化(Changes)
- Oculus XR Plugin 包更新至1.5.0
改进(Improvements)
- 更新了关于 XRDisplaySubsystem.scaleOfAllViewports 和 XRDisplaySubsystem.scaleOfAllRenderTargets 的 api 文档
Unity 2020.1.11 发行说明
修正(Fixes)
- 更新AR Foundation验证包和相关包
改进(Improvements)
- XR Plug-in Management更新至3.2.16,Windows MR XR Plug-in更新至3.4.0
Unity 2020.1.12 发行说明
修正(Fixes)
修复了使用SRP时XR闪屏(Splash Screen)消失的问题
修复了在使用立体多通道渲染每只眼睛时,使用了不同的摄像机,导致左眼渲染右眼,右眼完全不渲染的问题
Unity 2020.1.14 发行说明
修正(Fixes)
- 在VR设备上看不到Android对话框时,利用VR设备上的上下音量按钮来确认和继续,而不是只限于点击屏幕上的 "Ok "按钮
Unity 2020.1.15 发行说明
已知问题(Known Issues)
- [XR SDK][Oculus] EarlyUpdate.XRUpdate 存在峰值不一致的问题
变化(Changes)
- Oculus XR Plugin 包更新至1.6.1
Unity 2020.1.16 发行说明
已知问题(Known Issues)
- [XR SDK][Oculus] EarlyUpdate.XRUpdate 存在峰值不一致的问题
修正(Fixes)
面向Lumin OS构建应用时,不再需要将预编译的托管DLLs打包到最终的MPK中
面向Lumin OS 在构建IL2CPP库时,现在可以正确地包含源插件
修复了当启用VR时,VSync在Profiler中不显示的问题
变化(Changes)
com.unity.xr.legacyinputhelpers包认证版更新至2.1.6
-
com.unity.xr.legacyinputhelpers包更新日志:
- 修复了使用彩色相机时的错误信息
- 将近切平面(near clip plane )的默认值改为0.01f
- 修复了URP和HDRP中的rig移动异常问题
- 支持URP/HDRP 10.1
Unity 2020.1.17 发行说明
已知问题(Known Issues)
- [XR SDK][Oculus] EarlyUpdate.XRUpdate 存在峰值不一致的问题
Unity 2020.2.0 发行说明
改进(Improvements)
更新AR Foundation包的认证版和相关包
Windows Mixed Reality XR Plugin 包认证版更新至4.1.1
XR Plug-in Management 更新至3.2.16,Windows MR XR Plug-in 包更新至4.2.1
变化(Changes)
为provider添加了接口更改,以便在眼睛纹理交换链之间共享未解决的 MSAA 目标。可节省部分内存
更改了与Vulkan和XR Management一起运行时暂时禁用MSAA级别受影响的方式
更改了在使用Vulkan和XR Management运行时,临时禁用运行时MSAA级别的影响
保持SRP遮挡网格数据可从CPU访问
Oculus XR Plugin 包更新至1.6.1
Unity 2020.2.1 发行说明
API变动(API Changes)
添加相关API,以便重写XR显示子系统的首选镜像模式
在C#脚本中添加了MSAA级别的setter
TrackingModeOriginFlags 现在有一个 Unbounded 枚举成员。Unbounded 基于附近的空间锚点,并且可以由SDK随意更新
内置VR支持已经从Unity核心中移除,取而代之的是新的XR插件系统。更多信息可访问:docs.unity3d.com/Manual
修正(Fixes)
添加了XRDisplay中缺失的Vulkan设备刷新
使用XR SDK渲染到VR设备时禁用水印
修复了摄像机不遵循近/远裁切平面设置的一种情况
修复了防止在 Oculus Quest 上使用 B10G11R11 纹理格式的崩溃问题
修复了当呈现地形时MockHMD(多通道)导致的崩溃问题
修正了在出现地形时与 MockHMD (multipass) 发生碰撞的问题
修复了由于内存泄漏而导致的使用URP 10 时Quest应用崩溃的问题
修正了使用多视图时Vulkan framebuffer层计数逻辑问题
修复了无法清除非全屏平台的纹理阵列上的部分视口清除的问题
修复了XRDevice、XRSettings 和 XRStats 无法通过SRP提供有效数据的问题
修复了一个用OpenGL编译Texture2DMSArray着色器的问题
修复了在URP中选择 “Optimized Frame Pacing" 时崩溃的问题
修复了在Vulkan多视图中MSAA的问题
修复了URP和HDRP项目自动升级的问题
修复了MirrorView BlitMode C#与XR显示标题不同步的问题
修复了在某些情况下对右眼的多通道颜色解析
修复了渲染通道修复中引入的回归问题
修复了在URP中无法使用 Sprite Mask 的问题
修复了ScriptableCullingParameters的0初始化
确保了在OpenGL的DrawNullGeometry()和DrawIndexedNullGeometry()中能够正确使用GetInstanceCountMultiplier()
在Unity编辑器播放状态下修改脚本将不再导致Subsystems卸载
Subsystem infrastructure 将不再弹出废弃警告
为片段密度图设置了相应的Vulkan使用标志
更新 XR Plugin Management 以优化用户工作流程
修复了UWP在XR模式下运行时的错误断言:连续多次调用WaitForLastPresentationAndGetTimestamp()
Unity 2020.2.2 发行说明
修正(Fixes)
- com.unity.xr.legacyinputhelpers 包更新至2.1.7。
- 修复了 URP 和 HDRP 在同一项目中时的自动化编译错误,并修复了隔离编译
Unity 2020.2.3 发行说明
修正(Fixes)
- 修复了Vulkan在Oculus Quest上的故障
变化(Changes)
Oculus XR Plugin 包更新至 1.7.0
Windows XR SDK Plug-in 包更新至 4.4.0
XR Plug-in Management 更新至 3.2.17
Unity 2020.2.4 发行说明
修正(Fixes)
修复了Windows player启用VR后在不可见时的死锁问题
认证版 AR Foundation相关包更新至4.0.10,相关细节参见AR Foundation 包更新日志
Unity 2020.2.5 发行说明
修正(Fixes)
- 修正了Lumin平台上ApplicationInfo无法正确填充的问题
Unity 2020.2.7 发行说明
新功能(Features)
- 发布 OpenXR Plugin 包,版本1.0.0
修正(Fixes)
修复了运行Development Build时 URP Vulkan 的性能问题
修正了一个在SRP中遮挡剔除不起作用的问题
API变动(API Changes)
- XR Plug-in Management 更新至 4.0.1
改进(Improvements)
将AR Foundation 包的依赖更新至XR Management 4.0
MagicLeap XR Plugin 包更新至 6.2.2
Oculus XR Plugin 包更新至1.8.1
Windows XR Plugin 包更新至4.4.1
Unity 2020.3.1 发行说明
新功能(Features)
- 在Vulkan上开发Quest应用时,通过使用View / Controller Late Latching 技术来显着减少延迟
修正(Fixes)
- 修复了当摄像机接近裁切面时在两个烘焙的遮挡区域之间过渡过程中发生的遮挡剔除故障