Дополненная реальность unity android

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

28 Августа 2020

Время чтения: 10 минут

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

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

Убедитесь, что у вас есть совместимый телефон

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

Загрузите все программное обеспечение

Теперь, перейдем к программному обеспечению, которое нам понадобится. Вот что вам понадобится:

  1. Загрузите Unity 2017.3 (для работы с первой официальной версией ARCore требуется «2017.3» или выше);
  2. Загрузите и установите Android Studio 3.0 или выше, так как это самый простой способ получить установленный Android SDK. И убедитесь, что версия SDK, которую вы выбрали в процессе установки, является Android SDK версии 7.0 (уровень API 24) или выше;
  3. Скачайте «arcore-unity-sdk-v1.0.0.unitypackage.»;
  4. Загрузите пример ресурсов arcore-intro.unitypackage;
  5. Наконец, загрузите бесплатную модель рекламного щита от TurboSquid. Когда вам будет предложена эта опция, загрузите версию Collada с расширением «DAE»

При установке Unity, нам нужно убедиться, что у нас есть параметры, которые будут использоваться для разработки ARCore, установленной во время этого процесса.

Перейдите в то место, где вы загрузили все файлы для этого проекта, и дважды щелкните файл «UnityDownloadAssistant-2017.3».

Двигайтесь вперед в процессе установки, пока не дойдете до окна выбора компонентов. Теперь убедитесь, что выбрана «Unity 2017.3.1f1» (или какая бы версия 2017.3 вы ни устанавливали), а также «поддержка сборки Android.»

  • Если вы являетесь частым пользователем Unity, с несколькими установленными различными версиями, вы можете использовать папку, отличающаяся от папки по умолчанию. Кроме того, вы можете использовать имя, отличное от просто «Unity». В любом случае, как только решение будет принято и имя папки будет добавлено в поле папка установки Unity, нажмите кнопку «Далее», и начнется процесс установки.
  • Если вы впервые используете Unity, запустите приложение и создайте новую учетную запись для входа в систему.

Создайте свой проект ARCore

Теперь мы создадим новый проект и настроим специфику ARCore, которая нам нужна, чтобы наш проект был запущен.

  1. Запустите приложение Unity и нажмите на кнопку «Создать». Назовите новый проект ARCore, а затем нажмите кнопку «Создать проект».
  2. Как только откроется главное окно Unity, нажмите Ctrl + Shift + B или нажмите кнопку «Файл», затем «Параметры сборки». Оттуда, нажмите на опцию «Android» под платформой , а затем нажмите на кнопку «Switch Platform». Когда логотип Unity появляется рядом с опцией Android, вы поймете, что он выбран. Нажмите на кнопку «настройки проигрывателя», чтобы продолжить.
  3. На вкладке «основные», под заголовком «другие настройки», нажмите на флажок «многопоточный рендеринг», чтобы убедиться, что он не выбран.
  4. В поле «имя пакета» введите название, которое должно быть уникальным для вашего устройства, так как это может вызвать проблемы, если он имеет то же имя пакета, что и другое приложение.
  5. Теперь нам нужно установить самую низкую совместимую версию ОС Android, которая совместима с ARCore. Найдите опцию «минимальный уровень API», нажмите на его раскрывающееся меню и выберите «Android 7.0 ‘Nougat’»
  6. Нажмите на кнопку «Настройки XR» внизу окна инспектора. Установите флажок «поддерживается ARCore», чтобы убедиться, что он выбран, а затем закройте эти настройки.
Читайте также:  Файл ртт чем открыть андроид

Добавление ARCore SDK & Assets

Наконец, для завершения, нам нужно импортировать наши элементы ARKit в нашу сцену. Дважды нажмите на кнопку «arcore-unity-sdk-v1.0.0.» файл «unitypackage».

Это вызовет окно импорт пакета Unity. Просто нажмите на кнопку «Импорт». Нам не нужно ничего отменять в этом списке, просто оставьте его как есть.

Создайте новую сцену

Нам нужно создать свою сцену, но нам также нужно место, чтобы сохранить ее. Так что давайте создадим папку для нашей сцены. В окне проекта щелкните правой кнопкой мыши на «Активы», затем выберите «Создать», а затем «Папка». Назовите новую папку Scenes.

