1

要完全清楚。这个问题是关于 SteamVR 仪表板覆盖的,而不是常规的覆盖。

我最近一直在玩 C++ SteamVR SDK 并研究一些覆盖应用程序原型。到目前为止,我还没有设法让仪表板覆盖显示出来。我调用 CreateDashboardOverlay 时得到的错误是 VROverlayError_PermissionDenied。我猜这是因为我需要使用我目前没有的 SteamVR 开发者帐户进行身份验证。任何人都可以验证吗?除了 openvr.h 和 openvr github 文档页面中的内容之外,似乎根本没有任何(公共)文档,这有点稀疏。

我还猜测任何仪表板覆盖应用程序都需要通过官方 Steam 商店分发,但我再次找不到任何官方信息。我怀疑 Valve 会要求这样做,否则任何碰巧在系统上运行的旧恶意软件都可以轻松创建一个官方外观的仪表板覆盖。

再次注意,我专门指的是仪表板覆盖。我可以让常规覆盖显示得很好。

在 github 上有一些 repos 实现了 steamvr 覆盖(例如https://github.com/Hotrian/OpenVRDesktopDisplayPortal),但我还没有找到一个真正创建仪表板覆盖的存储库。

我以某种方式缺少的任何信息或文档链接将不胜感激。我开始认为我可能遗漏了一些明显的东西。

谢谢

为清楚起见进行编辑:

我的问题是:调用 CreateDashboardOverlay 时是否收到权限被拒绝错误,因为我需要满足某种身份验证要求,例如拥有 Steam 开发帐户?SteamVR 仪表板覆盖应用程序是否需要通过官方渠道分发?

4

1 回答 1

2

在进一步的审查中,我似乎误解了我自己的调试输出并对其进行了过多的解读,因为这些结论在我看来是有道理的。

CreateDashboardOverlay 调用工作正常。后来在我的代码中,我调用了 ShowOverlay,这对于仪表板覆盖当然是不允许的(它们通过 SteamVR 仪表板 UI 打开它们来显示)。

毕竟我的仪表板覆盖工作正常。

总而言之,我的两个问题的答案都是否定的。创建仪表板覆盖不需要 Steam 开发者身份,并且 SteamVR 仪表板覆盖应用不需要通过任何类型的官方渠道分发。

于 2018-04-12T21:14:50.810 回答