Данная статья является первой в цикле про качественную разработку VR-проектов. Ссылки на другие материалы можно будет найти в обзорной статье.

Надевая 3D очки, пользователи могут погрузиться в виртуальный мир. При этом движения головы в точности переносятся в VR, в результате чего создается ощущение присутствия.

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

Это и является одним из самым значимых отличий VR от классических СМИ. Использование виртуальной камеры ставит перед нами новые сложные задачи, и тут стоит быть осторожным.

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

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

В SteamVR API дошли до того, что стали показывать пустую оклеенную плиткой комнату в те моменты, когда VR приложение недостаточно производительно, чтобы просчитывать необходимое число кадров в секунду. Это гарантирует, что в поле зрения не возникнет неподвижной «зависшей» картинки, и это состояние не собьет с толку пользователя.

Свобода действий привносит новые проблемы


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

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

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

И, во-вторых, у нас есть технические возможности для того, чтобы лишить такого жульничества игроков. Один из вариантов, так называемый портал в стене, описан в этой статье «Сквозь стены: преодоление преград».

Еще одна возможность — посмотреть на эту особенность как на преимущество и воспользоваться ей в виртуальном мире. К примеру, Audi так и сделала в своей VR презентации нового автомобиля. Тот, кто засунет голову в капот машины, будет удивлен прекрасным отображением внутренностей автомобиля.


Ауди позволяет для себя открыть внутренний мир автомобиля

Врезаться в настоящую стену


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

Самое лучшее, на данный момент, решение — система сопровождения (Chaperone System), которая выглядит как уведомление в виртуальном мире, когда мы находимся слишком близко к предметам из нашей реальной комнаты. Таким образом, мы всегда можем быть уверены в том, что не покалечим ни себя, ни кого-то другого.

Из-за такого рода проблем в Vive была разработана прекрасная фича: встроенная в VR-очки камера. При необходимости мы всегда можем разработать свою собственную реализацию подобных уведомлений. К примеру, для большего стилевого соответствия дизайну нашего виртуального мира.

Управляем камерой, когда это необходимо


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

Во-первых ты никогда не должен менять поворот(rotation) камеры или производить подобные манипуляции. Во-вторых едва ли следует менять позицию(position) камеры, во всяком случае движение должно быть очень медленным и иметь четкое направление, как будто платформа, на которой мы стоим, движется, более того положение головы должно быть воспроизведено очень точно.

Группа VR-разработчиков Everest реализовала передвижение камеры именно так и к тому же добавила еще одну интересную деталь: во время передвижения камеры VR сцена сменяется обычной 2D сценой. Только в сценах с взаимодействием пользователь снова видит картинку на 360 градусов.



Еще один хороший подход — моргание


Один из хороших подходов — это так называемая моргающая система (Blink System). Такой подход предполагает, что пользователи переносятся в виртуальном мире прямо на новую точку.

При телепортации картинка на мгновение становится черной. Это ощущается, как моргание, и выглядит на удивление хорошо. Denny Unger из Cloudhead Games очень наглядно объясняет этот подход в следующем видео:


Игра Budget Cuts переняла и усовершенствовала данный подход и внедрила его в игровую механику. Ты можешь перенестись на новую позицию с помощью маленького портала, который прикреплен к контроллеру, и просматривать пространство с разных точек зрения.

Привлекаем внимание


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

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

Продуманное использование света, звука и движения является крайне важным аспектом, и мы затронем эту обширную тему более подробно в будущих статьях. Грамотное использование этих деликатных техник позволяет создавать невероятно захватывающие и живые проекты, в которых ты можешь использовать преимущества нового СМИ на полную мощь.

Понимание технологии


Знания об особенностях обращения с виртуальной камерой помогут нам разобраться с техническими принципами VR-разработки в следующих статьях.

Ведь когда мы понимаем, что происходит у нас за спиной, мы знаем, на что нужно обращать внимание при разработке высококачественных VR-проектов.

Далее мы изучим основы оптимизации в статье «Рендеринг и оптимизация в VR-разработке».
Поделиться с друзьями
-->

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


  1. SystemXFiles
    31.01.2017 13:13

    По поводу раздела Врезаться в настоящую стену.
    Система уведомления представляется так: при приближении к реальной стене реальность начинает словно просачивается в виртуальный мир. Например, виртуальный мир становится «прозрачным» (или разрушается) и ты видишь реальную обстановку вокруг себя.

    Жаль, что такое возможно полноценно реализовать только с нормальной камерой или с дополненной реальностью.


    1. BasmanovDaniil
      31.01.2017 16:52

      Уже есть такое. В настройках Vive можно включить использование картинки с камеры для chaperone.


    1. syamskoy
      01.02.2017 09:25

      В HTC Vive довольно годно это реализовано. При подходе к настоящей стене, в виртуалном мире начинает появляться на ее месте светящаяся сетка (причем на регулируется в настройках: ее цвет, плотность, вид). Это очень помогает не врезаться в реальные предметы. Плюс на этом же шлеме есть функция наложения камеры и формирования вирт.пространства: нажав быстро два раза Steam клавишу (внизу на контроллере, может как-то по другому называется) можно увидеть проекцию своей комнаты и встать куда нужно. И даже тут есть еще и третий вариант — это включить обычную камеру на шлеме и смотреть через нее — но это не особо удобно.
      Но в основном хватает первой реализации. Хотя бывают моменты в игре, когда экшен на столько захватывает, что игрок попросту начинает игнорить эту сетку:)