Далее, нажмите на «File» в строке меню, а затем «Save Scene as». Перейдите в свою недавно созданную папку «сцены». Введите NRARCore (или любое другое имя, которое поможет вам запомнить сцену) в поле Имя файла и нажмите кнопку «Сохранить».

Перенесите ARCore Prefabs в сцену

Префабы-это тип активов в Unity, который позволяет нам хранить коллекцию GameObjects и их связанных компонентов таким образом, что их легко создать в движке в режиме реального времени.

Все настройки, сохраненные при создании сборного модуля, сохраняются вместе с самими компонентами.

В Unity, в окне иерархии, выберите как «основная камера», так и «направленный свет». Щелкните правой кнопкой мыши на них и выберите «Удалить», когда появится меню.

В окне ПРОЕКТА Перейдите в каталог «Prefabs» в разделе «GoogleARCore». «Выберите префабы» устройство «ARCore» и «экологический свет», затем перетащите пару префов из окна проекта в окно иерархии.

Затем нажмите на кнопку Создать в окне иерархии, выберите «пользовательский интерфейс», а затем «система событий.»

Создайте Класс C#

Чтобы начать эту часть урока, нам необходимо место, чтобы поместить наши файлы сценариев, поэтому мы создадим папку сценариев. В окне проекта, выбрав папку «активы», щелкните правой кнопкой мыши в открытом пространстве и выберите «Создать», а затем «Папка».

Назовите эту папку при появлении соответствующего запроса.

Теперь дважды щелкните по вновь созданной папке, чтобы открыть ее. Снова щелкните правой кнопкой мыши в открытом пространстве и выберите «Создать», а затем «скрипт C#.»

Назовите файл «AppController» и дважды щелкните его, чтобы открыть в нашей интегрированной среде разработки ( IDE ) по выбору.

Здесь, в нашем блоке using, в верхней части класса (строка 2), нам нужно добавить строку: использование GoogleARCore;

Это заявление дает нам возможность получить доступ к элементам Google ARCore SDK.

В строке 4 у нас есть объявление класса. Хотя здесь ничего не нужно менять, стоит отметить, что большинство классов Unity будут производными от класса MonoBehaviour. Этот базовый класс — это то, что добавляет большую часть специфической функциональности Unity к любым объектам, которые мы создаем.

Читайте также:  Лучший фотосканер для андроид

Когда Unity создает класс C#, он автоматически создает два метода: Start () и Update (). В нашем методе Start() нам нужно добавить вызов метода: QuitOnConnectionErrors();

Целью метода QuitOnConnectionErrors () является запрос и получение разрешения от устройства и пользователя на доступ к камере. Если по какой-то причине разрешение не может быть дано, приложение будет закрываться.

В методе Update () нам нужно добавить строки 14-20 на изображении ниже.

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

Здесь мы проверяем, действительно ли отслеживается состояние текущего кадра. Если это не так, мы устанавливаем тайм-аут экрана до 15 секунд. Это дает отслеживания некоторое время для восстановления перед завершением работы.

Если TrackingState отслеживает, то sleepTimeout устанавливается в NeverSleep.

В методе QuitOnCeonnectionErrors () мы тестируем для трех условий. При выполнении любого из этих условий мы отправляем соответствующее сообщение об ошибке на экране с помощью метода ShowAndroidToastMessage ().

Настройка устройства для тестирования

Для того, чтобы получить наш файл пакета Android (или APK-файл) на телефоне и проверить его, нам нужно включить «параметры разработчика». Это меню скрыто по умолчанию, но его можно легко разблокировать, нажав номер сборки в разделе «О телефоне» приложения «Настройки» семь раз подряд. Возможно, вам придется ввести свой PIN-код, для завершения.

В параметрах разработчика убедитесь, что включен параметр «Отладка USB».

Вернитесь на главную страницу меню настроек, выберите пункт Блокировка экрана и безопасность или что-то подобное. Оказавшись внутри этого экрана, выберите «неизвестные источники» и включите эту опцию. Если вы не видите эту опцию, это, вероятно, потому, что вы используете Android Oreo или Android P. В этом случае он попросит вас включить «Неизвестные источники» при попытке установить APK.

После всех необходимых настроек вы можете перейти к тестированию и исправлению недочетов в вашей AR игре на Android.

