Виртуальная реальность

Тема 3: Как запускаются VR-проекты?

Урок 2: Как оживает VR мир

  • Видео
  • Тренажер
  • Теория
Заметили ошибку?

В этом модуле вы узнаете:

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

Разработка VR-приложения: основные шаги

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

Как появляются персонажи, предметы и другие элементы VR-мира

Львиная доля того, что вы увидите в виртуальном мире (здания, предметы, техника, фигуры, плоскость, на которой все они находятся), — это 3D-модели. Существуют разные подходы к их созданию. Мы рассмотрим самые популярные — вы уже наверняка видели их, если играли в трехмерные компьютерные игры.

Как создаются трехмерные модели: полигональное моделирование

По сути, любой трехмерный объект в VR — это набор плоских поверхностей разной формы и размера: треугольников, квадратов и других многоугольников — их называют полигонами. Полигональные модели дорабатываются на базе готовых решений, которые можно купить, либо конструируются с нуля. Модели для VR могут создаваться и на основе 3D-копий реально существующих объектов и людей (для этого оригиналы специальным образом сканируют).

Если полигонов у модели мало, мы увидим low-poly (низкополигональную) графику. Модели и весь мир будут выглядеть угловато и не очень реалистично. Зато нам не понадобятся большие компьютерные мощности для просчета картинки в приложении.

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

Когда и зачем это нужно:

  • на старте разработки моделей это помогает сэкономить ресурсы команды: часто сначала создают low-poly версии моделей — это помогает быстро понять, как разные объекты будут смотреться вместе;
  • на старте разработки локации также сначала создается упрощенная версия — она называется блокаут (от англ. blockout);
  • в финальном приложении — если вы выпускаете симулятор или игру для мобильных шлемов и массового использования, вам подойдет только такая графика.

Когда и зачем это нужно:

  • в профессиональных симуляторах — если мы хотим максимально воссоздать и отработать реальную ситуацию, лучше вложиться в оборудование и качество графики;
  • в проектах, которым важна «сочность» картинки, — в топовых играх, в арт-проектах и т. д.

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

Как модели обретают цвет и нужный вид

Когда трехмерная модель готова, художники «разворачивают» получившийся объект на плоскость, чтобы придать ей нужные цвета. Это процесс называют текстурированием, и выглядит он так: специалист рисует на плоской развертке то, что должен увидеть пользователь, а программа сама затем накладывает получившееся изображение на полигоны.

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

Как модели начинают двигаться

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

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

Чтобы подготовить модель к анимации, отдельный специалист — риггер — создает для нее каркас. Сам каркас (он же «риг»)чем-то напоминает наш скелет, однако «кости и суставы» делают не только персонажам, но и остальным объектам, которые нужно анимировать. От сложности «скелета» во многом зависит, насколько плавными получатся движения модели. Создав больше элементов в каркасе, мы добьемся более реалистичной анимации, но и работать над ней будем дольше.

Когда каркасы готовы, модель попадает к специалисту по анимации — аниматору. Его работа чем-то похожа на работу кукловода: он «двигает» каркас за «кости» и «суставы», задавая отправную, конечную и основные промежуточные точки для движений. Затем компьютер просчитывает все промежуточные перемещения и точки для анимации, чтобы обеспечить оптимальную и комфортную для восприятия частоту обновления кадра. Такая анимация называется покадровой, или Keyframe-анимацией.

Если мы хотим получить максимально реалистичную анимацию, можно записать движения настоящих актеров или объектов, прикрепив к ним маркеры, — эта технология называется MoCap (от англ. motion capture — «захват движений»). Данные, полученные с маркеров, будут сразу интерпретированы программой как движения «костей» рига, которые аниматор сможет поправить или дополнить при необходимости.

Чего можно добиться с визуальными эффектами и звуком

После просмотра видео, постарайтесь ответить на эти вопросы:

  1. Сразу ли художники рисуют полную копию объекта?
  2. Какая главная задача стоит перед аниматорами?
  3. Какие задачи помогает решать звук в приложении?
  4. Какие задачи помогают решать визуальные эффекты?

Как создается VR-приложение

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

Игровой движок — это программное обеспечение, которое позволяет разрабатывать элементы игрового мира или работать с уже созданными в разных программах моделями, эффектами и т. д., соединяя их в единое и работающее целое. Обычно VR-студии используют те же движки, что и создатели компьютерных игр: Unity, Unreal Engine или другие. Сегодня такие движки обладают множеством удобных инструментов для работы с проектами виртуальной реальности, ускоряя разработку и снижая затраты. У популярных движков также есть свои магазины с готовыми моделями, эффектами и даже игровыми механиками — их можно купить, чтобы ускорить создание прототипа, либо оптимизировать и пересобрать для экономии на этапе разработки.

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

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

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

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

  • Что мы делаем, если в процессе использования приложения что-то пошло не так? Как мы исправляем ошибку?
  • Что делать, если техника вышла из строя? Кто может организовать ее оперативную замену и починку?
  • Может ли исполнитель участвовать в маркетинге проекта и чем готов помочь?

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