如何创建和分发 SteamVR 仪表板覆盖

How to create and distribute SteamVR dashboard overlays

完全清楚。这个问题专门针对 SteamVR 仪表板覆盖,而不是常规覆盖。

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

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

再次注意,我指的是仪表板叠加层。我可以让常规叠加显示得很好。

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

如果我遗漏了任何信息或文档链接,我们将不胜感激。我开始觉得我可能遗漏了一些明显的东西。

谢谢

为清楚起见编辑:

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

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

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

毕竟我的仪表板叠加层工作正常。

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