ARKit 客户端 (iOS)¶
NVIDIA CloudXR SDK 包含一个用于 AR 流媒体的示例 ARKit 客户端,该客户端设计用于支持 ARKit SDK 的 iPad 和 iPhone 设备。该客户端解码从 CloudXR 服务器流式传输的视频和 alpha 内容,并将视频与 iOS 设备的摄像头视图混合。该客户端从 iOS 设备收集运动数据,并将其发送到 CloudXR 服务器。
注意
iOS ARKit 客户端仅以源代码形式提供。
该客户端使用默认的 ARKit 配置来跟踪 iOS 设备的位置和方向。
使用 ARKit,在配备 LiDAR 的设备上,跟踪质量和初始锁定速度将得到显著提高。
在开发模式下,自构建的应用程序从安装日期起将在设备上运行七天。
对于最终版本,应用程序需要提交给 Apple 审批,以便在非开发 iOS 设备上进行持久安装。
构建 ARKit 客户端¶
源文件位于 {sdk-root}/Sample/iOS*
文件夹中。如果您将应用程序与支持的设备一起使用,则可以按提供的形式构建、设置和使用该应用程序。
请确保您已具备 iOS / iPadOS 示例客户端 系统要求中的所有必需条件。
导航到
Sample/iOS/CloudXRClient
目录并打开 CloudXRClient.xcodeproj 文件。在 Xcode 导航窗格中,单击项目的 CloudXRClient 节点。
在主窗格中的 Targets(目标) 下,选择 CloudXRClient。
在 Signing and Capabilities(签名与功能) 选项卡上,使用您的 iOS 开发团队更新 Team(团队) 字段,并使用您的应用程序标识符更新 Bundle Identifier(Bundle 标识符) 字段。
更新 Team 和 Bundle Identifier 字段¶
- 在标题栏中,将目标设置为 Any iOS Device (arm64)(任何 iOS 设备 (arm64)) 或您用于开发的特定 iOS 设备。
注意
CloudXR SDK 不支持在 Apple Mac 上的模拟器中运行。
设置目标¶
单击 Run(运行)。
运行 ARKit 客户端¶
在服务器系统上启动 SteamVR。
启动 CloudXR AR iOS Client 应用程序。
CloudXR ARKit 连接屏幕¶
输入 CloudXR 服务器的 IP 地址,或接受先前输入的值。
单击 Connect(连接)。
应用程序将尝试连接到指定的服务器。
连接成功后,摄像头视图将出现。
您可以平移环顾四周,直到 ARKit 检测到地面平面,该平面在屏幕上显示为白色网格。
ARKit 表面检测¶
触摸网格以选择 AR 世界的锚点。
应用程序应显示来自默认 SteamVR 视图或服务器上已运行的应用程序的视频流。
默认 SteamVR 视图¶
注意
要使用 AR 内容流式传输 CloudXR,服务器应用程序(即 OpenVR 应用程序)在左眼提供包含 RGBA 数据的主场景。数据中的 alpha 通道指示应与实时摄像头内容混合的区域。右眼数据将被忽略,但由于 OpenVR 需要提交双眼数据,为了获得最佳性能,我们建议应用程序也提交左眼纹理作为右眼纹理,方法是使用相同的纹理句柄,或者选择性地为右眼提交一个小的虚拟纹理。
在
{sdk-root-folder}\TestTools
文件夹中,提供了一个基本的服务器应用程序ar_test.exe
,以帮助说明和验证 AR 流媒体。连接后在服务器上启动
ar_test.exe
,以查看混合到当前摄像头视图中的纹理立方体阵列。artest 测试工具¶
要重置摄像头视图中的锚点,请在屏幕上按住手指几秒钟。
应用程序将返回到平面检测模式,允许您选择新的锚点。
访问 iOS 上的 CloudXR 日志¶
CloudXR iOS 示例应用程序将其日志文件发布到 iOS 设备上的共享位置。这允许 iOS 的“文件”应用程序查看和共享日志文件。
通过点击下面指示的图标访问 iOS “文件”应用程序
接下来在应用程序的左侧选择“我的 iPad/iPhone”,然后在右侧点击 CloudXRClient 文件夹
然后在右侧点击 logs 文件夹
进入 logs 文件夹后,日志即可查看和/或共享
点击日志文件可以快速查看。也可以通过点击右上角的“共享表单”图标来共享日志文件