我试图使用OpenVR覆盖API覆盖一个3d模型在另一个虚拟现实应用程序的顶部。
在这个HeadlessOverlayToolkit的帮助下,我成功地使用了这个API来覆盖平面。
我已经安排了6架飞机,以形成一个三维立方体,并可以覆盖。
我正试图找出一种方法来覆盖实际的3d模型,如果是的话,怎么做呢?
我在OpenVR文档中看到,它说IVROverlay允许您通过排序器呈现2d内容。然而,如果可以构造3d形状(使用2d平面),那么为什么不可能覆盖3d模型呢?
如有任何见解、经验或指导,将不胜感激。
万事如意,
利亚姆
发布于 2018-08-14 21:25:06
这是可能的。像往常一样创建覆盖,然后调用SetOverlayRenderModel。它以.obj文件的路径作为参数。唯一的警告是,由于某些原因,您仍然需要提供纹理,否则模型将不会出现,但它可以是透明的1x1,因此它是不可见的-请参阅本期获取详细信息。
注意,目前不可能添加任何动态生成的网格,您只能从文件加载。做动画也是不可能的。
当SteamVR不喜欢您的模型时,似乎没有报告错误的地方,即使函数应该返回EVROverlayError,它也不会出现。如果发生这种情况,请反复检查所有路径,并尝试从C:\Program Files (x86)\Steam\steamapps\common\SteamVR\resources\rendermodels\vr_controller_vive_1_5\vr_controller_vive_1_5.obj加载默认控制器模型,因为它们肯定是正确的。我有一些问题,加载模型没有纹理,所以请确保您的模型是正确的纹理和UV映射。
https://stackoverflow.com/questions/43144095
复制相似问题