Где и зачем учиться разработке приложений для виртуальной реальности. Где искать VR разработчика

Это новое захватывающее направление в разработке приложений. Оно знаменует собой новые форматы сторителлинга и более действенные способы передачи эмоций и ощущений.

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

Что понадобится

Телефон с гироскопом под управлением Android KitKat или более новой версии.

Unity3D — кроссплатформенный игровой движок версии 5.6 и выше.

Видео с обзором в 360 градусов.

Как создать приложение?

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

Шаг 1: Построить сферу ?

Создадим новый Project в Unity или новую Scene, если хотим интегрировать видеоплеер в уже существующий проект. Считайте, что Scene - это один уровень в игре, а Project - вся игра.

Поместите сферу (3D object → Sphere) радиуса 50 (Scale = 50, 50, 50) в центр Scene (Position = 0, 0, 0). Установите позицию камеры на 0, 0, 0. Камера - это глаза игрока: если поместить её не в центр, то видео будет искажённым.

Поместив камеру внутрь сферы, мы больше не видим её на сцене. Так происходит из-за того, что большинство игровых движков не отображает внутреннюю сторону 3D-объектов, так как нам почти никогда не нужно её видеть, а значит можно не тратить ресурсы на отрисовку.

Шаг 2: Перевернуть нормали сферы ?

В нашем случае нужно смотреть на сферу изнутри, поэтому мы вывернем её наоборот.

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

Применим программу Shader к Material сферы. Материалы в Unity контролируют внешний вид объектов. Шейдеры - это небольшие скрипты, которые рассчитывают цвет каждого рендерированного пикселя, основываясь на информации о материале и освещении.

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

Шаг 3: Спроектировать панорамное видео внутрь сферы?

Импортируйте в проект видео с обзором в 360 градусов формата mp4, перенесите его на сферу. Появится компонент Video Player, и видео будет готово к воспроизведению. В окне этого компонента можно установить бесконечный повтор и отрегулировать настройки звука.

Прим. ред. Если у вас нет собственного видео такого типа, можно использовать чужие заготовки, свободно распространяемые в Интернете.

Шаг 4: Настроить поддержку Google Cardboard ?

Используя GoogleVR SDK, мы создадим стереоскопическое изображение. Совокупность эффекта рыбьего глаза, применённого к обеим частям разделённого наполовину экрана, и искажения пластиковых линз Google Cardboard создаёт иллюзию глубины картинки и погружения в виртуальную реальность.

Для того чтобы добавить GoogleVR SDK к проекту, скачайте и импортируйте плагин . Далее скорректируйте настройки Android:

  1. В верхнем меню выберите File → Build Settings . Добавьте сцену, если она еще не была добавлена, а из предлагаемых платформ выберите Android.
  2. Нажмите на Switch Platform . Переключение платформы займёт некоторое время.
  3. Нажмите на Player Settings . На панели инструктора появятся компоненты.

В окне Player Settings в секции Other settings :

  • Отметьте галочкой Virtual Reality Supported . В выпавшем окне Virtual Reality SDKs нажмите на +, добавьте в список Cardboard .
  • Выберите для вашего приложения уникальное имя и введите его в поле Bundle Identifier . Уникальные имена приложений под Android обычно имеют форму обратного доменного имени, например, com.example.CoolApp . Подробнее про это можно почитать в официальной документации и в Википедии .
  • В меню Minimal API Level выберите Android 4.4 Kit Kat (API Level 19) .

В панели Project Browser в папке GoogleVR/Prefabs выберите элемент GvrViewerMain и перетащите его на сцену. Задайте ему такую же позицию, как у центра сферы: 0, 0, 0 .

Префаб GvrViewerMain контролирует все настройки режима виртуальной реальности, например, адаптацию экрана к линзам Cardboard. Он также получает данные с гироскопа телефона для отслеживания поворотов и наклонов головы. При повороте головы Camera в видеоплеере тоже повернётся.

Шаг 5: Запустить приложение на Android ?

Это можно сделать двумя разными способами:

  • Выберите File → Build Settings . С помощью USB-кабеля подключите телефон к компьютеру, включите отладку по USB и нажмите Build & Run . Приложение загрузится сразу на телефон.
  • Или нажмите Build only . Приложение не загрузится на телефон, но зато сгенерируется в APK-файл, который можно отправить другим людям или выложить в магазин мобильных приложений.

