Программа для создания vr игр на андроид

Обновлено: 07.07.2024

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

Unity

Unity — одна из лучших платформ в мире для разработки в реальном времени двух- и трёхмерных приложений и игр, работающая под операционными системами Windows, OS X. Благодоря надёжной экосистеме - Unity позволяет создавать приложения, работающие под более чем 20 различными операционными системами, включающими персональные компьютеры, игровые консоли, мобильные устройства, интернет-приложения и другие. Редактор имеет простой интерфейс, который легко настраивать, состоящий из различных окон где можно производить отладку игры прямо в редакторе. Основными преимуществами платформы являются наличие визуальной среды разработки, межплатформенной поддержки и модульной системы компонентов. На Unity написаны тысячи игр, приложений и симуляций, которые охватывают множество платформ и жанров. При этом Unity используется как крупными разработчиками, так и независимыми студиями.

Unreal Engine

Unreal Engine - платформа нового поколения, которая позволяет создавать игры любого жанра, в том числе шутеров от первого лица, стелс-играх, файтингах и массовых многопользовательских ролевых онлайн-играх. Эта платформа совмещает в себе графический движок, физический движок, искусственный интеллект, управление файловой и сетевой системами. Благодаря использованию C++ ваши возможности практически безграничны в разработке игры для большинства операционных систем и платформ, а также на различных портативных устройствах управляемых системой iOS и прочих.

ARCore

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

ARKit

Набор инструментов ARKit представляет собой новый взгляд на технологию дополненной реальности. ARKit позволяет разработчикам создавать AR‑приложения, которыми можно пользоваться вместе с друзьями. Разработка способна распознавать габариты окружающего пространства и учитывать условия освещения, чтобы максимально достоверно интегрировать виртуальные объекты в реальную жизнь. А совместимость с подавляющим большинством современных iOS-устройств делает ARKit самой массовой платформой дополненной реальности в мире, открывая новые возможности для работы, учёбы, игр и общения с окружающим миром.

Vuforia

Платформа SDK помогает при создании в AR-формате приложений для смартфонов и планшетов на операционных системах iOS, Android. Позволяет в реальном времени отслеживать плоские изображения и простые объемные объекты, распознает цилиндрические маркеры и текст.

ARToolKit

Библиотека инструментов ARToolKit рассчитана на создание дизайнерских решений и разработку приложений в дополненной реальности. Эта площадка весьма популярна среди разработчиков по всему миру, а в скором времени запланирован релиз новой версии продукта – ARToolKit X.

InfinityAR

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

8th Wall

8th Wall - облачная платформа для создания и хранения веб-проектов дополненной реальности. Помимо обычного производства и публикации WebAR, она предлагает шаблоны, а также возможность совместной работы пользователей в разных городах и странах. Как и все веб-приложения, дополненная реальность из платформы 8th Wall не требует загрузки приложений, устраняя большой источник трения между разработчиками и потребителями. Среди её ключевых технических возможностей поддержка SLAM и маркеров, текстовый редактор, поддержка React, Vue.js, A-Frame, Babylon.js и Three.js, сочетания клавиш и тёмный режим для более комфортной работы в некоторых сценариях, распределенная система контроля версий для работы удалённых специалистов, разные стадии развертывания, включая промежуточную среду, защищённую паролем.

ImagineAR

ImagineAR - SaaS-платформа для создания проектов дополненной реальности на персональных компьютерах. Данная платформа производства дополненной реальности создана и работает на основе геолокационных данных и визуальных маркеров. Интерфейс платформы доступен пользователям без специальной технической подготовки. Для просмотра проектов нужно загрузить мобильное приложение ImagineAR, которое есть на iOS и Android.

HP Reveal

Платформа для создания образовательных проектов в дополненной реальности, занимающая лидерскую позицию в своей нише. Девиз сервиса: «Дополненная реальность за 60 секунд», так как он довольно прост в использовании.

Catchoom

