Сброс HTC Vive Origin/"Мир"

Было интересно, если кто-нибудь может помочь.

Поэтому я пытаюсь сбросить исходную точку "мира" на HTC с помощью OpenVR. например, точка (0, 0, 0), заданная во время настройки комнаты, когда мне пришлось выровнять HMD по экрану и т. д.

Мне было интересно, если это возможно сделать с помощью кода и если так, может кто-то направить меня в правильном направлении?

Я обнаружил, что у Окулуса есть 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)

Если у кого-нибудь есть какие-либо советы, я буду очень признателен.

1 ответ

Вы должны быть в состоянии позвонить vrsystem.resetSeatedZeroPose() сбросить ваше происхождение OpenVR

Другие вопросы по тегам