Сброс 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