我试图在不依赖 SteamVR 的情况下访问我的 VR 项目的边界框/伴侣。我正在尝试构建一个尽可能原生于 Unity 的框架。
在 SteamVR 中,有人会这样写:
Valve.VR.OpenVR.Chaperone.ForceBoundsVisible(true);
// or
Valve.VR.OpenVR.Chaperone.ForceBoundsVisible(False);
我的问题是如何仅使用 OpenVR 包而不是 SteamVR 插件来做类似的事情。
谢谢
我试图在不依赖 SteamVR 的情况下访问我的 VR 项目的边界框/伴侣。我正在尝试构建一个尽可能原生于 Unity 的框架。
在 SteamVR 中,有人会这样写:
Valve.VR.OpenVR.Chaperone.ForceBoundsVisible(true);
// or
Valve.VR.OpenVR.Chaperone.ForceBoundsVisible(False);
我的问题是如何仅使用 OpenVR 包而不是 SteamVR 插件来做类似的事情。
谢谢
您可以使用OpenVR SDK。
如果您使用的是 C#,则在headers\openvr_api.cs.
首先,您必须加载库 ( openvr_api.dll) 并像这样初始化它:
var error = EVRInitError.None;
OpenVR.Init(ref error, EVRApplicationType.VRApplication_Background)
然后用同样的方式简单地使用它
OpenVR.Chaperone.ForceBoundsVisible(true);
您还可以从Steam 文件夹中读取chaperone_info.vrchap和读取。这些 json 文件包含有关所有 Universe 碰撞边界的信息。steamvr.vrsettingsconfig