В течение процесса сборки вас могут попросить выбрать корневую папку Android SDK. В этом случае скачайте Android SDK и укажите расположение его папки.

Осталось только запустить приложение и вставить телефон в Cardboard. Теперь вы можете испытать погружение в виртуальную реальность с обзором в 360 градусов у себя дома.

Что дальше

Поздравляем, вы создали видео-приложение с обзором в 360 градусов! Теперь вы на шаг ближе к разработке видео-приложения виртуальной реальности. Да, между ними есть разница. В первом случае наблюдатель может только смотреть в любом направлении. Во втором случае добавляется интерактивность, то есть контроль над объектами.

Приложение, которое вы только что создали, может послужить отправной точкой в построении более разнообразной виртуальной реальности. Например, в Unity можно наложить на верхний слой видео 3D-объекты и эффекты частиц.

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

Не знаю, как вы, а лично я вот уже полтора года жду, когда наконец VR начнёт разрывать рынок. Сначала были картонные Google Cardboard, которые служили идеальным подарком хоть другу, хоть жене. Потом Microsoft выпустило к финалу Супербоула красочное видео , показав далекие от реальности возможности Hololens. И конечно, за 2016 год мы посмотрели и почитали немало обзоров о невероятно крутых свежеиспеченных VR устройствах, а также поиграли в первые качественные ориентированные на данные девайсы игры.

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

Просто, как раз-два-три

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

Следующем шагом будет установка правильного «движка», коим в нашем случае будет являться Unity. На сегодняшний день он наилучшим образом настроен не только для создания VR-приложений с нуля, но и на перевод в данный формат уже существующих 3D творений. Кстати, блуждая по просторам интернета вы можете наткнуться на мнение, что опция VR у Unity изначально была разработана для взаимодействия с пакетом Google Cardboard SDK, поэтому использование под iOS доставит немало трудностей. Первая часть частично правдива, а вот вторая — нет. Во всяком случае реальных проблем замечено не было.

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

Ещё в помощь

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

Unreal Engine
Начиная с 4 версии вам также откроется доступ к возможностям работы с VR-графикой. Однако в силу некоторой сложности и дороговизны платформы, назвать Unreal приоритетным вариантом язык не повернётся.

InstaVR
Веб-сервис, позволяющий в несколько нажатий мышкой создать собственное VR-приложение. Прекрасно подойдёт для реализации простых задумок, будь то визуализация пейзажа или виртуальная 3D консоль.

Wonda VR
Специализированный сервис для создания VR-видео. Здесь действительно легко заниматься прототипированием, склейкой видео, наложением эффектов, но и цена начинается от 499 €. Впрочем, есть 14-дневная триал-версия для оценки возможностей.


Приложение для обработки фотографий с возможностью преобразования в формат VR.

Splash
Аналогичный сервис, доступный только для iOS. Ещё находится в стадии разработки, но уже имеет неплохой функционал.

Отличия от разработки игр

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

Полезная литература

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

Google VR — начнем с официального руководства от Google, повествующего о том, как сделать из простой коробки чудо-развлечение;

Microsoft VR — аналогичная пошаговая инструкция, но от Microsoft;

How to make a VR app with zero experience — полезная и наглядная статья, которая поможет вам создать своё первое приложение;

Creating a Gear VR app in Unity Free — а вот и обучающее видео, как с помощью своих прямых рук и Unity создать VR-конфетку.

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

Как это работает?

Устройства виртуальной реальности создают виртуальную 3D-среду в натуральную величину и без границ, привычных при просмотре ТВ и работой за компьютером. В зависимости от того, куда вы смотрите, экран, установленный напротив лица, следует за вами.

Видео передается от консоли управления, компьютера или непосредственно со смартфона. VR-гарнитуры используют либо два канала, отправленных на один дисплей, либо сразу два ЖК-дисплея, по одному на каждый глаз. Существуют также линзы, которые размещены между вашими глазами и пикселями. Эти линзы фокусируют и изменяют изображения для каждого глаза и создают стереоскопическое 3D-изображение, поворачивая два 2D-изображения и создавая таким образом имитацию третьего изменения.

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

Classic Furniture Pack (Unity 5 interior showreel)

Unity 5 Interior lighting

3D-моделирование

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

Как это работает?

Основной способ создания 3D-моделей - это полигональнольное моделирование. Сам объект при этом представлен в виде сетки прямоугольников, квадратов и треугольников (для видеоигр). Эти простые геометрические фигуры и называются полигонами.

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