У компании есть 3 предложения для разработчиков контента дополненной реальности. Это редактор CraftAR Content Creator, AR SDK для мобильных приложений, а также облачный сервис для распознавания изображений (Cloud Image Recognition).

Kudan

Сервис Kudan AR SDK – инструментарий разработчика программного обеспечения дополненной реальности (Software Development Kit) с 2D/3D-распознаванием объектов. Ориентирован на создание AR-приложений для iOS и Android, а также совместим с Unity.

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

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

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

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

27–28 ноября, Онлайн, Беcплатно

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

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

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

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

vr приложение

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

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

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

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

vr приложение

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

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

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

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

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

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

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

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

vr приложение

Используя 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 ?

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

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

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

Что дальше

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

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

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

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

Фреймворки

Unity

Unity — это самый популярный фреймворк для создания высококачественных 2D- и 3D-игр для множества платформ: смартфонов, компьютеров, консолей, ТВ, VR, AR и веба. Стоимость подписки варьируется от бесплатной для «начинашек» до $125 в месяц для профессионалов.

Unreal Engine 4

Unreal Engine 4 идеально подходит тем, кто ищет полноценный инструментарий для создания игр, симуляций и визуализаций в реальном времени. По сути, сам фреймворк бесплатен — придётся только отдать 5 процентов в виде роялти от выручки с коммерческих продуктов после заработка первых $3 тысяч в течение календарного квартала.

CryEngine

CryEngine — ещё один мощный игровой движок, поддерживающий Oculus Rift, Linux, HTC Vive, Windows PC, OSVR, PSVR, Xbox One и PlayStation 4. Ведётся работа по интеграции поддержки мобильных платформ. Модель монетизации CryEngine основана на роялти. Разработчики просят 5 процентов после $5 тысяч выручки на проект в год.

Amazon Sumerian

Amazon Sumerian позволяет быстро и удобно создавать VR, AR и 3D-приложения даже тем, кто не имеет в этом опыта. Он совместим с Oculus Rift, Oculus Go, HTC Vive, Google Daydream, Lenovo Mirage, а также мобильными устройствами на Android и iOS. Создать аккаунт можно бесплатно, далее плата взимается на основе объёма хранимых 3D-ресурсов и генерируемого сценами трафика.

A-Frame

A-Frame — это опенсорсный веб-фреймворк для создания VR под HTC Vive, Oculus Rift, десктопные и мобильные платформы. Он бесплатен, не требует дополнительной установки и работает с HTML.

React 360

React 360 — хороший инструмент для создания интерактивных панорамных и VR-приложений. Это тоже опенсорсный инструмент для создания проектов под ПК, мобильные устройства и гарнитуры виртуальной реальности.

Primrose

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

Simbol

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

Vizor

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

Godot Engine

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

Apertus VR

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

Simmetri

Simmetri представляет собой креативную студию для художников, дизайнеров, преподавателей и студентов. С помощью неё можно создавать VR-проекты, анимации, игры, интерактивные произведения искусства, физические эксперименты и многое другое. Купить инструмент можно за $19,99.

Beloola

Beloola — платформа для создания 3D-пространств, где можно в режиме онлайн встречаться и общаться с людьми.

Kokowa

Kokowa — бесплатная платформа для не-программистов, которая упрощает создание и распространение webVR-контента.

VRCHIVE

VRCHIVE позволяет создавать 360-градусные панорамы и делиться ими на различных устройствах.

SceneVR

SceneVR — это новый способ сторителлинга, который помогает запросто преобразовывать панорамные фото в VR-сцены.

LÖVR — простой и бесплатный фреймворк для создания VR на скриптовом языке Lua. Проекты LÖVR можно запускать на Oculus Rift и HTC Rift, а также экспортировать в WebVR.

Google Daydream

Google Daydream — платформа для создания высококачественных мобильных VR-проектов. Она включает SDK для Android, iOS, Unity, Unreal, Android NDK и веба.

Exokit

