我是网络新手,所以我有很多问题,我也梦想使用 rasberry pi 制作开源且更实惠的 VR 耳机和软件,所以现在我很好奇 SteamVR 和 HTC Vive 等流行系统如何工作。我真的无法在网上找到任何文档,所以我决定在这里问。我的问题是虚拟现实耳机如何向 SteamVR 发送数据(跟踪、按钮点击等)以及游戏如何与 SteamVR 通信并获取这些数据?
我不是专家,所以如果你用 python 术语来描述它,我会更容易理解。
我是网络新手,所以我有很多问题,我也梦想使用 rasberry pi 制作开源且更实惠的 VR 耳机和软件,所以现在我很好奇 SteamVR 和 HTC Vive 等流行系统如何工作。我真的无法在网上找到任何文档,所以我决定在这里问。我的问题是虚拟现实耳机如何向 SteamVR 发送数据(跟踪、按钮点击等)以及游戏如何与 SteamVR 通信并获取这些数据?
我不是专家,所以如果你用 python 术语来描述它,我会更容易理解。
通常没有真正的 TCP 风格的网络在进行。有一些低级嵌入式计算正在进行以确定控制器和耳机的位置。这些结果以及按钮按下和扳机拉动通过 OpenVR 通过低级 API 发送,其中 XR 工具包抽象所有这些输入并允许开发人员构建应用程序。
这些工具包包括 MRTK:https ://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/GettingStartedWithTheMRTK.html
如果您想深入了解 OpenVR API 的工作原理,那么您可以随意深入了解 SteamVR 插件:https ://github.com/ValveSoftware/openvr
OpenVR 与直觉相反,它不是开源的,因此您无法看到它们实际上是如何获取和处理原始输入的。
然而,OpenXR 是开源的,并且是 Khronos 的开放标准,因此您可以查看如何处理输入:https ://github.com/KhronosGroup/OpenXR-SDK