问题标签 [steamvr]

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 回答
368 浏览

unity3d - 如何将 Valve.VR.HmdMatrix34_t 转换为 UnityEngine.Transform

我试图通过这个错误,在导入 MixCast SDK 时无法从“Valve.VR.HmdMatrix34_t”转换为“UnityEngine.Transform”。有谁知道如何将'Valve.VR.HmdMatrix34_t 转换为'UnityEngine.Transform?我查看了https://valvesoftware.github.io/steamvr_unity_plugin/api/Valve.VR.HmdMatrix34_t.html结构,它对我没有多大帮助。

所以问题是在哪里可以找到有关 HmdMatrix34_t 结构的详细信息,以便能够将其转换为 Unity Transform。

PS 有关结构的信息很有价值,可以作为我的起点,但我将真正为代码示例定价,我可以在其中了解如何提取统一 Vector3 的位置、旋转和缩放(或完整的变换)。

0 投票
0 回答
59 浏览

unity3d - 为什么我的统一应用程序在我启动另一个应用程序时崩溃?

我正在尝试使用 HTC Vive 和 steamVR 在 Unity 中创建一个多人游戏场景。但我无法在单台计算机上测试我的应用程序。我做了一个“构建并运行”然后我的应用程序启动但是当我在统一界面中单击播放时,构建的应用程序崩溃了。我不知道为什么。当我从 Steam VR 插件中添加对 VR 至关重要的 [CameraRig] 预制件时,我观察到这种现象存在

请问你能帮帮我吗 ?

谢谢

0 投票
0 回答
730 浏览

unity3d - 如何从 SteamVR 2.0 获取 Unity 项目的 Vive 控制器转换组件?

我目前正在使用 Zed 迷你相机在 Unity 中开发 AR 应用程序。Zed SDK 附带一个 Zed_Controller_Tracker 脚本,您可以将该脚本附加到游戏对象,以便将该对象跟踪到所选设备(在本例中为控制器)。不幸的是,该脚本不足以满足我的需求。附着的物体经常漂移或抖动,并且不会返回到适当的位置。这表明这是一个跟踪问题,可能在我这边。作为一种解决方法,我想编写自己的脚本来获取控制器位置并将对象附加到控制器。

伪代码:

以上是代码应该是多么简单。我面临的问题是,在 SteamVR 2.0 中,没有 SteamVR_Controller 这样的东西。我已经看过了,但找不到任何可以让我定义控制器对象的东西。在 steamvr 2.0 中有一个名为 SteamVR_Behaviour_Pose 的东西,它“将其添加到游戏对象以自动设置变换的位置和旋转以匹配您的跟踪对象(通常是控制器)。” 这听起来正是我想要的,只是它不能按我需要的方式工作。我创建要跟踪的对象,附加脚本,将输入源设置为右手,对象被跟踪,只是它有轻微的偏移。我已经尝试为对象设置父对象以修复偏移量,使其居中,

最后,我能想出的唯一适合我需要的解决方案是制作自己的脚本,但我需要知道如何使用 steamVR 2.0 调用 controller.position,这似乎不是一件容易的事。请帮忙 :)

注意:使用控制器预制件不起作用,因为 zed mini 和 vr 世界之间存在偏移。基本上,AR(真实)控制器稍微位于 VR 控制器的右侧,当我调整此偏移量以使两者重叠时,新问题是两者的旋转弧不一样。将控制器移动 90 度会以相同的方式移动两者,但不会沿相同的弧线移动,这会导致两者之间出现新的偏移。可以编写一个脚本来解决这个问题,但我预计它会非常复杂并且只会导致更多麻烦。

0 投票
2 回答
794 浏览

unity3d - 为什么场景摄像机在播放时会改变位置和旋转

赢 10 专业版,统一 2019.2.17f1

此问题偶尔会随机发生。这台机器上发生了多个不同的场景。

在这种情况下,我有一个完全空的场景,除了默认的主摄像机和定向光。我没有在场景中添加任何脚本。在检查器中,相机位于位置 0, 10, 0,默认旋转 90, 0, 0。一旦我点击播放,相机会立即跳到一个看似随机的位置和旋转。如果我删除主相机并制作一个新的相机游戏对象,同样的事情也会发生。请参阅此屏幕录像来演示该问题:

https://youtu.be/JMl2arXzeCo

我认为这可能与我在我的机器上运行 SteamVR 的事实有关。有谁知道是什么原因造成的,以及在哪里可以找到切换此行为的设置?谢谢