Источник

Создание простого ar-приложения с использованием Unity и Vuforia engine

Рубрика: Информационные технологии

Дата публикации: 02.02.2020 2020-02-02

Статья просмотрена: 3014 раз

Библиографическое описание:

Бахтин, И. В. Создание простого ar-приложения с использованием Unity и Vuforia engine / И. В. Бахтин. — Текст : непосредственный // Молодой ученый. — 2020. — № 5 (295). — С. 3-8. — URL: https://moluch.ru/archive/295/67075/ (дата обращения: 06.12.2021).

В статье рассмотрен процесс создания простого ar-приложения при помощи платформы разработки приложений Unity и платформы Vuforia.

Ключевые слова: Unity, Unity 3d, дополненная реальность, Vuforia, ar-приложение, ar-платформа.

The article describes the process of creating a simple ar-applications using the Unity application development platform and Vuforia platform.

Keywords: Unity, Unity 3d, augmented reality, Vuforia, ar-application, ar-platform.

Дополненная реальность (AR, augmented reality) — это особая среда в реальном времени, которая дополняет физический мир виртуальными данными с помощью компьютерных устройств (телефонов, планшетов, веб-камер и т.д.). AR позволяет сделать виртуальные объекты интерактивными в действительности.

Читайте также:  Видеозапись с выключенным экраном android

Рассмотрим следующие шаги разработки ar-приложения:

− Настройка передачи информации с камеры;

− Настройка отслеживания необходимого изображения;

− Передача виртуальных данных к необходимому объекту.

Подготовка ксозданию приложения

Для начала необходимо установить «Unity» с официального сайта [1].

Процесс установки «Unity» довольно простой. Необходимо запустить установочный файл и указать папку, в которой будет храниться программа и рабочие проекты.

После успешной установки «Unity» необходимо скачать и установить плагин «Vuforia engine» с официального сайта [2]. Для создания проекта, который будет запускаться на телефоне будет достаточно установить «движок» данного плагина.

Рис. 1. Скачивание плагина Vuforia

Затем необходимо зарегистрироваться на сайте «Vuforia engine» для того, чтобы получить уникальный ключ, который будет привязан к проекту. Также аккаунт необходим для того, чтобы хранить изображения, к которым будут прикреплены виртуальные объекты.

После того, как пройден процесс регистрации необходимо зайти во вкладку «Develop» и нажать на кнопку «Get Development Key» для получения собственного лицензионного ключа.

Рис. 2. Получение ключа

Создание проекта

После всех подготовительных действий начнем создание проекта. Для этого в главном окне «Unity» создадим новый проект, дождемся создания и инициализации компонентов. В окне «Hierarchy» необходимо удалить стандартный объект «Main Camera» и заменить объектом «AR camera», который поставляется с «Vuforia Engine».

Рис. 3. Добавление камеры

Далее необходимо привязать ранее полученный ключ к приложению. Для этого заходим в аккаунт и скопировать полученный ключ, вставив его в инспекторе объекта «AR camera» в поле «App License Key».

Рис. 4. Привязка ключа

Следующим шагом необходимо создать встроенную базу данных, хранящую изображения, на которых будут появляться модели объектов. Для этого необходимо в профиле сайта «Vuforia engine» войти во вкладку «Develop» и нажать на ссылку «Target Manager». В поле «Name» надо ввести название, в полях выбора «Type» выбрать необходимый тип базы данных.

После создания базы данных добавим изображение, нажав на кнопку «Add Target». В данном окне надо выбрать тип изображения, соответственно, загрузить само изображение, указать ширину и название.

Рис. 5. Добавление изображения

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

Рис. 6. Добавленное изображение

Можно добавлять столько изображений, сколько позволяет тарифный план аккаунта.

После добавления необходимых изображений необходимой скачать данную базу данных и импортировать все зависимости в «Unity».

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

Рис. 7. Добавление изображения

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

Установим модели из «Asset Store» и прикрепим их к рабочей области так, как мы хотим.

Рис. 8. Рабочее поле Unity

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

Рис. 9. Проверка работоспособности проекта

Таким образом, проект успешно воплощен и проверен. Данный проект можно собрать под платформу Android или IOS и выпустить в магазин приложений.

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

Источник

Оцените статью