如何创建和分发 SteamVR 仪表板叠加层

How to create and distribute SteamVR dashboard overlays

本文关键字:SteamVR 仪表板 叠加 何创建 创建      更新时间:2023-10-16

要完全清楚。这个问题专门针对 SteamVR 仪表板叠加层,而不是常规叠加层。

我一直在使用C++的 SteamVR SDK,最近一直在研究一些叠加应用程序原型。到目前为止,我还没有设法做的事情是显示仪表板覆盖。调用CreateDashboardOverlay时出现的错误是VROverlayError_PermissionDenied。我猜这是因为我需要使用 SteamVR 开发人员帐户进行身份验证,而我目前没有该帐户。谁能证实这一点?除了openvr.h和openvr github文档页面之外,似乎没有任何(公共)文档,该页面有些稀疏。

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

再次请注意,我特指仪表板覆盖。我可以让常规叠加层正常显示。

github 上有一些存储库,其中包含 steamvr 覆盖的实现(例如 https://github.com/Hotrian/OpenVRDesktopDisplayPortal),但我还没有找到一个实际创建仪表板覆盖的存储库。

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

谢谢

为清楚起见,请编辑:

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

在进一步审查时,我似乎误解了我自己的调试输出,并且读得太多了,因为结论在我脑海中是有意义的。

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

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

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