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* 文件夹中。如果您将应用程序与支持的设备一起使用,则可以按提供的形式构建、设置和使用该应用程序。

  1. 请确保您已具备 iOS / iPadOS 示例客户端 系统要求中的所有必需条件。

  2. 导航到 Sample/iOS/CloudXRClient 目录并打开 CloudXRClient.xcodeproj 文件。

  3. 在 Xcode 导航窗格中,单击项目的 CloudXRClient 节点。

  4. 在主窗格中的 Targets(目标) 下,选择 CloudXRClient

  5. Signing and Capabilities(签名与功能) 选项卡上,使用您的 iOS 开发团队更新 Team(团队) 字段,并使用您的应用程序标识符更新 Bundle Identifier(Bundle 标识符) 字段。

    ../_images/ios_team_field.png

    更新 Team 和 Bundle Identifier 字段

  6. 在标题栏中,将目标设置为 Any iOS Device (arm64)(任何 iOS 设备 (arm64)) 或您用于开发的特定 iOS 设备。

    注意

    CloudXR SDK 不支持在 Apple Mac 上的模拟器中运行。

    ../_images/ios_target.png

    设置目标

  7. 单击 Run(运行)

运行 ARKit 客户端

  1. 在服务器系统上启动 SteamVR。

  2. 启动 CloudXR AR iOS Client 应用程序。

    ../_images/arkit_connect.jpg

    CloudXR ARKit 连接屏幕

  3. 输入 CloudXR 服务器的 IP 地址,或接受先前输入的值。

  4. 单击 Connect(连接)

    应用程序将尝试连接到指定的服务器。

  5. 连接成功后,摄像头视图将出现。

    您可以平移环顾四周,直到 ARKit 检测到地面平面,该平面在屏幕上显示为白色网格。

    ../_images/arkit_surface_detect.jpg

    ARKit 表面检测

  6. 触摸网格以选择 AR 世界的锚点。

  7. 应用程序应显示来自默认 SteamVR 视图或服务器上已运行的应用程序的视频流。

    ../_images/arkit_steamvr_view.jpg

    默认 SteamVR 视图

    注意

    要使用 AR 内容流式传输 CloudXR,服务器应用程序(即 OpenVR 应用程序)在左眼提供包含 RGBA 数据的主场景。数据中的 alpha 通道指示应与实时摄像头内容混合的区域。右眼数据将被忽略,但由于 OpenVR 需要提交双眼数据,为了获得最佳性能,我们建议应用程序也提交左眼纹理作为右眼纹理,方法是使用相同的纹理句柄,或者选择性地为右眼提交一个小的虚拟纹理。

    {sdk-root-folder}\TestTools 文件夹中,提供了一个基本的服务器应用程序 ar_test.exe,以帮助说明和验证 AR 流媒体。

  8. 连接后在服务器上启动 ar_test.exe,以查看混合到当前摄像头视图中的纹理立方体阵列。

    ../_images/arkit_artest.jpg

    artest 测试工具

  9. 要重置摄像头视图中的锚点,请在屏幕上按住手指几秒钟。

    应用程序将返回到平面检测模式,允许您选择新的锚点。

访问 iOS 上的 CloudXR 日志

CloudXR iOS 示例应用程序将其日志文件发布到 iOS 设备上的共享位置。这允许 iOS 的“文件”应用程序查看和共享日志文件。

  1. 通过点击下面指示的图标访问 iOS “文件”应用程序

    ../_images/arkit_homescreen.jpg
  2. 接下来在应用程序的左侧选择“我的 iPad/iPhone”,然后在右侧点击 CloudXRClient 文件夹

    ../_images/arkit_files1.jpg
  3. 然后在右侧点击 logs 文件夹

    ../_images/arkit_files2.jpg
  4. 进入 logs 文件夹后,日志即可查看和/或共享

    ../_images/arkit_files3.jpg
  5. 点击日志文件可以快速查看。也可以通过点击右上角的“共享表单”图标来共享日志文件

    ../_images/arkit_files4.jpg