Именно в этом и состоит главная задача при создании проектов с участием 3D-моделей - найти идеальный баланс между производительностью и схожестью с оригиналом.

Захват движения

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

В школьные годы я ездил на экскурсию в Лондон, и там впервые познакомился с виртуальной реальностью (VR) в игре Zone Hunter. Технология моментально меня зацепила, и я понял – в будущем хочу работать в этой сфере! Теперь, вот уже более 12 лет, я занимаюсь виртуальными промышленными тренажёрами и написанием ПО для VR-систем.

Я основатель и президент компании с названием «i’m in VR» . Мы предлагаем средства для создания VR-приложений, такие, как MiddleVR – связующее ПО, позволяющее 3D-приложениям (например, основанным на Unity) запускаться в любой VR-системе (комнаты виртуальной реальности, шлемы и другое). У меня есть блог про виртуальную реальность, который я начал вести задолго до того, как она стала популярной, и вы можете найти меня в твиттере .

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

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

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

Виртуальная реальность в 2013-м

Виртуальная реальность погружает человека в трёхмерное окружение с помощью специальных шлемов, очков или других систем погружения. Поэтому мы часто используем термин iVR (immersive VR – виртуальная реальность с погружением), чтобы обособиться от виртуальных миров вроде Second Life или World of Warcraft. В начале 90-х эти технологии приковали к себе всеобщее внимание, но не смогли предоставить ожидаемых ощущений.

Однако, они продолжили своё развитие на фронте серьёзных игр, и сегодня превратились в полезные средства, применяющиеся в нескольких областях:

  • Обучение в виртуальных симуляторах на порядок эффективнее реальной практики: можно с высокой точностью управлять имитируемой средой, просматривать повторы и безбоязненно отрабатывать реальные манипуляции во множестве потенциально опасных ситуаций. На таких тренажёрах обучают хирургов, военных, полицейских, пожарных, стоматологов и даже рабочих по наружной отделке зданий! Это позволяет предприятиям экономить на дорогостоящих материалах и избегать различных рисков, давая более прозрачное представление о способностях практикантов.
  • У всех ведущих автопроизводителей есть VR-системы для тестирования дизайна и эргономики продуктов, которые ещё не увидели свет, позволяющие быстрее перебирать разные вариации по сравнению с реальными макетами. Это применяется и в производстве катеров, самолётов, тракторов, производственных линий, фабрик и даже кухонь! Взгляните на VR-приложения и системы от Peugeot или Ford !
  • Цифровые модели выглядят очень правдоподобно: вы можете со всех сторон рассмотреть свой будущий дом или оценить городскую планировку задолго до начала строительства. Для примера посмотрите демонстрационное видео от Enodo .
  • VR – полезное средство для исследования рынка в области розничной торговли: вы можете вживую взглянуть на внешний вид своего магазина до его постройки или переноса, проследить за движением посетителей и за направлением их взгляда. Это полезно при оценке расстановки фурнитуры и позволяет убедиться, что ваш дизайн выделяется среди прочих.
  • Виртуальная реальность – хороший способ лечения фобий: при боязни высоты можно перенестись на смоделированный утёс и прочувствовать свой страх. В этом случае помощь терапевта будет более эффективной, чем в реальных условиях на настоящей скале. То же самое относится и к боязни перелётов, пауков, собак и выступлений на публике. Таким, к примеру, занимается Стефан Бушар (Stéphane Bouchard) в Лаборатории киберпсихологии Университета Квебека в Оттаве.

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

Когда (не) стоит добавлять VR в игры

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

В таком случае, где VR будет уместной идеей?

Задача виртуальной реальности – заставить вас почувствовать себя в другом мире, будь он реалистичным или не очень. Вообще, для меня эффект присутствия – это определение VR. Нет чувства присутствия – нет VR!

Очевидно, среди жанров, отлично подходящих для VR, будут игры с видом от первого лица. Вообразите Mirror’s Edge или Call of Duty в VR! В некоторые играх (Assassin’s Creed, Splinter Cell, или Gears of War) вид из-за спины потенциально можно переделать в вид из глаз, чтобы мы могли почувствовать себя в теле героя. Полагаю, мы увидим возрождение квестов и бродилок. Вероятно, виртуальная реальность появится и в совершенно других играх. Симуляторы Бога? Guitar Hero?

