Найти тему
Стася

AR-приложения на unity

В качестве практического задания в институте, я должна была сделать небольшое приложение, которое должно помочь в обучении. Звучит как-то сложно . Но оказывается все не так сложно. Unity и Vuforia делают большую часть работы. Сразу скажу, с проектом получилось не совсем так как хотелось. Как я предполагаю, от меня требовалось создать приложение в которое будут загружать модель и после сразу показывать на маркере. Получилось же, что модели появляются на маркере и их можно сменять с помощью виртуальных кнопок.

Для создания приложения я использовала: Unity, Vuforia и бесплатные 3D asset из магазина.

Что бы начать работать с Vuforia необходимо перейти на их сайт. Я пользовалась вот этим сайтом:

https://developer.vuforia.com/

вкладка скачать. выбираем первую ссылку.
вкладка скачать. выбираем первую ссылку.

Регистрируемся на сайте и заходим в раздел скачать (Downloads). И тот как будем работать с Unity, скачиваем пакет рядом с иконкой unity.

Пока пакет скачивается, продолжим настройку. Заходим в разработку(Develop)

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

Для того что бы работала камера, нам нужен ключ активации. Наживаем Get Development Key. Даем имя, сохраняем и копируем лицензионный ключ.

выделенное синим и есть ключ
выделенное синим и есть ключ

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

На странице будет кнопка с подписью Add Database (добавить базу данных). Первое открывшееся окно попросит выбрать, где будут храниться данные. Так как проект достаточно прост и занимает мало памяти, то лучше всего выбрать Device(Устройство). Так создалась база данных. Чтобы добавить маркеры, заходим в базу данных и нажимаем Add target(добавить цель). Здесь же дают выбор, на что будет проектироваться модель: на плоскость, на объем, на усеченный конус или на объект. Для ознакомления пока лучше использовать проектирование на плоскости. Загружаем изображение и даем имя. После базу данных нужно скачать.

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

Дальше вся работа переходит в unity. Создаем новый проект и в нем удаляем главную камеру. Вместо нее будет камера от Vuforia. Переносим в Unity скаченные файлы с помощью перетащить и отпустить. Будут появляться диалоговые окна в которых нажимаем Import(Импортировать). Нажимаем правую кнопку мыши на Hierarchy(иерархия)и добавляем ARCamera.

-6

Дважды нажимаем на камеру в иерархии и справа открывается панель настроек, в которой нужно найти скрипт как на картинке ниже.

-7

Нажимаем на Open Vuforia Engine configuration. У нас откроется новая панель настроек.

-8

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

Продолжаем. Теперь нужно добавить на сцену image target.

-9

Нам опять нужна панель настроек. в image Target behaviour по умолчанию у нас будет стоять from image. его переключаем на from Database. В Database в выпадающем списке находим название нашей базы. В следующем пункте выбираем название изображения. (в одной базе может быть несколько изображений. Вот и выбираем нужную). В иерархии перетягиваем Image Target в ARCamera. Теперь она будет отслеживать наш маркер.

-10

С добавляем на сцену Модели. У меня это будет робот. Устанавливаем его на центр плоскости и засовываем в дочерний элемент Image Target.

-11

Теперь наш проект почти готов. Осталось зайти в file->Bild Settings, добавить сцену, зайти в player settings(кнопка внизу окна.), установить то как будет отображаться иконка приложения и собрать проект для андроид.

-12

-13

Конечно можно и для других платформ. Но можно еще немного доделать проект. У робота есть анимация. добавим ее в аниматор. теперь при появлении робот будет открываться.

-14

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

А так же можно сделать вот какую штуку. Можно сделать виртуальные кнопки. ууууу как круто. быстро по этому пробегусь. Image Target->Inspector->Image Target Behaviour(script)->Advanced->Add Virtual Button. Обязательно даете им разные имена.

-15

Иначе магия не сработает. в иерархии кнопки под модель. Туда же создаем плоскость Как-то ее обозначаем и ставим над виртуальной кнопкой. Иначе кнопку не увидите в приложении. создаем несколько моделей и для них кнопки с плоскостями. Теперь нам нужен код. Можно взять отсюда. Главное разберитесь что делает код. мы скрипт перетаскиваем на ImageTarget.

-16

У нас появляются поля. Первые три поля- поля для моделей а следующие для виртуальных кнопок. все. Проект готов.

#ar-приложение #unity #3d модели #программирование #vuforia

c#