Exokit — опенсорсный веб-движок на JavaScript для разработки VR-проектов под десктопные, мобильные платформы и шлемы, AR-проектов для мобильные платформ и шлемов, Unity и других.

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

Blender

Blender — бесплатный инструментарий для создания 3D-моделей, симуляций, анимаций, риггинга, рендеринга, компоновки и захвата движения, создания игр и редактирования видео.

3ds Max

3ds Max — программа 3D-моделирования и рендеринга, помогающая создавать обширные миры в играх.

Google Blocks

6 инструментов Blocks позволяют создавать как простые, так и более сложные модели в VR.

Mixamo

Благодаря Mixamo можно запросто создавать анимированных трёхмерных героев без какого-либо опыта.

Pixologic ZBrush

ZBrush — отличный инструмент для разработки цифровых скульптур в реальном времени.

MODO Indie

MODO Indie предоставляет средства для создания объёмных моделей, анимаций и скульптур.

Speedtree

Speedtree — инструмент визуализации растений в 3D для UE4.

Wings3d

Wings 3D — это продвинутый редактор с широким выбором инструментов моделирования и кастомизируемым интерфейсом.

FreeCAD

FreeCAD — бесплатный 3D-редактор для разработки объектов любого масштаба.

Anim8or

Anim8or — программа для 3D-моделирования и анимирования героев.

DeleD 3Deditor CE

DeleD совмещает 3D-редактор и редактор уровней. Он предназначен для создания статичных сцен в играх.

A-Painter

A-Painter позволяет рисовать в 3D, используя ручные контроллеры.

Recap360

Recap360 превращает фотографии в трёхмерные модели.

3D-модели

Sketchfab

Sketchfab — платформа, где можно искать и размещать 3D-модели.

Unity Asset Store

TurboSquid

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

Free3D

Free3D содержит коллекцию более 16 тысяч бесплатных 3D-моделей.

NASA Space Models

У NASA есть своя библиотека моделей разнообразных объектов, связанных с космосом: от космонавтов до лунных модулей и шаттлов.

3Delicious

3Delicious среди прочего предоставляет трёхмерные модели автомобилей, мебели и различных технологий.

Oyonale

Oyonale предлагает достойный ассортимент качественных объёмных моделей.

DMI 3D

DMI 3D содержит модели транспортных средств: от танков Второй мировой войны до современных гоночных авто.

CadNav

На CadNav можно найти массу бесплатных 3D-моделей: от самолётов до мебели и оружия.

Clara.io

Clara.io предлагает 3D-модели транспорта, людей, архитектурных сооружений и многого другого.

archive3D

На archive3D можно скачать множество трёхмерных моделей мебели.

cgtrader

На cgtrader доступны для скачивания самые разнообразные бесплатные 3D-модели.

Скетчинг и прототипирование

Gravity Sketch — интуитивный инструмент для работы со смешанной реальностью, который позволяет создавать 3D-модели и концептуальные эскизы.

Tilt Brush позволяет рисовать в виртуальном 3D-пространстве.

Quill — полезный текстовый редактор.

Substance — программа для рисования в 3D и текстурирования объектов с помощью кистей, масок и частиц.

Quixel содержит тысячи PBR-материалов для игр, визуализации и эффектов.

Unbound предоставляет игрокам увлекательный способ создания трёхмерных объектов.

Oculus Medium позволяет проектировать, разрисовывать, моделировать и создавать предметы в VR.

Технические ресурсы

VR Toolkit — набор скриптов для разработки прототипов в Unity.

VR Glossary — глоссарий терминов, используемых в индустрии VR.

VRTK — набор скриптов, которые пригодятся при работе с Unity3d 5+.

NewtonVR — система взаимодействия с виртуальной реальностью для отслеживаемых контроллеров.

Unity Tutorials — список лучших туториалов от Unity.

More Unity Tutorials — другие хорошие руководства Unity.

Blender Tutorials — коллекция видеоуроков по Blender.

Oculus Best Practices — руководства по созданию классного VR-контента.

Unity Hotkeys — подборка горячих клавиш Unity.

