【问题标题】:OpenVR: Obtaining direction vector from Pose transformation matrixOpenVR:从姿势变换矩阵中获取方向向量
【发布时间】:2019-01-11 05:23:16
【问题描述】:

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

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

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

由于我的新帐户无法发布图片,但可以在此处找到 https://camo.githubusercontent.com/d83363a745afeeb1ac7265d10ad55544e15a8fe9/687474703a2f2f7777772e736f6e67686f2e63612f6f70656e676c2f66696c65732f676c5f616e676c6573746f6178657330312e706e67

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

谢谢

【问题讨论】:

    标签: oculus openvr


    【解决方案1】:

    我也遇到过这个问题 (OpenVR Teleportation Problem (Forward direction calculation))。我知道这是一个非常古老的问题,但为了完整起见,我也想在这里给出答案。

    这里的方法是正确的,但 OpenVR 将其控制器的前向向量定义为 vec4(0,0,-1,0)。您应该能够将姿势矩阵乘以该向量以获得方向。请记住,这与 HMD 相关,并相应地进行转换。

    【讨论】:

      猜你喜欢
      • 2019-05-21
      • 1970-01-01
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 2021-07-17
      相关资源
      最近更新 更多