0

想知道是否有人可以提供帮助。

因此,我尝试使用 OpenVR 在 HTC 上重置“世界”的原点。例如,当我必须将 HMD 与屏幕等对齐时,在房间设置期间设置的 (0, 0, 0) 点。

我想知道这是否可以通过代码来完成,如果可以的话,有人可以指出我正确的方向吗?

我发现 oculus 的ovr_RecenterTrackingOrigin()功能似乎可以满足我的需求。

但是 HTC 有没有等价物?我想重置原点,因为我被困在同一个地方,并且如果我远离最初的“世界”原点,我希望有一个校准新原点的选项。

我使用的python脚本来自:https ://github.com/uts-magic-lab/htc_vive_teleop_stuff/blob/master/scripts/vive_tf_and_joy.py

& 从这部分代码中获取位置:

poses = poses_t()
vrsystem.getDeviceToAbsoluteTrackingPose(
    openvr.TrackingUniverseStanding,
 0,
 len(poses),
    poses)

now = rospy.Time.now()
transforms = []
# Hmd is always 0
matrix = poses[0].mDeviceToAbsoluteTracking

hmd_pose = from_matrix_to_transform(matrix, now, "world", "hmd")
transforms.append(hmd_pose)

如果有人有任何提示,我将非常感激。

4

1 回答 1

0

你应该可以打电话vrsystem.resetSeatedZeroPose()来重置你的 OpenVR 来源

于 2018-08-13T20:14:27.580 回答