我正在使用Vive控制器进行3D数字化。我使用OpenVR与硬件通信,使用PollNextEventWithPose获取用户按下按钮时控制器的姿势。从姿势上,我想计算一个沿着Z轴177 is的点,我们的数字化点在那里。
在Unity下运行时,我做了这样的事情:
var digitizerPosition = trackedObject.transform.position - trackedObject.transform.forward * 0.177f;现在在OpenVR下,PollNextEventWithPose给了我一个TrackedDevicePose_t,它包含类型为Valve.VR.HmdMatrix34_t的字段mDeviceToAbsoluteTracking。给定该矩阵,我如何计算沿Z轴的一个点?
发布于 2018-03-15 04:36:38
trackedObject.transform.forward的等价物是:
public static Vector3D Forward(HmdMatrix34_t matrix)
{
return new Vector3D(matrix.m2, matrix.m6, matrix.m10);
}https://stackoverflow.com/questions/48798301
复制相似问题