【问题标题】:How to add a 3D Overlay for SteamVR如何为 SteamVR 添加 3D 叠加层
【发布时间】:2017-03-31 15:11:20
【问题描述】:

我正在尝试使用OpenVR Overlay API 将 3d 模型覆盖在另一个 VR 应用程序的顶部。

我已经成功使用了这个 API,在这个 HeadlessOverlayToolkit 的帮助下覆盖了平面。


我已经安排了 6 个平面来制作一个 3d 立方体并且可以覆盖它。

我想弄清楚有一种方法可以覆盖实际的 3d 模型,如果是这样,怎么做?

我在OpenVR docs 中看到它说IVROverlay 允许您通过合成器渲染2d 内容。但是,如果可以构建 3d 形状(使用 2d 平面),那么为什么不能覆盖 3d 模型呢?

如有任何见解、经验或指导,我们将不胜感激。

一切顺利,

利亚姆

【问题讨论】:

    标签: unity3d virtual-reality htc-vive openvr


    【解决方案1】:

    这是可能的。像往常一样创建您的叠加层,然后致电SetOverlayRenderModel。它将.obj 文件的路径作为参数。唯一需要注意的是,由于某种原因,您仍然需要提供纹理,否则模型不会出现,但它可以是透明的 1x1 模型,因此不可见 - 详情请参阅 this issue

    请注意,目前无法添加任何动态生成的网格,您只能从文件中加载。做动画也是不可能的。

    当 SteamVR 不喜欢您的模型时,似乎没有任何错误报告,即使该函数应该返回 EVROverlayError,它只是不会出现。如果发生这种情况,请仔细检查所有路径并尝试从C:\Program Files (x86)\Steam\steamapps\common\SteamVR\resources\rendermodels\vr_controller_vive_1_5\vr_controller_vive_1_5.obj 加载默认控制器模型,因为它们绝对正确。我在加载没有纹理的模型时遇到了一些问题,因此请确保您的模型具有正确的纹理和 UV 映射。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多