Я работаю над 3D-оцифровкой с помощью контроллера Vive. Я использую OpenVR для связи с оборудованием и PollNextEventWithPose
для получения позы контроллера в момент нажатия пользователем кнопки. Из позы я хочу вычислить точку на расстоянии 177 мм по оси Z, где находится наша точка оцифровки.
Запустив Unity, я сделал что-то вроде этого:
var digitizerPosition = trackedObject.transform.position - trackedObject.transform.forward * 0.177f;
Теперь в OpenVR PollNextEventWithPose
дает мне TrackedDevicePose_t
, который содержит поле mDeviceToAbsoluteTracking
типа Valve.VR.HmdMatrix34_t
. Учитывая эту матрицу, как мне вычислить точку по оси Z?