Good lighting resources for Unity — список ресурсов по освещению в Unity.

How to Render your Blocks with Unity — видеоурок на YouTube по рендерингу блоков в Unity.

GPU Performance for Game Artists — статья о производительности для художников игр.

The Book of Shaders — пошаговое руководство по фрагментным шейдерам.

Unity Compute Shaders — Youtube-туториал по использованию вычислительных шейдеров.

Create a Fog Shader — гид по созданию шейдеров тумана.

Mixed Lighting in Unity — статья о смешанном свете в Unity.

Getting Started in WebVR — здесь можно познакомиться с WebVR.

Export a rotating GIF in Blender — Youtube-туториал по экспорту вращающихся GIF-изображений в Blender.

Game Engine Architecture — книга Джейсона Грегори по архитектуре игровых движков и созданию игр.

Vision Science — книга Стивена Палмера.

Computer Vision: Algorithms and Applications — ресурс, содержащий более 900 страниц алгоритмов и приложений.

VR Design Best Practices — статья о VR-дизайне на Medium.

Mitch’s VR Lab — полезный Youtube-канал о VR.

Five ways to reduce motion sickness in VR — видеоурок на Youtube по уменьшению VR-тошноты.


Не знаю, как вы, а лично я вот уже полтора года жду, когда наконец 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-дневная триал-версия для оценки возможностей.

Photo Sphere
Приложение для обработки фотографий с возможностью преобразования в формат 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-конфетку.


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

Спросите себя: меня интересует разработка для десктопных устройств, наподобие HTC Vive, или меня больше привлекают мобильные устройства вроде Samsung Gear VR или Google Cardboard? Если вы пока не определились, то почитайте обзоры и подумайте о том, что лучше выбрать для вашего рынка. Если для ваших идей требуются контроллеры движения или качественная графика, то ориентируйтесь на подключаемые к компьютеру очки VR. Модели, которые сегодня поддерживаются движками Unity, Unreal и веб-реaлизациями:

Компьютерная VR:

    HTC Vive, $799. В комплекте идут контроллеры движения. Как это выглядит внутри, смотрите на iFixIt.

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

  • Google Daydream. Недоступно, но уже поддерживается в Unreal Engine 4, доступна предварительная техническая версия в Unity.
  • OSVR HDK 2, $399. Выйдет в июле, не упомянут контроллер движения.

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

Большинство VR-разработчиков предпочитают использовать игровые движки (если только не создают для веб-VR, о чём ниже), и с самого начала им приходится выбирать, на чём же работать. Самые популярные движки — Unreal Engine 4 (UE4) и Unity. Оба имеют очень широкие возможности и являются надёжными инструментами. Вокруг обоих сложились активные сообщества с многочисленными информационными ресурсами. Оба движка позволяют управлять 3D-окружением, импортировать собственный контент (3D-модели, изображения, звук, видео), а также программировать интерактивность и геймплей. На YouTube есть огромное количество обучающих видео, а в сети — руководств, созданных как самими авторами, так и поклонниками.

Среди VR-разработчиков нет общепринятого мнения, что один из этих движков лучше другого. У каждого есть свои особенности. UE4 считается более оптимизированным с точки зрения вычислений, даёт более достоверную картинку, но имеет более крутую кривую обучения. Unity создавался из расчёта, чтобы его возможностей хватало для создания коммерческих игр, но при этом он остаётся более интуитивно понятным и эффективным для начинающих разработчиков. Unreal Engine 4 можно скачать и использовать бесплатно, но авторам придётся ежеквартально отстёгивать по 5% дохода с игры, если он превысит $3000. У Unity есть несколько версий разной стоимости, но можно остановиться на бесплатной Unity Personal. Желательно попробовать оба движка, чтобы понять, какой вам подходит больше, хотя здесь трудно ошибиться, потому что вы в любом случае получаете превосходный и мощный инструмент.

