В качестве практического задания в институте, я должна была сделать небольшое приложение, которое должно помочь в обучении. Звучит как-то сложно . Но оказывается все не так сложно. Unity и Vuforia делают большую часть работы. Сразу скажу, с проектом получилось не совсем так как хотелось. Как я предполагаю, от меня требовалось создать приложение в которое будут загружать модель и после сразу показывать на маркере. Получилось же, что модели появляются на маркере и их можно сменять с помощью виртуальных кнопок.
Для создания приложения я использовала: Unity, Vuforia и бесплатные 3D asset из магазина.
Что бы начать работать с Vuforia необходимо перейти на их сайт. Я пользовалась вот этим сайтом:
https://developer.vuforia.com/
Регистрируемся на сайте и заходим в раздел скачать (Downloads). И тот как будем работать с Unity, скачиваем пакет рядом с иконкой unity.
Пока пакет скачивается, продолжим настройку. Заходим в разработку(Develop)
Для того что бы работала камера, нам нужен ключ активации. Наживаем Get Development Key. Даем имя, сохраняем и копируем лицензионный ключ.
Пока на сайте сделаем еще одно действие. Создадим базу с маркерами.(это плоская картинка, по которой мы можем определить позицию устройства в пространстве относительно этой картинки. )
На странице будет кнопка с подписью Add Database (добавить базу данных). Первое открывшееся окно попросит выбрать, где будут храниться данные. Так как проект достаточно прост и занимает мало памяти, то лучше всего выбрать Device(Устройство). Так создалась база данных. Чтобы добавить маркеры, заходим в базу данных и нажимаем Add target(добавить цель). Здесь же дают выбор, на что будет проектироваться модель: на плоскость, на объем, на усеченный конус или на объект. Для ознакомления пока лучше использовать проектирование на плоскости. Загружаем изображение и даем имя. После базу данных нужно скачать.
Дальше вся работа переходит в unity. Создаем новый проект и в нем удаляем главную камеру. Вместо нее будет камера от Vuforia. Переносим в Unity скаченные файлы с помощью перетащить и отпустить. Будут появляться диалоговые окна в которых нажимаем Import(Импортировать). Нажимаем правую кнопку мыши на Hierarchy(иерархия)и добавляем ARCamera.
Дважды нажимаем на камеру в иерархии и справа открывается панель настроек, в которой нужно найти скрипт как на картинке ниже.
Нажимаем на Open Vuforia Engine configuration. У нас откроется новая панель настроек.
Вставляем лицензионный ключ. Теперь наша камера будет работать.
Продолжаем. Теперь нужно добавить на сцену image target.
Нам опять нужна панель настроек. в image Target behaviour по умолчанию у нас будет стоять from image. его переключаем на from Database. В Database в выпадающем списке находим название нашей базы. В следующем пункте выбираем название изображения. (в одной базе может быть несколько изображений. Вот и выбираем нужную). В иерархии перетягиваем Image Target в ARCamera. Теперь она будет отслеживать наш маркер.
С добавляем на сцену Модели. У меня это будет робот. Устанавливаем его на центр плоскости и засовываем в дочерний элемент Image Target.
Теперь наш проект почти готов. Осталось зайти в file->Bild Settings, добавить сцену, зайти в player settings(кнопка внизу окна.), установить то как будет отображаться иконка приложения и собрать проект для андроид.
Конечно можно и для других платформ. Но можно еще немного доделать проект. У робота есть анимация. добавим ее в аниматор. теперь при появлении робот будет открываться.
А что если нужно несколько объектов на одном маркере. Достаем еще одну модель. Но пока отображаться все равно будет только одна. Это можно изменить в настройках камеры. переходим туда где вставляли ключ активации. И вот под ним устанавливается количество отслеживаемых изображений и моделей. вот там и устанавливаете нужное количество.
А так же можно сделать вот какую штуку. Можно сделать виртуальные кнопки. ууууу как круто. быстро по этому пробегусь. Image Target->Inspector->Image Target Behaviour(script)->Advanced->Add Virtual Button. Обязательно даете им разные имена.
Иначе магия не сработает. в иерархии кнопки под модель. Туда же создаем плоскость Как-то ее обозначаем и ставим над виртуальной кнопкой. Иначе кнопку не увидите в приложении. создаем несколько моделей и для них кнопки с плоскостями. Теперь нам нужен код. Можно взять отсюда. Главное разберитесь что делает код. мы скрипт перетаскиваем на ImageTarget.
У нас появляются поля. Первые три поля- поля для моделей а следующие для виртуальных кнопок. все. Проект готов.
#ar-приложение #unity #3d модели #программирование #vuforia
c#