Но я считаю, что больше всех от VR выиграют игры, давящие на эмоции.

Хорроры могут быть очень впечатляющими. Ещё можно вспомнить про Heavy Rain. Отличная игра, я по-настоящему погружался в неё и сильно переживал. Однако, временами всё портилось неестественным взаимодействием, к тому же, там нет элемента физического присутствия. И вот тут может помочь виртуальная реальность!

VR как новый формат медиа

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

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

Эффект присутствия

Как я и говорил, для меня определение VR – эффект присутствия. Без чувства, что вы оказались в каком-то другом месте игра останется обычной интерактивной трёхмерной средой, а не настоящей VR-средой – даже, если в неё вложены миллионы долларов. Уж поверьте, я опробовал несколько таких, и это просто беда.

При наличии эффекта присутствия игрок будет демонстрировать естественные реакции и эмоции. На высоком обрыве вы испытаете страх высоты (гарантированно). Если вам бросят виртуальный мяч, вы попытаетесь поймать его. Если нарисованный человек спасёт вас от неминуемой смерти, вы ему улыбнётесь. Я серьёзно!

Эффект присутствия – это сложная и деликатная тема. На данный момент самые интересные его исследования проводит Мэл Слэйтер (Mel Slater). В довольно известной статье он разделят ощущение присутствия на два типа: когнитивное (разум) и персептивное (чувства).

Люди нередко говорят, что чувство присутствия у них вызывают игры, фильмы, книги и даже просто кем-то рассказанная история (как глубоки корни VR!). Это когнитивное присутствие – в иные миры вас переносит воображение.

Персептивное присутствие

Вышеперечисленные способы погружения не подразумевают персептивного присутствия, которое в самом деле реалистично обманывает ваши чувства. Зрение, слух, осязание, обоняние, проприоцепция (от лат. proprius - «собственный, особенный» и receptor - «принимающий»; от лат. capio, cepi - «принимать, воспринимать»), глубокая чувствительность - ощущение положения частей собственного тела относительно друг друга, далее гугли википедию)… Не забывайте, что человеческое восприятие не идеально: человеческий мозг многое упрощает. Знание этих ограничений – являющееся основой теории VR – позволяет вам создавать персептивные иллюзии, вроде ходьбы в неправильном направлении или пространств с невозможной геометрией.

Как же этого добиться?

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

Значит, вам нужна возможность совершать движения, и эти движения должны отражаться в виртуальном мире. Ваше тело вовлекается в процесс. Как сказал Антонио Дамасио: «Разум заключён в теле, а не в одном лишь мозге».

Прерывание эффекта присутствия

В свою очередь, это означает, что если действие не приводит к ожидаемому результату, разум чувствует неладное. Это называется прерыванием присутствия.

Если вы задаётесь хотя бы одной целью, создавая VR, этой целью должно быть поддержание эффекта присутствия. Чувствовать себя по среди пустой комнаты – это VR. Не чувствовать себя посреди Gears of War– это не VR.

Минимальная VR-система

Я бы рекомендовал отслеживание движений головы (повороты и смещения), хотя бы одной руки (повороты и смещение) и джойстик с парой кнопок. По личному опыту могу сказать, что такой минимум позволяет переступить определённый порог и мозг принимает другую реальность гораздо проще.

Для меня это значит, что сам по себе OculusRift– это (пока) не минимальная VR-платформа. Ему не хватает полноценного отслеживания головы, а отслеживания рук нет вообще. Я знаю, что всё это можно исправить своими силами, с помощью таких устройств, как Razer Hydra. Но пока у нас нет всеобъемлющей VR-платформы, производители не смогут спокойно полагаться на единый стандарт оборудования.

Задержки

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

Джон Кармак (John Carmack) говорит, что «при задержках менее 20 миллисекунд начинается настоящая магия – трёхмерный мир кажется незыблемым!»

Некоторые исследователи и вовсе советуют добиваться задержки менее 4 мс от момента начала движения до вывода необходимого изображения на экран. Для наглядного представления скажу, что при игре с фреймрейтом 60 fps между кадрами проходит 16 мс. Добавьте к этому задержку устройства ввода, которая может варьироваться от нескольких миллисекунд до более 100 мс в случае с Kinect, и задержку дисплея, которая тоже может быть как невысокой, так и более 50 мс у потребительских моделей VR-гарнитур.