Помимо игровых движков, вы можете обратиться к разработке интерактивных VR-веб-страниц. Это можно делать с помощью языка разметки Mozilla's A-Frame, с помощью JavaScript (поковыряйтесь в Three.js!), HTML5 и/или WebGL. Подобные эксперименты ведутся в Chrome и Mozilla. Разработка для веба позволяет отображать VR-контент прямо на смартфонах пользователей, так что вам не понадобится дорогое дополнительное оборудование. Также вам не придётся компилировать или упаковывать код, вы легко можете делиться своими творениями с друзьями. Если вам всё это кажется слишком трудоёмким, то можете начать с простейшего редактора VR-сцен Vizor, позволяющего рисовать на компьютере и просматривать с мобильных устройств.

В /learnVRdev wiki есть ссылки и материалы, полезные для тех, кто учится использовать движки. Лучше знакомиться с движком по какому-нибудь руководству, чтобы лучше прочувствовать его, как манипулировать объектами в пространстве, и так далее. В Unity и Unreal есть встроенный предпросмотр, так что вы можете сразу увидеть, что у вас получилось!

Итак, вы выбрали движок и обзавелись VR-устройством. Теперь вам нужен графический контент, аудио материалы, 3D-модели и анимации для заполнения виртуального мира. Всё это можно найти в сети, надёргать из популярных игр (если вы не планируете продавать свой продукт), сделать самостоятельно или модифицировать готовые материалы. Помните, что виртуальная реальность требует максимально реалистичного визуального и звукового оформления при близком исследовании, с разных сторон, даже если объект стилизован или абстрактен.

3D-модели

У начинающих есть два пути.

    Самый простой: использовать открыто доступные 3D-модели, пока вы изучаете другие аспекты VR-разработки. Можно использовать содержимое хранилищ ресурсов (asset stores) Unity и Unreal, либо поискать на сторонних сайтах. У начинающего и так голова забита множеством новой информации, так что лучше таким образом упростить себе процесс обучения.

    Autodesk's Entertainment Creation Suite. Пакет приложений (включающий в себя Maya, 3ds Max, Motionbuilder и Mudbox, с нативным экспортом в Unity и UE4) доступен для «студентов» бесплатно в течение трёх лет. При этом никакой проверки на «студенчество» не делается. В этом пакете есть всё, что нужно для создания профессиональных моделей, текстур, анимаций и так далее.

Фотограмметрия (3D-сканирование)

Как и VR, трёхмерное фотосканирование — это ещё одна футуристическая технология, уже доступная для использования в дешёвых мобильных решениях. Фотограмметрия — это использование многочисленных фотографий настоящих объектов с разных ракурсов для построения их моделей. Фотографии импортируются в приложения вроде Agisoft Photoscan, или одно из многочисленных решений от Autodesk, и на их основе генерируются подробные сетчатые модели. Затем их вместе с цветовыми/диффузными текстурными картами можно экспортировать и использовать в игровом движке в качестве регулярного ресурса. Весь процесс хорошо показан на YouTube.

    Фотограмметрия и 3D-сканирование

    Agisoft Photoscan (от $179). Набор приложения для 3D-сканирования, где в качестве источника данных используются фотографии.

Аудио и музыка

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

    Audacity, с виду простой, но мощный и надёжный аудиоредактор, бесплатный и с открытым исходным кодом.

После того, как вы освоитесь с движком и приготовите арт-материалы, нужно будет придумать, как придать вашему проекту интерактивности. Я очень рекомендую сначала почитать о принципах построения UI и UX в виртуальной реальности. Иначе у ваших пользователей могут заболеть глаза от плохих решений по стереоскопическому рендерингу, или их укачает. Этого можно избежать, просто отказавшись от привязки текста к полю просмотра, или поместив камеру игрока во время движения в видимую капсулу (автомобиль, скафандр, кабину). А если вы хотите реализовать ручное управление, то рекомендую делать всё как можно реалистичнее — ваши усилия по исследованию и прототипированию будут вознаграждены чувством присутствия.

Читайте также: