Когда вы перемещаетесь по миру, вы получаете визуальные и вестибулярные сигналы о том, как вы и объекты вокруг вас движутся. Эта настройка позволяет манипулировать этими сигналами независимо. Это доступный способ контролировать движение человека в иммерсивной аудиовизуальной среде, используя детали, которые легко доступны, такие как офисное кресло.
Мой совет для всей этой системы стульев заключается в том, чтобы электроника и двигатель работали так, как вы хотите, прежде чем собирать что-либо должным образом. Начните с подключения платы Arduino к компьютеру с помощью КАБЕЛЯ USB. В раскрывающемся меню инструментов выберите порт, к которому подключена плата Arduino.
Затем выберите соответствующую плату, а затем процессор. Убедитесь, что он соответствует фактической плате и процессору. Здесь можно вставить предоставленный пример кода Arduino.
Проверьте и сохраните код Arduino. Затем загрузите его на доску Arduino с помощью кнопки загрузки. Подключите и включите электрическую подсистему.
Затем проведите маленьким тумблером в положение, в котором включается маленький светодиодный индикатор, и поверните циферблат потенциометра, чтобы убедиться, что он контролирует скорость и направление стула. Скорость и направление стула должны варьироваться в зависимости от положения потенциометра. Затем откройте новый или существующий проект Unity.
Чтобы импортировать плагин SteamVR, сначала убедитесь, что вы вошли в свою учетную запись Unity. Затем щелкните окно и хранилище ресурсов, чтобы открыть хранилище ресурсов в веб-браузере. Поиск SteamVR.
Выберите плагин SteamVR и нажмите, добавьте в мои активы. Вернувшись в Unity, выберите менеджер пакетов под вкладкой окна. Выберите мои ресурсы.
Затем нажмите «Импорт» в SteamVR и следуйте инструкциям, чтобы завершить импорт. Нажмите «Принять все», чтобы внести изменения в конфигурацию и следуйте инструкциям. Найдите новый ресурс под названием SteamVR в окне проекта на экране инспектора.
Разверните папку ресурсов SteamVR, а затем префабы. Перетащите ресурс камеры в окно иерархии, чтобы разрешить использование гарнитуры VR и контроллеров в игре. Удалите основную камеру по умолчанию из иерархии или сцены, так как это будет мешать работе камеры SteamVR.
Затем найдите плагин Ardity, используя тот же процесс, который используется для SteamVR. Затем создайте объекты, необходимые для эксперимента. Для этого нажмите на игровой объект и выберите 3D объект.
Например, вот плоскость, называемая фоном, которая расположена на заднем плане вида камеры. Фон может быть зафиксирован в положении относительно головного дисплея. Чтобы добавить функциональность в сцену, нажмите на кнопку добавить компонент в окне инспектора и выберите новый скрипт.
Вызов скрипта, настройка пробной версии. Код по умолчанию здесь должен быть заменен кодом в предоставленном файле пробной версии установки. Это минимальный код, необходимый для правильного движения стула.
Вернитесь к Unity. Новый пробный сценарий установки теперь прикреплен к фоновому объекту. В папке ресурсов в окне проекта откройте папку Ardity, а затем папку scripts.
Перетащите сценарий последовательного контроллера в фоновый игровой объект в окне иерархии. Прокрутите список компонентов вниз в окне инспектора, чтобы найти сценарий последовательного контроллера. Убедитесь, что имя порта и скорость платы совпадают с именами и тарифами программы Arduino.
Перетащите фоновый объект из окна иерархии в поле ввода рядом с прослушивателем сообщений в окне инспектора. Нажмите на добавить компонент в нижней части окна инспектора и выберите новый скрипт. Имя, новый контроллер стула скрипта.
Предоставленный сценарий контроллера стула можно вставить в этот файл. Как минимум, необходима функция, которая превращает действия пользователя в число от нуля до 1 023. Затем используйте функцию serial controller dot send serial message, чтобы отправить номер в Arduino, и сохраните скрипт.
Вернувшись в Unity, перетащите экранный объект, установленный на голове, из окна иерархии в поле ввода рядом с заголовком. Затем перетащите правый объект контроллера в поле ввода рядом с рукой. Прокрутите вниз в окне инспектора, чтобы найти открытые переменные сценария пробной версии установки.
В соответствии с примером типа ввода кода, три предназначены для контроллера VR, а четыре - для управления мышью. Здесь выбирается контроллер VR. Когда приложение SteamVR выключено, при первом нажатии кнопки воспроизведения в Unity вы получите сообщения об ошибках, связанные с действиями SteamVR.
Следуйте инструкциям на экране, чтобы настроить действия SteamVR. Закройте окно настроек и обработайте любые другие подсказки от SteamVR. Наконец, нажмите кнопку воспроизведения, чтобы начать работу с VR.
С помощью этих настроек пользователь может вращать стул с помощью контроллера VR. Здесь показано схематическое представление действий наблюдателя и результирующих изменений стула и сцены во время эксперимента. В конгруэнтном состоянии, если наблюдатель перемещает контроллер влево, стул также движется влево, а визуальный фон движется в противоположном направлении, как если бы это была неподвижная сцена, против которой вращается человек.
В неконгруэнтном состоянии стул движется в противоположном направлении, делая движение стула несовместимым с визуальным фоновым движением. Здесь показан скриншот стимулирующей области визуального дисплея. Небольшие узорчатые пятна оставались на месте все время, но узоры внутри них двигались так, как будто каждый участок был окном в более крупный движущийся объект.
Пятна, лежащие на кольце, составляли мишень, а другие пятна составляли фон. В этом примере видео цель перемещается вертикально вверх, а фон — вправо. Движущийся фон создает иллюзию движения влево в мишени, заставляя ее казаться движущейся вверх и влево.
Это иллюзорное движение влево называется индуцированным движением. Кольцо цели имело радиус пяти градусов угла обзора, а фоновая область поднизилась на 20 градусов на 20 градусов. Сила индуцированного эффекта движения при конгруэнтных и неконгруэнтных условиях движения представлена значением параметра бета.
Репрезентативное изображение показывает средние бета-значения для каждого наблюдателя в конгруэнтных и неконгруэнтных условиях. Как и следовало ожидать, если бы наблюдатели предположили, что фоновое движение было вызвано их собственным движением через неподвижный мир, среднее бета-значение для конгруэнтного состояния близко к единице. За исключением одного наблюдателя, бета-значение всех наблюдателей уменьшилось в неконгруэнтном состоянии движения стула.
Эти данные указывают на снижение вероятности рассматривать визуальное фоновое движение как вызванное физическим движением наблюдателя. Вы хотите убедиться, что ваш шкив стула и шкив двигателя выровнены очень хорошо, и что натяжение ремня хорошее. Немного изгиба в поясе, но не сильно.
Вы можете управлять визуальными и слуховыми сигналами с помощью гарнитуры, а затем отдельно вы можете управлять движением тела с мотором или ногами. Есть с чем поиграть.