OpenVR: получение вектора направления из матрицы преобразования позы - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь найти направление, в котором мой сенсорный контроллер 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 представляет собой прямое направление

Спасибо

...