要完全清楚。这个问题专门针对SteamVR仪表板覆盖,而不是常规覆盖。
我一直在玩C ++ SteamVR SDK并最近处理一些覆盖应用程序原型。到目前为止,我还没有做到的事情就是让仪表板覆盖显示出来。我调用CreateDashboardOverlay时得到的错误是VROverlayError_PermissionDenied。我猜这是因为我需要使用SteamVR开发者帐户进行身份验证,我目前没有。任何人都可以验证吗?除了openvr.h和openvr github docs页面之外,似乎没有任何(公共)文档,这有点稀疏。
我也猜测任何仪表板覆盖应用程序都需要通过官方Steam商店分发,但我再也找不到任何正式的。我怀疑Valve会要求这样做,因为任何碰巧在系统上运行的旧恶意软件都可以轻松创建一个官方的仪表板覆盖。
再次注意我特指的是仪表板叠加层。我可以得到定期覆盖以显示正常。
github上有一些repos实现了steamvr覆盖(例如https://github.com/Hotrian/OpenVRDesktopDisplayPortal),但我还没有找到一个实际创建仪表板覆盖的代码。
任何信息或链接到我不知何故错过的文档将不胜感激。我开始认为我可能会遗漏一些明显的东西。
由于
为清晰起见编辑:
我的问题是:在调用CreateDashboardOverlay时,我是否收到了权限被拒绝错误,因为我需要满足某种身份验证要求,例如拥有steam dev帐户? SteamVR仪表板覆盖应用程序是否需要通过官方渠道进行分发?
答案 0 :(得分:2)
在进一步审查时,似乎我误解了我自己的调试输出并且读了太多内容,因为结论在我看来是有道理的。
CreateDashboardOverlay调用工作正常。稍后在我的代码中我调用了ShowOverlay,当然不允许使用仪表板覆盖(通过SteamVR仪表板UI打开它们会显示它们)。
毕竟我的仪表板叠加工作正常。
总而言之,我的两个问题的答案都是否定的。创建仪表板覆盖图时无需Steam开发人员状态,SteamVR仪表板覆盖应用程序无需通过任何类型的官方渠道进行分发。