7 附录
7.1 变更日志
该格式基于保留更改日志(打开新窗口),并且该项目遵循语义版本控制。
[0.15.0] - 2023-05-31
Unity
- 要查看 Unity 特定更改,请转至 Unity 更改日志。
虚幻引擎
- 要查看虚幻引擎特定更改,请转至虚幻引擎变更日志。
[0.14.0] - 2023-05-31
Snapdragon Spaces 服务
新增
- 添加了对 VR 设备上的 OpenXR Stage Space 的支持。
变更
- 更新了空间网格划分、锚定层和热层的 OpenXR 层名称。
- 更新了手部跟踪算法并对手部跟踪逆运动学 (IK) 进行了改进。
- 提高了使用模糊相机帧时图像跟踪的鲁棒性。
- 提高了自适应和静态图像跟踪模式的稳定性。
修正
- 修复了 VST 睡眠后重新启动的问题。
- 更新了 VST 默认设置。
- 改进了设备暂停时的功耗。
[0.13.0] - 2023-05-04
Snapdragon Spaces 服务
新增
- 添加了
xrSetImageTargetsTrackingModeQCOM
和xrStopImageTargetTrackingQCOM
方法支持以设置图像跟踪模式。
变更
- 图像跟踪、命中测试和平面检测在 Snapdragon Spaces Services 进程上运行,而不是在应用程序进程上运行。以前,这取决于场景理解后端是否在内部使用。
- 相机框架访问改进。这些更改可能会破坏向后兼容性。
修正
- 修复了手部跟踪层中的眼镜拔出/插入问题。
- 修复了重新拔下并重新插入眼镜后启动应用程序时的黑屏问题。
[0.12.1] - 2023-04-03
Snapdragon Spaces 服务
新增
- 图像跟踪现在使用RGB相机代替左跟踪相机,这增加了目标流形的识别和跟踪距离。
修正
- 长时间使用设备后可能出现的黑线伪影已得到修复。
- 应用平面内旋转时的失真伪影不再出现。
- 改进了渲染延迟以修复撕裂伪影。
[0.11.1] - 2023-02-14
Snapdragon Spaces 服务
新增
- 通过 XR_MSFT_scene_understanding 和 XR_QCOM_ray_casting 扩展添加了用于空间网格划分和命中测试的 XR_APILAYER_QTI_scene_understanding OpenXR 层。
- 为 XR_APILAYER_QCOM_retina_tracking OpenXR 层添加了用于相机帧访问的 XR_QCOMX_camera_frame_access 扩展。
- 添加了 XR_APILAYER_QCOM_backwards_compatibility OpenXR 层,以处理旧应用程序向运行时发送过时的结构。
- 将 XR_UNITY_android_present 扩展添加到运行时。
[0.10.0] - 2022-12-15
Snapdragon Spaces 服务
修正
- 修复了同时加载或保存两个或多个锚点的问题。
- 修复了同时保存/加载多个锚点时的锚点问题。
[0.9.0] - 2022-11-24
Snapdragon Spaces 服务
新增
- XR 控制器将自动添加到 Snapdragon Spaces 服务的输入源(如果可用)。
变更
- 跟踪图像目标偏移已得到改进。
[0.8.1] - 2022-10-14
Snapdragon Spaces 服务
变更
- 应用程序生命周期改进允许按顺序启动 Spaces 应用程序,而无需强制停止 Snapdragon Spaces 服务。
- 改进视觉性能,实现更流畅的表现(减少撕裂效果)
修正
- 同时跟踪两个或多个图像现在可以按预期工作。
- 较大集合的图像目标的目标名称不再损坏。
- 在命中测试打开时停用平面检测不会再使应用程序崩溃。
- 来电后正确恢复手部跟踪。
- 重启设备后黑屏消失。
[0.7.0] - 2022-08-31
Snapdragon Spaces 服务
更正
- 不再需要在 Snapdragon Spaces 服务设置视图中选择输入源。
[0.6.1] - 2022-07-22
Snapdragon Spaces 服务
新增
- 添加了相机权限提示,以防尚未授予。
- 在 UI 中添加了相机权限状态。
修正
- 修复了如果 Snapdragon Spaces 服务中未授予相机权限,Spaces 应用程序无法启动的问题。
7.2 已知的问题
7.2.1 常见的已知问题
存在可能影响开发工作流程的已知问题。这些是常见的已知问题,将在 Snapdragon Spaces SDK 或 Snapdragon Spaces Services
运行时的未来版本中得到解决。可能会遇到的一些问题是特定于开发工具的。请参阅相应工具的已知问题以获得更多支持。
7.2.1.1 应用程序不会显示在配备 Snapdragon Spaces 0.6.0 的眼镜上
Snapdragon Spaces Services 应用程序对相机权限有新要求。
- 从应用程序启动器中找到 Snapdragon Spaces Services 应用程序
- 按住(长按)Snapdragon Spaces Services 并选择“应用程序信息”。
- 按进入“权限”-> 验证相机是否处于允许状态。如果没有,请点击并将其设置为仅在使用应用程序时允许。请参阅跑步空间应用程序了解更多详细信息。
笔记
该问题已在0.6.1中修复,但仍需要授予Camera权限才能启用感知功能。
7.2.1.2 申请开始
在某些情况下,应用程序可能无法在查看器上正常启动。要解决此问题,请强制停止应用程序和 Snapdragon Spaces Services
运行时。这可以通过长按应用程序启动器中的应用程序图标直到出现显示应用程序信息的上下文菜单来完成。打开应用程序信息视图后,验证相机是否列在权限下,然后可以通过单击强制停止来停止应用程序。
以下是一些可能导致应用程序启动失败的原因:
- 主机设备重新启动后第一个应用程序启动。
- 在
Snapdragon Spaces Services
正确退出之前,关闭一个 Spaces 应用程序并打开另一个 Spaces 应用程序太快。
7.2.1.3 破坏向后兼容性
使用 0.12.1 或更早版本构建的使用命中测试、平面检测或空间网格划分的应用程序不再与 Snapdragon Spaces Runtime 版本 0.13.0 兼容。为了确保使用这些感知功能的应用程序继续工作,请确保应用程序和 Snapdragon Spaces 服务处于同一版本。升级应用程序的 SDK 版本和运行时版本时无需更改代码。
7.2.1.4 应用程序冻结
7.2.1.4.1 手机事件
锁定和解锁主机设备或任何其他应用程序中断可能会导致应用程序被挂起并且查看器上出现空白/黑色视图。
7.2.1.4.2 使用 Snapdragon Spaces 0.11.1 或更低版本拔掉眼镜
如果在 Spaces 应用程序运行时断开眼镜的连接,将会导致手机暂时锁定。等待几秒钟,然后按照步骤强制退出 Spaces 服务即可解决此问题。为了获得最佳的开发人员体验,请遵循应用程序关闭。
7.3 故障排除
本节包含一些在硬件或应用程序运行出现问题时解决常见问题的解决方法。
使用 Snapdragon Spaces 服务的应用程序应“正确”关闭 - 退出应用程序或强制关闭。整体生命周期改进和其他新功能改进将迭代提供,但尽管如此,这里有一些可能会阻碍开发的解决方法。
提示
在继续阅读本文之前,应遵循最新版本的设置和入门指南:
设置手机和眼镜的程序。
Snapdragon Spaces SDK 入门
症状: | 在重启后,我无法再次运行该应用程序 |
---|---|
行为: | Snapdragon Spaces服务(用于连接头盔和设备)偶尔无法正确关闭,导致下一个应用程序无法初始化该服务。解决方法是强制关闭使用Snapdragon Spaces服务的任何应用程序。 |
解决方案: | 长按应用程序图标,直到出现“应用信息”弹出窗口,选择打开它,然后按下“强行停止”以终止该服务进程。按返回键退出应用信息页面。您可能还需要强制停止Snapdragon Spaces服务应用程序。如果这仍然无效,请尝试重新启动手机。 |
症状: | 我无法启动我的应用程序 |
---|---|
行为: | 您已经插入并激活了眼镜,但当您选择您的应用程序并运行它时,您会遇到以下情况之一:1)应用程序无法运行;2)在手机上显示;3)显示警告消息;4)显示黑屏。 |
解决方法: | 这表明Spaces服务未运行或与您的设备不兼容。检查您正在运行的版本(手机和眼镜),确保它们是最新的版本。尝试运行一个SDK示例应用程序,在设备上验证您的设置。 |
症状: | 手柄未自动显示或您需要返回到手柄页面 |
---|---|
行为: | 有时手柄会消失或不显示。 |
解决方法: | 长按Spaces Services图标,然后点击“Host Controller”以重新显示手柄。 |
症状: | 在运行Spaces应用程序后,出现了一个固定的ThinkReality菜单 |
---|---|
行为: | 出现了一个固定的ThinkReality菜单。 |
解决方法: | Spaces应用程序应该仍然可以正常工作。要恢复ThinkReality功能,请重新启动手机。 |
症状: | 插入眼镜后眼镜中没有显示任何内容 |
---|---|
行为: | 眼镜似乎无法正常工作。 |
解决方法: | 尝试拔下眼镜,然后重新插入。如果这样不起作用,请断开眼镜的连接并运行Companion应用程序。它会提示您插入眼镜。插入眼镜后,大约15-30秒后应该显示眼镜已连接。如果这样还不起作用,您应该尝试使用不同的USB线缆重试。并非每根USB线缆都具有相同的传输速度和带宽,所以大多数USB线缆可能无法正常工作。如果这样仍然不起作用,请与Spaces团队联系以解决问题。 |
如果您遇到上述任一技术无法解决的问题,请尝试以下方法;
- 从手机上拔下眼镜。
- 确保手机电量充足。
- 重新启动手机,等待其完成启动。
- 插入眼镜,等待它们完成启动 - 大约 15 秒,直到您看到 ThinkReality 徽标。
- 尝试使用已知可用的 Spaces 应用程序,例如提供的 Unity 应用程序。
- 如果有效,请强制停止在上一步中打开的应用程序(当然)并启动您自己的应用程序。
如果仍有问题,请联系 Snapdragon Spaces 团队以获得更多帮助。
7.4 资源
7.4.1 自定义控制器项目
开发人员包中包含一个 Android Studio 项目,用于构建自定义控制器存档,该存档可以在以后使用,而不是 Snapdragon Spaces Unity 包或虚幻引擎插件中默认包含的控制器存档。
要更改控制器的外观,请使用 Android Studio(建议使用 2020.3 或更高版本)打开项目,然后打开 SpacesController > res > 布局 > custom_input_companion_controller.xml。位于 SpacesController > java > com.qualcomm.snapdragon.spaces.spacescontroller.SpacesCustomInputContentViewFactory 下的类将覆盖 Spaces Services 应用程序内的控制器。如果布局文件中的 ID 或 SpacesController > res > value 路径下声明的其他值即将更改,则还应相应地管理前面提到的类中的相应对应项,以避免任何链接错误。
要构建可在 Snapdragon Spaces Unity 包或虚幻引擎插件中使用的自定义控制器存档,请运行位于 SpacesController > 任务 > 构建下的 Gradle 窗口(打开视图 > 工具窗口 > Gradle)中的 SpacesController
模块的组装任务或者在 Windows 上从命令行在项目根目录中运行 gradle assemble
,或者在 macOS/Linux 上运行 ./gradle assemble
。
如果构建成功,位于 SpacesController > 构建 > 输出 > aar 下的生成的存档之一(发布版或调试版)可用于后续步骤之一:
7.4.2 用于测试的图像目标
以下是用于在 SDK 中的示例应用程序中测试 XR 体验的所有图像。
要点
确保以 100% 比例打印 PDF,以便图像目标的物理尺寸正确。
下载所有图像目标(PDF DIN A4 尺寸)
下载所有图像目标(PDF US letter 尺寸)
7.4.3 组件版本控制
出于支持目的,可能需要有关组件的详细信息来进行故障排除。此信息可以位于“信息”面板中,可通过 Unity 或虚幻引擎示例中主菜单底部的按钮进行访问。此视图中提供有关运行时中不同组件的信息,例如:组件名称、版本标识符、构建标识符和构建日期时间。例如,下图显示了 Musketir 组件的版本,该组件是提供图像跟踪和平面检测功能的核心组件。
7.4.4 第三方许可条款
下载通知文件以获取有关此主题的更多信息。
7.5 开发者支持
7.6 进一步阅读
7.6.1 Unity
关于 AR Foundation
XR交互工具包
Unity OpenXR 插件