0 投票
2 回答
297 浏览

c# - Unity3D使对象跟随另一个但移动得更远

所以,这就是我所拥有的:SteamVR 的手部游戏对象 3D 球体。

我想要什么:球体移动到与手相同的方向/位置,但它通过乘数进一步移动。例如,我移动 VR 控制器,手移动 1 个单位。我希望球体在相同的时间内向相同的方向移动,但例如 2 个单位。我该怎么做呢?我试过简单

但随后球体总是偏移。

0 投票
0 回答
29 浏览

unity3d - Steam VR 输入设置在点击播放按钮后重置

我尝试添加操纵杆运动,但每次我删除旧的操纵杆输入设置并添加新的操纵杆输入设置时,它都会在我点击播放后重置

感觉就像一个错误,因为它在几天前与其他输入(OpenInv 和 OpenHelp)一起工作 控制台 SteamVR 输入窗口中没有错误

这就是我想要的,但在我点击播放后,它会重置为两侧的“SnapTurn”SteamVR 输入设置

我的 Unity 版本是 2019.2.17f1

希望有人可以帮助我,谢谢

0 投票
0 回答
84 浏览

c# - 在 SteamVR 中与对象交互

我正在尝试在我的场景中为 Unity 中的颜色记忆益智游戏设置交互。

当玩家与画布上的按钮交互时,我设法让场景发生变化,所以我试图通过拼图以某种方式复制它。玩家可以触发颜色随机器以显示随机颜色(共 4 种),然后玩家需要以正确的顺序“按下”面板上的按钮才能继续。

到目前为止,我有一个与按钮重叠的画布,以便玩家可以与它们进行交互。每个按钮在按钮元素上都有一个盒子碰撞器,因此当单击鼠标或按下 Oculus 控制器上的触发按钮时,它应该注册一个按钮按下。但是一旦手接触到“碰撞盒”,就会出现以下 NullReferenceException;

我试图找出一种方法来引用代码中的每个“框”,以便它知道它被按下的特定颜色。该代码用于接受键盘输入,只是在使用 VR 元素时遇到了问题。

0 投票
1 回答
145 浏览

c# - 无碰撞物体的准确“打孔”检测

问候。我正在制作一个项目,在该项目中我需要检测玩家何时在没有任何物体碰撞的情况下进行拳击(基本上是冲压空气)。

在尝试完成这项工作时,我尝试使用手(控制器)速度作为参考。总体思路是跟踪最后 n 帧的手部速度,当它达到 0 时 - 考虑在手停止时执行打孔,并且将使用来自最后 n 个跟踪帧的最大速度来计算打孔力。

似乎我遇到了一个问题,即使手稳定且连续移动,从手返回的速度也经常达到 0,因此它不断捕获“假拳”。

我在 Unity 中工作并使用刚体来获得手的速度。有没有人知道对此有任何好的解决方案,或者在没有物体可以击中时有更好的方法来检测出拳。想法和想法受到赞赏。

0 投票
1 回答
465 浏览

unity3d - 在 VR 中使用控制器旋转具有固定点的对象

我想要一个具有固定点并根据 VR 中的控制器移动旋转的对象。

这是我想要实现的

  1. 用户抓取一个对象。
  2. 用户在抓取时向任何方向拉/推对象。
  3. 基于控制器的移动(推/拉),对象像杠杆一样旋转。
  4. 约束:对象不能离开它的位置,它必须保持固定。

此视频中显示了一个插图 ->固定点旋转

我正在尝试使用 Unity 和 VRTK 来实现这一点。

0 投票
1 回答
540 浏览

google-chrome - Chrome "immersive-vr" isSessionSupported 给出 false 与 threejs.org 示例

目前它看起来像 Chrome 83,虽然连接了 HTC Vive(安装了 SteamVR 1.9.16),但不支持任何 VR 体验。手动启动 SteamVR 时,还会找到耳机、控制器和基站。

https://threejs.org/examples/?q=webxr#webxr_vr_ballshooter

任何 VR 示例都声明“不支持 VR”

挖掘了一下,导航器描述了“沉浸式虚拟现实”会话不可用。以下代码的承诺响应为:false

与 WebXR 相关联的 Chrome (83.0.4103.61) 之前的标志不再可用。

任何想法我做错了什么?

编辑

Gives: Uncaught (in promise) DOMException: 不支持指定的会话配置。