Впервые на русском: Документация Unity для разработчиков. Движение в виртуальной реальности

Продолжаем публикацию эксклюзивной информации для разработчиков Unity. Новый раздел посвящён движению в виртуальной реальности.

Документация Unity для разработчиков:

  1. Обзор виртуальной реальности
  2. Проекты сэмплов для виртуальной реальности
  3. Начало работы с VR Development. Основы
  4. Начало работы с VR Development. Создание первого проекта виртуальной реальности
  5. Начало работы с VR Development. Полезная информация для разработки виртуальной реальности
  6. Обзор VREyeRaycaster, VRInput и VRInteractiveItem
  7. Обзор SelectionRadial и SelectionSlider
  8. Примеры взаимодействия в VRSampleScenes. Взаимодействия в Menu scene
  9. Примеры взаимодействия в VRSampleScenes. Взаимодействие в Лабиринте
  10. Примеры взаимодействия в VRSampleScenes. Взаимодействие в Тире 180 и Тире 360
  11. Вращение и позиционирование головы в виртуальной реальности
  12. Взаимодействие с тачпадом и клавиатурой во время игры в виртуальной реальности
  13. Примеры VRInput в VR Samples
  14. Пользовательские интерфейсы для виртуальной реальности
  15. Взаимодействие с пользовательским интерфейсом
  16. Свободное сглаживание текста для виртуальной реальности
  17. Движение в виртуальной реальности

Наряду с проблемами с получением нужной частоты обновления кадров, описанной ранее в обзорной статье, движение в виртуальной реальности является одной из основных причин «болезни симуляции» у пользователей, и поэтому оно требует тщательного рассмотрения перед реализацией определённого решения в вашем проекте. Этот вопрос лучше всего рассмотреть на ранней стадии разработки – в идеале на этапе концепции – поскольку это может сильно повлиять на ваш проект, если обнаружится, что выбранное вами решение движения может вызывать тошноту.

Тошнота и комфорт в виртуальной реальности

Чувство тошноты, также известное как «болезнь симуляции», частично связано с тем, что тело в реальном мире неподвижно, а виртуальный взгляд перемещается внутри виртуальной среды. Также это тесно связано с искажением, в связи с чем его следует избегать, когда это возможно.

В общем, хорошим правилом в данном случае является попытка предотвращения перемещения камеры, если оно не копирует движение пользователя, так как это может вызвать проблемы с вестибулярным аппаратом. Проще говоря, искажение – это эффект путаницы мозга пользователя, когда у него возникают противоречивые сигналы, посылаемые глазами и ушами, что может заставить организм предположить, что он был отравлен, и, таким образом, вызвать подобную реакцию – отказ в виде тошноты. В этом случае так же, как и во всём, есть свои исключения, поэтому экспериментируйте и тестируйте ваши проекты с максимально широкой аудиторией, чтобы увидеть, что работает каждое отдельное решение в случае с вашей игрой.

Обратите внимание, что проблема движения и искажения, вызывающая тошноту, является чем-то более очевидным в тех системах виртуальной реальности, которые используют пространственное отслеживание, например, в системе HTC Vive, но это всё ещё зависит от вас как разработчика, не перемещающего пользователя по окружающей среде, и запутывающего баланс ушей и глаз.

В настоящее время наиболее удобные VR-тесты являются стационарными, как правило, с пользователем в сидячем положении. В результате чего игры в стиле turret наиболее популярны в виртуальной реальности: см. наши сцены Тир 180 и Тир 360 в качестве примеров этого стиля игры.

Игры от первого лица в виртуальной реальности

Традиционный стиль игры персонажем от первого лица с мышью и WASD или геймпадом часто вызывает тошноту, поэтому его лучше избегать. Если вы решите использовать элемент управления от первого лица, проверьте своё движение с максимально возможным количеством пользователей и, безусловно, отключите покачивание головой. Возможно, вам захочется рассмотреть вариант отключения наклонов и вместо этого заменить его на привязку вращением, возможно, в сочетании с очень быстрым замиранием камеры. Взгляните на компонент CameraOrbit ниже для получения дополнительной информации о быстрых затуханиях и поворотах при вращениях.

Если вам необходимо реализовать движение, будь то по техническим причинам или любым другим, подумайте о том, чтобы предоставить пользователю постоянную статическую визуальную точку – например, кабину лётчика, кабину автомобиля, салон автомобиля или нечто подобное. Чтобы увидеть примеры использования кабин в играх Unity VR, взгляните на Radial-G, Lunar Flight и Titans of Space.

Переходы затемнения и моргание в виртуальной реальности

Популярный способ перемещения между позициями в виртуальной среде – реализовать перемещение по чёрным переходам – ​​очень быстрое выцветание до чёрного, перемещение камеры в нужное положение и последующее затухание. Альтернативным, немного более сложным вариантом будет реализация мигающих переходов, в которых пользователь мигает, эмулируется двумя черными плоскостями. Том Форсайт из Oculus рассказывает об этом в своём видео на Oculus Connect 2014.

 

Примечание: Данный материал представлен для ознакомления, при перепечатывании ссылка на оригинал обязательна. Если вы хотите принять участие в помощи проекту, пишите на editor@vrgeek.ru

Если вы разработчик и вы хотите продолжить свою карьеру в лучших компаниях России, пишите на editor@vrgeek.ru с пометкой «Работа мечты», и мы поможем вам с этим.