CloudXR 测试工具

NVIDIA CloudXR SDK 包含多种工具,可以帮助开发客户端应用程序和调试 CloudXR 网络配置。

基本流式传输测试服务器

  • 可执行文件: CloudXRServerTest.exe

  • 位于 / 从以下位置启动: {unzipped CloudXR-SDK}\TestTools\StreamTestServer

  • SteamVR: 否。

  • 接受标准 命令行选项: 是。

  • 选项文件位置: %LocalAppData%\NVIDIA\CloudXR\CloudXRServerOptions.txt

  • 日志文件目录: %LocalAppData%\NVIDIA\CloudXR\logs

这个简单的服务器应用程序不是交互式 VR 场景。它在每只眼睛中显示一个静态图像,独立地横向滚动。它对于测试流式传输非常有用,无需戴上头显并四处移动。

警告

使用此测试服务器时,请勿尝试佩戴头显。

SteamVR AR 测试应用程序

  • 可执行文件: ar_test.exe.exe

  • 位于 / 从以下位置启动: {unzipped CloudXR-SDK}\TestTools\ArCubeServer

  • SteamVR: 是。

  • 接受标准命令行选项: 否。

    • 服务器选项将传递给 SteamVR,如 命令行选项 文档中所述。

此应用程序需要 SteamVR。它会将包含立方体的 AR 场景流式传输到平板设备。它对于测试平板 AR 流式传输非常有用。有关 CloudXR 4.0 如何流式传输平板 AR 的信息,请参阅 SteamVR 服务器要求运行 ARKit 客户端运行 ARCore 客户端

VR 测试场景服务器

  • 可执行文件: CloudXRServerSample.exe

  • 位于 / 从以下位置启动: {unzipped CloudXR-SDK}\TestTools\VrTestSceneServer

  • SteamVR: 否。

  • 接受标准 命令行选项: 是。

  • 选项文件位置: %LocalAppData%\NVIDIA\CloudXR\SampleServer\CloudXRServerOptions.txt

  • 日志文件目录: %LocalAppData%\NVIDIA\CloudXR\SampleServer\logs

这个简单的服务器应用程序无需 SteamVR 即可运行。它显示一个 3D 船舶模型,跟踪 HMD 姿势,并允许进行一些基本操作以帮助练习客户端控制器输入。无需 SteamVR 即可高度练习客户端应用程序的能力对于初始客户端开发以及常规的持续测试非常有帮助。

如果您使用启动选项文件,则从终端启动时以及双击应用程序时都可以使用它。在这种情况下,首先加载选项文件,然后第二步处理任何原始命令行,从而允许命令行覆盖选项文件中的内容。

使用 VR 测试场景服务器

CloudXR 4.0 示例客户端都应该能够连接到服务器示例,并且服务器应支持大多数适用于服务器渲染和客户端启动选项。它了解 VR 与 AR 客户端,并将提供正确的流,渲染船舶模型。

../_images/sample_server_screenshot.png

核心在于,您只需将客户端指向服务器 IP 地址,就像对 SteamVR 所做的那样。对于某些客户端,有 UI 可以输入 IP 地址,而对于其他客户端,则需要在命令行或启动选项文件中提供。同样,有关提供选项的所有方法以及当前可用选项的表格的更多详细信息,请参阅 命令行选项

支持的内部操作列表包括

{
"/model/color/red",
"/model/color/green",
"/model/color/blue",
"/model/color/white",
"/model/color/alpha",
"/model/scale",
"/model/rotate",
"/model/move/x",
"/model/move/z",
"/model/move/y",
"/test/LDAT"
};

此服务器加载一个硬编码的配置文件,该文件将左右手客户端控制器的输入映射到上述操作之一。为了支持市场上众多的控制器,它将多个输入映射到同一操作,例如触控板与操纵杆。以下是截至本文档更新的最新绑定集

std::map<std::string, std::string> genericProfile[2] =
{
   { // ##### LEFT HAND
      {"/input/application_menu/click", "/test/LDAT"},
      {"/input/trigger/click", "/model/color/alpha"},
      {"/input/trigger/value", "/model/color/alpha"},
      {"/input/grip/click", "/model/color/red"},
      {"/input/grip/value", "/model/color/red"},

      {"/input/trackpad/x", "/model/rotate"},
      {"/input/thumbstick/x", "/model/rotate"},
      {"/input/joystick/x", "/model/rotate"},

      {"/input/a/click", "/model/color/red"},
      {"/input/b/click", "/model/color/blue"},
      {"/input/x/click", "/model/color/red"},
      {"/input/y/click", "/model/color/blue"},
   },
   { // ##### RIGHT HAND
      {"/input/trigger/click", "/model/scale"},
      {"/input/trigger/value", "/model/scale"},
      {"/input/grip/click", "/model/color/green"},
      {"/input/grip/value", "/model/color/green"},

      {"/input/trackpad/x", "/model/move/x"},
      {"/input/trackpad/y", "/model/move/z"},
      {"/input/thumbstick/x", "/model/move/x"},
      {"/input/thumbstick/y", "/model/move/z"},
      {"/input/joystick/x", "/model/move/x"},
      {"/input/joystick/y", "/model/move/z"},

      {"/input/a/click", "/model/color/green"},
      {"/input/b/click", "/model/color/white"},
      {"/input/x/click", "/model/color/green"},
      {"/input/y/click", "/model/color/white"},
   }
};

注意

AR 客户端不对场景应用初始缩放。因此模型非常大,您可能需要后退一步才能看到它。iOS 示例具有缩放滑块,在测试中,大约 0.2 的缩放比例可以适合屏幕。ARKit 客户端通过滑块映射了缩放和旋转,但 ARCore 客户端目前没有界面,因此除了移动之外无法操作场景。

Windows 客户端 - 窗口模式

预构建的 Windows 客户端可以使用 CloudXR 安装程序安装,但也可以在此处获得

{CloudXR-SDK unzipped}\TestTools\WindowsClient

此 Windows 客户端可以在不使用 SteamVR 或任何 XR 运行时的情况下用作测试工具,使用 -windowed (-w) 标志。连接后,这将打开一个 Windows 桌面窗口,显示流式传输的内容,并使用鼠标和键盘进行一些基本操作来模拟 VR 控制器。有关详细信息,请查阅 SDK 包中的 Windows 客户端源代码。