В случае со стереоизображением нужно учитывать, что игра потребует обработки двух картинок одновременно. Будучи разработчиком, вы не можете ничего поделать с задержками ввода и дисплея, но вы должны обеспечить высокую производительность игры!

Последовательный мир не обязательно должен быть реалистичным

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

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

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

Вот почему я считаю, что наиболее сильное погружение из всех увиденных мной приложений достигнуто в Verdun 1916-Time Machine. Оно обманывает множество чувств за раз: зрение, обоняние, осязание… Но что самое интересное: для наилучших впечатлений там специально ограничили взаимодействие с миром. Вы можете только крутить головой, поскольку вы – раненый солдат.

Учитывая это жёсткое ограничение, будет очень просто удержать игрока от прерывания присутствия. Вы не можете шевелить руками, так что и сквозь объекты они не провалятся; вас не заставляют двигаться с помощью неестественных нажатий на кнопки. Было не раз замечено, что люди улыбались, когда видели подбегающего на помощь виртуального товарища!

Измерение присутствия

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

Впрочем, вы можете попробовать оценить, насколько естественны реакции игрока. Мы уже упоминали о некоторых из них – попытка поймать мяч, страх высоты, страх за своё здоровье при угрозе нападения, попытка избежать столкновения…

На этом закончим с философскими размышлениями и перейдём к практическим советам:

Масштабируйте 1 к 1

Масштаб игрового мира должен быть реальным. Камера должна располагаться на высоте, соответствующей нормальному человеческому росту (если, конечно, вы не хотите играть ребёнком, как в Among the Sleep). Движения головы не должны усиливаться (если вы не используете техники перенаправления).

Самый простой способ добиться реального масштаба: единица длины в виртуальном мире должна соответствовать реальной — 1 виртуальный метр равен 1 метру реальному. Поле зрения должно идеально совпадать с углами обзора вашего дисплея. В идеальном виртуальном мире (или большом промышленном VR-тренажёре) расстояние между глазами должно быть подсчитано с высокой точностью. Мозг будет обрабатывать все эти сигналы; вы можете не добиться эффекта присутствия или он будет нестабильным – к тому же пользователи могут почувствовать тошноту – если строго не следовать этому правилу.

Ознакомьтесь с аппаратным обеспечением

Ознакомьтесь с возможностями отслеживания: позволяет ли устройство отслеживать смещения или только повороты? Способен ли датчик сообщать данные позиционирования и в каких пределах? Какова его точность? Когда данные отслеживания перестают быть полезными? Ознакомьтесь с полем зрения: следуя совету о масштабе, вы не должны искажать виртуальное поле зрения. При узком поле зрения пользователь будет вынужден чаще мотать головой и рискнёт пропустить важные события на периферии. Ознакомьтесь с разрешением: если пользователь должен прочитать текст, придётся размещать его ближе перед глазами. Как и с разработкой под Android, ваша игра в итоге будет запускаться на большом количестве разных устройств. Вскоре нас может ожидать война множества платформ с разными характеристиками. Такие инструменты, как MiddleVR, помогут вам работать с разными VR-системами.

Не меняйте точку обзора

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

Боритесь с плохими привычками

У многих заядлых игроков есть плохие привычки: надев шлем, они будут сидеть ровно, будто перед телевизором. Те же, кто играет редко, сразу начнут оглядываться по сторонам. Игроков нужно отучать от сегодняшних игровых ограничений. В обучающих миссиях нужно мотивировать игрока оглядываться вокруг и двигать руками. Игра должна извлекать из этого пользу. Например, в одном моём недавнем прототипе враги появлялись справа, слева и сверху, и нельзя было двигаться/осматриваться кнопками или мышкой. Чтобы победить, пользователь вынужден поворачивать голову и целиться рукой. В другом моём недавнем прототипе единственным интерактивным объектом была свеча посреди очень тёмного окружения. Отличный способ заставить игрока исследовать местность: он берёт свечу и идёт в темноту, двигая и поджигая некоторые объекты при решении головоломок.

Поддерживайте активность игроков

В том же Heavy Rain вас почти не отрывают от игрового процесса. Есть множество роликов, похожих на неигровые, но тут, вдруг, вам даётся управление. Если в это время у вас в руках нет контроллера, вы не успеете выполнить действие. Это заставляет всегда быть начеку.

