Виртуальная реальность привносит новые требования к игровому дизайну, накладывает собственные ограничения, одно из них — это тот факт, что пользователя (пока) нельзя остановить перед виртуальной стеной.

Не нужно быть терминатором для того, чтобы пройти через виртуальную 50-ти сантиметровую стальную дверь сейфа. Это может стать проблемой, когда именно стена представляет собой сложность, с которой должен разобраться пользователь.

В традиционных «плоских» 3D играх такую проблему решают очень просто: цифровой персонаж останавливается, и ему не разрешают пройти через стальную дверь. И это не вызывает никаких возражений, так как раньше у нас не было никакой связи реального и цифрового миров, но в VR все не так.

image

Классические решения не для VR


Попытавшись продолжать пользоваться этим принципом в виртуальной реальности, быстро становится ясно, что это плохая идея: контроль над положением в виртуальном пространстве передается пользователю — и как только это произошло, видимая картинка (VR) перестает соответствовать тактильным (настоящим) движениям головы и тела, и это приводит к известной нам «Motion Sickness», проще говоря, тебя начинает тошнить.

Одно из возможных решений — трюк с порталом в стене. При таком подходе мы все же разрешаем проходить через стены, но это выглядит, как портал в пустую комнату. При взгляде назад виден другой проход в только что покинутую комнату. Сделав шаг назад, к этому порталу, мы опять переносимся за стену.

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

image

Благодаря этой технике игроки не смогут жульничать и портить себе игровой процесс, но мы по-прежнему задаем позицию и ориентацию головы в пространстве. Тошнота никуда не уходит.

Техническое решение с помощью порталов


Техническая реализация в таких движках, как Unity, Unreal или Source довольно проста. Можно один раз запрограммировать портал, как функцию, а потом вызывать ее для соответствующих стен, дверей и других объектов.

Этот эффект можно сравнить с системой сопровождения («Chaperone») от SteamVR: одна из стен, находящихся в поле зрения, исчезает незадолго до перехода в следующую сцену, если игрок подходит к ней слишком близко.

Однако в большинстве случаев все происходит так: посетители виртуальных миров не хотят таранить головой виртуальные стены. Наблюдаемое заставляет верить в реальность виртуального мира на подсознательном уровне так сильно, что человеку придется заставить или преодолеть себя на психологическом уровне, чтобы пройти через твердый материал виртуального мира.
В будущем такие техники, так называемые «best practices», внедрят в каждый движок. Это избавит VR-разработчиков от лишних проблем и дополнительной работы.

Обмен опытом


Ты столкнулся с другими проблемами при разработке своих виртуальных миров? Или сам нашел классное решение? Тогда пиши мне, я буду рад твоему сообщению.
Поделиться с друзьями
-->

Комментарии (3)


  1. TxN
    01.02.2017 12:12

    А зачем надо переносить игрока в другую комнату, когда он решает пройти сквозь стену?
    Разве нельзя просто при попытке протаранить головой виртуальную стену затемнять изображение? По указанной вами же причине подобное будет случаться не так часто, и дискомфорта возникнуть не должно.


    1. htc-cs
      01.02.2017 12:41

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


  1. savvadesogle
    01.02.2017 12:22

    Решение очень простое и решает проблему VR в этой статье. Все давно придумано и это решение не исключение. Из игр прошлого)