Сегодня мы рассмотрим, что такое дополненная реальность и как быстро и просто можно создать приложение дополненной реальности на Unity с помощью Vuforia.
Для начала выясним, что такое дополненная реальность. Согласно Википедии, дополненная реальность – это “смешанная реальность”, которая создается с помощью компьютера так,чтобы реальные объекты “монтировались в поле восприятия”. Звучит сложно. Хотя все намного проще. Для нас дополненная реальность – это монтирование компьютерных объектов (3D или 2D) в поле восприятия.
Самый простой способ – это установка 3D объекта в поле зрения камеры. Рассмотрим этот способ.
Нам понадобится создать класс WebCam, с помощью которого мы получим доступ к подключенной или встроенной камере нашего устройства, по умолчанию ПК. Также нам понадобится 3D объект plane, куда мы будем транслировать изображение с камеры, и простой куб, который и станет элементом дополненной реальности.
Создадим plane и сделаем его дочерним камере. Для этого нажмем GameObject>3D Object>Plane. Появившийся в списке hierarchy plane перенесем на камеру и сориентируем так, чтобы его фронтальная сторона занимала весь экран.
Для того, чтобы транслировать изображение с камеры, нам понадобится отдельный материал назначенный plane вместо стандартного.
Создадим новый материал и назначим его plane. Для этого кликнем правой кнопкой мыши в окне assets и в появившемся списке выберем Create>Material
Теперь создадим скрипт и откроем его в редакторе. По умолчанию у меня стоит Visual Studio 2017. Итак, кликнем правой кнопкой мыши в окне assets и в появившемся списке выберем Create>С# Script
Сразу же переименовываем его в WebCam и назначаем его нашему plane.
Рассмотрим скрипт. Двойным нажатием откроем его в редакторе и напишем несколько строк кода в методе Start.
Сохраняем и в Unity жмем кнопку Play. Почти отлично, но изображение с камеры перевернуто и нужно его поправить. Для этого в выбираем в окне Hierarchy plane и в инспекторе меняем Scale на x -1 z -1;
Жмем Play и… Ура видео отображается правильно. Наконец создадим наш элемент дополненной реальности. Им станет Cube.
Нажимаем GameObject>3d Object>Cube и делаем его дочерним камере. Затем расположим его так, чтобы он оказался между камерой и Plane.
Опять Play и мы видим что Cube теперь находится на фоне картинки с камеры, то есть в поле восприятия. У нас получилось совсем простое приложение. Давайте усложним его.
Удалим все ненужные объекты с нашей сцены, оставим только Direction light, и создадим новую камеру дополненной реальности. Game object>Vuforia Engine>Ar Camera.
На экране появится окно, предлагающее импортировать в юнити ассеты Vuforia. Без этих ассетов камера дополненной реальности работать не сможет. Поэтому смело жмем кнопку Import.
После того как ассеты Vuforia импортировались, нам требуется сделать две вещи – включить дополненную реальность в Unity и зарегистрироваться на сайте Vuforia, чтобы получить лицензионный ключ.
Для включения дополненной реальности нам требуется зайти в настройки Project Settings, которые расположены во вкладке Edit. В открывшемся окне выберем раздел XR Settings и поставим галочку в пункте Vuforia Augmented Reality Supported.
Теперь пришло время зарегистрироваться на портале Vuforia.
https://developer.vuforia.com/
После регистрации, надо зайти в закладку Develop и нажать кнопку Get Development key.
В следующем окне надо заполнить форму и поставить галочку.
После нажатия кнопки Confirm нужно будет зайти в появившийся меню с названием нашего ключа.
Скопировать ключ в буфер и вставить его в соответствующий пункт в Unity.
Отлично, AR Camera почти готова к работе осталось добавить в нашу сцену метку, на которой будет расположен контент – куб или любой другой примитив. Создадим ее. Для этого нажимаем: Game object>Vuforia Engine>Image.
Теперь в сцене появился маркер, который будет распознавать метку. К нему нужно добавить наш виртуальный контент для пробы. Думаю, достаточно будет куба или сферы.
Нажимаем Play и видим, что сфера выключилась. Это произошло, потому что пока что изображение маркера не распознано. Как только в поле зрения камеры попадет нужное изображение, сфера включиться и займет свое положение на месте картинки.
И нам осталось найти и распечатать изображение маркера. Для тестов Vuforia предоставляет несколько изображений, нам нужно перейти в каталог в окне Assets /Editor/Vuforia/ForPrint . Двойным кликом открыть изображение и распечатать его.
Или скачать и распечатать картинку ниже.
Теперь при наведении камеры на распечатанную картинку, на экране, на месте картинки будет появляться сфера.
На этом краткий рассказ о дополненной реальности можно считать законченным. Чтобы узнать больше, рекомендуем изучить документацию Vuforia и поэкспериментировать с виртуальным контентом.