问题标签 [openvr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
223 浏览

oculus - OpenVR:从姿势变换矩阵中获取方向向量

我试图找到我的 oculus 触摸控制器指向 OpenVR 中任何给定时间点的方向。(从控制器渲染光线指针的方向)我正在使用以下函数

GetControllerStateWithPose(TrackingUniverseStanding, deviceId, &controllerState, sizeof(controllerState), &trackedDevicePose);

在下图中,我了解位置是用 m12 m13 和 M14 来描述 x、y 和 z 的。但是如何使用 m0 到 m10 的值来找到控制器在任何给定时间指向的方向向量。

Can't post images because of my new account but it can be found here https://camo.githubusercontent.com/d83363a745afeeb1ac7265d10ad55544e15a8fe9/687474703a2f2f7777772e736f6e67686f2e63612f6f70656e676c2f66696c65732f676c5f616e676c6573746f6178657330312e706e67

我可以简单地将这个矩阵乘以 [1,1,1,0]^T 吗?或者也许 [0,0,1,0]^T 因为 Z 轴被描述为正向

谢谢

0 投票
1 回答
139 浏览

unity3d - 拦截 Vive 控制器输入?

我正在为 steamvr 构建一个 openvr 应用程序来协助坐着玩(我的房间很小,所以我的跟踪区域并不理想)。当我按住手柄按钮并在触摸板上“滚动”时,我的应用程序几乎只是调整了游戏区域的高度,这样我就可以在不同的高度接触到太低/太高的物体。(我尝试了“OpenVR 高级设置”,但使用它的键绑定选项仅限于简单的按钮按下,因此我决定制作自己的版本)。

我想防止在按住手柄按钮时将触摸板输入发送到游戏,以便触摸板上的移动不会导致游戏移动,这可能吗?

我假设这是不可能的,但想知道是否有人对此有任何经验。

0 投票
1 回答
51 浏览

qt5 - pyOpenGL:使用openvr和pyqt5(HTC Vive)的内存问题

我们正在使用HTC Viveqt5开发一个虚拟环境。pyopenvr我们所有的脚本都很好并且可以正常工作。然而,在一台笔记本电脑上,我们突然间一直遇到问题。

它是一款配备 的高端游戏笔记本电脑gtx1060 (6gb),因此它不会是真正的内存问题。即使只进行所需的安装和所有最新驱动程序的完整系统重新启动也无法解决它。当我们第一次测试笔记本电脑时,它曾经工作过,但现在这个错误不断出现:

“Nicht genügend Arbeitsspeicher”在德语中相当于内存不足。即使我们只运行 pyopenvr 的示例“hello world”脚本来显示简单的颜色立方体,也会发生这种情况。使用我们的脚本时,错误是一样的。在另一台笔记本电脑上,一切正常。

有人遇到过类似的问题吗?任何帮助表示赞赏!

0 投票
1 回答
129 浏览

virtual-reality - 是否可以使用 openvr 为 HMD 中的显示添加失真?

我试图改变 HTC Vive 的桶形失真系数以在 HMD 中产生失真。OpenVR 是最好的方法吗?

0 投票
2 回答
254 浏览

htc-vive - How to manage HTC Vive controllers power programmatically?

Is it possible to power off Vive controller/tracker programmatically?

I see there is an option in SteamVR under each tracked device, but I could not find any references. The only thing I found is polling events of entering and leaving standby mode via OpenVR api.

0 投票
0 回答
311 浏览

c++ - GetCurrentViewProjectionMatrix,使用 openvr.h 从 vr 硬件获取投影矩阵

我正在(现代)opengl、c++、glm、glfw 和 openvr.h 中创建游戏,目前正在从提供的示例源代码(hellovr_opengl_main.cpp)中学习。在 openvr 中发现了 api 来提供视图和投影矩阵,并结合使用将通过虚拟现实护目镜复制您的眼睛在现实生活中看到的内容。
所以我在我的opengl应用程序中实现了帧缓冲区,一切正常,所以一切都很好,然后按照示例并尝试自己从openvr.h访问api,之后我完全从他们的示例代码中复制并粘贴了所有内容的整个层次结构这与这个问题相关,并以与示例中出现的顺序相同的顺序调用所有内容,但也没有工作,所以我尝试了我能想到的所有内容,但我无法弄清楚
我也使用矩阵定义,直到它到达我将其转换为 glm::mat4 的代码,但我确实让 viewmatrix 工作而无需任何修改(如列专业)

0 投票
1 回答
227 浏览

python - 如何在 vtk python 中实现 openvr?

我不能让 openvr 和 vtk python 一起工作。目前我正在为此使用 spyder ide。

我在 C++ 中使用 vtk 和 openvr 完成了一些代码,只是将 vtkRenderer 更改为 vtkOpenVRRenderer 等等。但它在 spyder 中不起作用。

0 投票
1 回答
202 浏览

unity3d - 如何在 Unity 项目之间传输数据

问题

我计划有 2 个 Unity 项目(以便我可以针对不同的构建)。我正在寻找一种简单快速的方式在两者之间传输数据。

第一个项目是独立使用 OpenVr,另一个项目是使用 UWP 和 MRTK。我基本上想在 2 之间来回发送事件。

语境:

我想使用 Vive 跟踪器并将场景远程到 Hololens,其中游戏对象跟随 Vive 跟踪器的位置。Vive 追踪器需要 SteamVr 和 OpenVr。显然,它们与 MRTK 不兼容: https ://github.com/microsoft/MixedRealityToolkit-Unity/issues/5754

这给我带来了 2 个 Unity 项目,我(希望)可以轻松地来回发送数据或对等/服务器客户端解决方案。但是,我无法为后者提供简单快捷的解决方案,但您可以证明我错了。

0 投票
1 回答
206 浏览

c++ - CMake - OpenVR 编译问题

我目前正在重新设计我的游戏/渲染引擎。我正在跨平台进行操作,因此已切换到使用 CMake 构建过程。我在构建 GLFW 或 GLAD 时没有遇到任何问题,但在使用 openvr 时遇到了问题

这是一个相当基本的构建,但我对它比较陌生

这一切都很好,可以包括标题等,但我得到了很多未解决的外部错误

__imp_VR_GetGenericInterface
__imp_VR_IsInterfaceVersionValid
__imp_VR_InitInternal2

等等...

我查看了 repo 中的 CMakeLists 文件,但找不到任何我知道的
https://github.com/ValveSoftware/openvr

任何输入都会很好

0 投票
1 回答
348 浏览

unity3d - HoloLens 的 Unity 开发

我试图开发一个带有 Vuforia 引擎功能的 Unity 项目以部署到 HoloLens。简短的问题摘要:它不起作用。我开始使用 Vuforia AR 相机和放置在视野中的 3D 立方体创建一个非常简单的项目,只是为了测试它。它可以在 Unity 预览中呈现它。然而,Unity 控制台出现错误,Unity 程序既不能在 HoloLens 上运行,也不能作为 Visual Studio 预览中的独立应用程序运行。总是发生的一个错误是:

DllNotFoundException:VuforiaWrapper。

可以在 Visual Studio 中构建一个独立的应用程序,它会按应有的方式呈现 3D 立方体,但背景是黑色的,相机不工作(Razer Kiyo)。

我已经尝试了几个 Unity 版本,包括 2017 和 2018 的 LTS 版本以及 Visual Studio 2017 和 2019。它不适用于上述任何一个版本。

将 Vuforia Hololens 样本导入 Unity 会破坏项目,并使其无法在我尝试过的每个 Unity 版本中编译,因此我不得不放弃它。

有人知道如何解决这个问题吗?它甚至不适用于这样一个简单的项目,这似乎很奇怪。

从附加的 Visual Studio 构建中查找日志文件: