Как выровнять мое мировое пространство с границами Vive Chaperone?

Я пытаюсь создать виртуальную реальность 1:1 в масштабе комнаты для HTC Vive, используя Unity и VRTK.

У меня есть отслеживаемое пространство 3 х 3 м для тестирования, а в Unity я создал комнату 3 х 3. Однако стены в моем виртуальном мире не идут параллельно границам шаперона игровой зоны, они пересекают шаперона. Взгляните на это изображение:

Границы сопровождающего не выровнены со стенами комнаты

Как преобразовать мое мировое пространство, чтобы оно всегда синхронизировалось с границами сопровождающего?


person Mayank K Rastogi    schedule 10.10.2018    source источник
comment
Поместите гарнитуру и контроллер в центр созданной вами виртуальной комнаты.   -  person Muhammad Faizan Khan    schedule 10.10.2018
comment
@MuhammadFaizanKhan Я думаю, что VRTK позаботится о размещении гарнитуры, когда вы настраиваете VRTK_SDKManager и выбираете SteamVR в VRTK_SDKSetup. Я перепроверил все объекты, и все преобразования установлены на 0.   -  person Mayank K Rastogi    schedule 10.10.2018


Ответы (1)


Насколько я знаю, границы шаперона всегда должны быть центрированы по нулевой координате мирового пространства и выровнены с мировой осью, если SteamVRController находится в корне иерархии. Вы уверены, что не делаете его дочерним элементом другого объекта?

Вы также можете проверить, что размеры отслеживаемой области соответствуют ожидаемым, выполнив следующие действия:

CVRChaperone chaperoneSystem = OpenVR.Chaperone;
bool success = chaperoneSystem.GetPlayAreaSize(ref m_sizeX,ref m_sizeZ);
person Lenakeiz    schedule 10.10.2018
comment
Я использую VRTK для разработки, который управляет SteamVR SDK вместо меня. Я попытался получить размер игровой зоны, используя VRTK_DeviceFinder.PlayAreaTransform(), который вернул позицию как (0, 0, 0) и поворот как (0, 0, 0, 1.0). Так что я не уверен, что не так. Даже если я получу правильное преобразование сопровождающего, как мне исправить свои координаты в мировом пространстве? - person Mayank K Rastogi; 10.10.2018