Ещё одна интересная особенность Heavy Rain – события происходят в реальном времени, а значит вам нужно думать и действовать быстро: застрелить парня до того, как он убьёт моего товарища? Вас заставляют быстро принимать решения, и, как и в реальной жизни, вы никогда не узнаете, насколько правильными они были.

Придумывайте реалистичные головоломки

Опять пример из Heavy Rain: вам нужно быстро позвонить в одну из комнат гостиницы. Сможете вспомнить её номер за 15 секунд? Как и в жизни, приходится напрягать память, переживая сильный стресс.

И наконец, как можно усерднее работайте над эффектом присутствия

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

Заключение

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

«Мы относимся к виртуальной реальности, как к чему-то совершенно новому, со своими возможностями и особенностями, позволяющими создавать формы медиа, с которыми люди взаимодействуют всем своим телом, принимая всё происходящее за реальность». – Мэл Слэйтер.

По материалам Gamasutra , автор Себастьен Кунц (Sébastien Kuntz).

«Если вы постоянно вертитесь в этой индустрии, то хотите вы того или нет, но начинаете замечать определённые тренды и тенденции. Мне кажется, что за виртуальной реальностью кроется действительно огромный потенциал» - слова создателя игр Doom и Quake, а также сооснователя Oculus VR Джона Кармака, как нельзя лучше описывают будущее виртуальной реальности.

Эксперты считают, что к 2020 году индустрия виртуальной реальности будет оцениваться в $30 млрд, и сейчас VR движется к этому показателю огромными шагами.

При поддержке компании Microsoft, которая запустила курс по разработке приложений для виртуальной реальности , публикуем материал о том, зачем учиться разработке VR-приложений.

Французский писатель и режиссёр Антонен Арто вряд ли думал, что введённый им термин «виртуальная реальность», к 2016 году превратится в одну из самых перспективных и дорогих компьютерных индустрий. Впервые Арто употребил этот термин в собрании эссе «Театр и его Двойник» в 1938 году. Об очках виртуальной реальности, программном обеспечении и магазинах приложений речи, разумеется, не шло. Виртуальной реальностью Арто называл иллюзорную природу персонажей и объектов в театре.

Виртуальную реальность в её привычном для нас понимании популяризировал программист, писатель и музыкант Джарон Ланье. В середине 80-х, созданная им компания VPL Research, удерживала права на большинство патентов в сфере VR. А настоящий бум виртуальной реальности в то время обеспечили фильмы «Газонокосильщик» и «Мозговой штурм», а также книга Говарда Рейнгольда «Виртуальная реальность».

Сейчас о виртуальной реальности в большей или меньшей мере знает каждый. В конце 2015 года аналитическая компания Statista провела исследование среди жителей США. Всем респондентам задали один и тот же вопрос - «Заинтересованы ли вы в виртуальной реальности?» - и попросили оценить свой интерес по пятибалльной шкале. Лишь 7% оценили свой интерес на единицу, 5% на двойку. 44% сказали, что заинтересованы на пять баллов и 26% - на 4.

В любом исследовании, касающемся виртуальной реальности, всё так или иначе сводится к тому, что индустрия будет процветать. Прибыль от программных продуктов к 2018 году вырастет почти в 60 раз, количество пользователей к этому же году возрастёт до 171 млн, а прибыль от продажи шлемов виртуальной реальности вырастет с $685 млн до $3,89 млрд.

VR - это идеальная индустрия и для разработчиков. Она относительно нова, а значит еще не сформирована и не наполнена специалистами, интересна, а объём инвестиций в неё сейчас катастрофически велик. Разумеется, разработчики и сами это понимают. Статистики по количеству разработчиков в VR-индустрии нет, однако известно , что только Oculus Rift Development Kit купили в количестве более 175 000.

По мнению VR-инженера Лив Эрискон, один из главных вопросов, который ей задают программисты - «Как много денег и времени мне придется инвестировать, чтобы научиться работать с VR?». Учитывая $600-ценник на первые версии Oculus Rift, раньше этот ответ был бы не слишком воодушевляющим. Теперь, когда есть Cardboard, а практически каждый человек имеет смартфон, это не проблема.

Что касается временных рамок - здесь ответ более расплывчат. По мнению Эриксон, многое зависит от уровня подготовки и способности к обучению. «Если вы знакомы с C# и Unity, то дело пойдёт гораздо быстрее», - говорит инженер.

