В настоящее время я разрабатываю среду виртуальной реальности для существующей (физически) большой платформы симулятора движения. Пользователь может сидеть на этой подвижной платформе, и его ускоряют и наклоняют, чтобы вызвать ощущение движения в среде симулятора исследовательского автомобиля. Позиционный трекер Oculus Rift уже установлен на движущейся платформе перед пользователем, так же, как вы это делаете на своем ПК.
В настоящее время я использую 3D-движок Unity 5.3. Углы поворота и линейные ускорения платформы уже поданы в Unity. Однако результаты не те, к которым я стремился. В то время как компенсация вращения работает хорошо, пока мы наклоняем платформу, как только угловая скорость падает до нуля, трекер сбрасывается без моего вызова или запуска события, которое он сделал. Компенсация линейного ускорения всегда дрожит вокруг истинной точки покоя.
Я уже пытался использовать встроенную реализацию Unity VR, а также плагин Oculus. Тем не менее, датчик слияния не доступен на этом уровне. На форумах Oculus есть много тем по этой проблеме, но я не смог найти решения.
Есть ли альтернативы, которые можно попробовать, чтобы использовать Oculus на движущейся платформе?
В идеале я хотел бы вычесть наведенное движение из данных датчика Oculus перед дальнейшей обработкой. Я уже рассматривал исправления, например LibOVR, но не смог найти там никаких полезных функций, связанных с слиянием датчиков.
Ответы:
Я не могу дать однозначного ответа, но я предлагаю вам поэкспериментировать с гарнитурами разных производителей (Microsoft Mixed Reality, VIVE и, возможно, с мобильными телефонами), и посмотреть, не возникает ли проблема сброса с ними. Я догадываюсь, что проблема сброса связана с Oculus и не является особенностью систем VR в целом.
В качестве примера успешного аналогичного проекта см. Документ CarVR: Включение развлекательной виртуальной реальности в автомобиле . Это говорит об использовании VR в движущейся машине.
Как и то, что вы сделали, они поместили IMU в платформу (машину) и вычли эти данные из рендеринга в Unity. Кажется, они успешно прошли тесты и не упоминают перезагрузку или другие проблемы. В своих исследованиях они специально использовали Samsung GearVR с Samsung Galaxy S6 Edge в качестве устройства VR.
Другой подход заключается в использовании системы VR, которая использует камеры для определения ориентации. Теоретически, система только для камеры может полностью управлять движением головы и ориентацией, если она достаточно мощная. Гарнитуры Microsoft Mixed Reality делают это в некоторой степени. Посмотрите эту страницу Microsoft по отслеживанию для некоторой предыстории этого. Тем не менее, я считаю, что система Microsoft представляет собой сочетание отслеживания камеры со встроенными датчиками для гибридного подхода.
источник