Зарплата VR-программиста зависит от выбранной им специализации, но, в целом, выше средней по рынку. Больше всего получают специалисты, работающие в медицинской и финансовой среде. Несмотря на то, что внимание СМИ обращено на социальные сети и игры, в сфере медицины и бизнеса происходит не меньше интересного. Например, стартап MindMaze разрабатывает виртуальные пространства для восстановления больных после сердечных приступов. Компания Vivid Vision создаёт игры для лечения амблиопии - болезни, которая ослабляет зрение - и косоглазия.


В бизнесе и корпоративной среде виртуальная реальность развивается с не меньшей скоростью. Компания SDK Lab создаёт виртуальные пространства для обучения сотрудников горнодобывающих компаний, Autodesk экспериментируют с использованием VR в сфере недвижимости, а IrisVR создают инструментарий для 3D-моделирования объектов.

Проблема для разработчиков состоит в том, что VR-шлемов много. Oculus, Microsoft Hololens, Samsung Gear VR, Google Cardboard - эти девайсы вспоминаются сразу. Еще есть HTC Vive, Project Morpheus, Visbox, Fove, StarVR - и на самом деле их еще больше. Разработчики сходятся во мнении, что вне зависимости от выбранной платформы, принцип обучения примерно одинаковый. Первый шаг - изучение C++ или C#, затем Unity или Unreal, так как это наиболее распространённые SDK, которые используют при разработке приложений виртуальной реальности.

Другой вопрос - где начать обучение. Во всём мире сейчас не больше 10 университетов, которые предлагают курсы по VR-разработке. Большая часть из них находится в США и лишь несколько за их пределами, в Норвегии и Сингапуре. Хороший вариант - обучаться самостоятельно. Для этого желательно уже иметь навыки разработки. Начать обучение можно с видеоуроков об инструменте для разработки Unity.

После знакомства со средой Unity, можно перейти к более продвинутому курсу Microsoft . Он посвящен созданию приложений виртуальной и расширенной реальности. Курс состоит из десяти модулей. Первые - ознакомительные и отводятся обсуждению основ виртуальной реальности, использованию VR-шлемов и принципам создания VR-программ на Unity.

Ближе к концу преподаватели курса рассказывают о более сложных технических деталях. Например, в четвертом уроке идёт речь о создании ПО для шлема Fibrum. В пятом - об особенностях взаимодействия с пользователем в виртуальной реальности: как избавить пользователя от дискомфорта и сложностей в управлении. Последний модуль отводится созданию высокоэффективных приложений на C++/DirectX.

Курс ведут евангелисты Microsoft Russia Дмитрий Сошников и Дмитрий Андреев, технический директор маркетингового агентства MAAS Александр Кондратов и основатель компании по разработке VR-приложений VR-AR Lab Артём Печеный.

Дмитрий Сошников, евангелист Microsoft Russia

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

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

Мы со своей стороны поддерживаем разработчиков на нашей платформе, например, в декабре прошел хакатон по VR/AR, на студенческом конкурсе Imagine Cup был целый ряд студенческих VR-проектов, получивших призовые места. Надо начинать действовать и менять этот мир к лучшему.

VR поменяет многие индустрии. В первую очередь, конечно, в голову приходят игры и развлечения. Кроме этого, отдельный класс приложений - это 360-видео или телеприсутствие, когда пользователь может «виртуально» перенестись в другое место. Подобные проекты имеют смысл в сфере образования, туризма и так далее.

Но на самом деле интереснее всего смотреть на то, как VR или AR могут использоваться в неигровых приложениях. Например, в обучении VR может позволить студентам заглянуть внутрь какого-то явления или процесса, будь то движение планет или атомная реакция. Вероятно, VR может изменить и стиль коммуникации людей, ведь недаром Facebook в своё время приобрела компанию Oculus VR.



Последние материалы раздела:

Изменение вида звездного неба в течение суток
Изменение вида звездного неба в течение суток

Тема урока «Изменение вида звездного неба в течение года». Цель урока: Изучить видимое годичное движение Солнца. Звёздное небо – великая книга...

Развитие критического мышления: технологии и методики
Развитие критического мышления: технологии и методики

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

Онлайн обучение профессии Программист 1С
Онлайн обучение профессии Программист 1С

В современном мире цифровых технологий профессия программиста остается одной из самых востребованных и перспективных. Особенно высок спрос на...