Ажиотаж вокруг разработки дополненной реальности начался с конца 2017 года, когда Google запустил свой ARcore SDK для устройств Android, а Apple - свой ARkit SDK для устройств IOS.

Но у этого был большой недостаток, поскольку разработчики не могли создавать кроссплатформенные приложения для устройств Android и IOS, поскольку у них обоих были разные инструменты SDK.

Затем Unity запустила SDK AR Foundation, в котором разработчики AR могли создавать кроссплатформенные приложения, просто переключая платформу внутри движка Unity.

Сегодняшний план

Сегодня мы будем внедрять базовое приложение AR на основе «отслеживания изображений», не требующее абсолютно никакого кода от Unity's AR Foundation.

Что такое отслеживание изображений?

Отслеживание изображений - это функция дополненной реальности, которая дает приложениям возможность обнаруживать 2D-изображения, запускать контент с цифровым дополнением для отображения в виде видео, слайд-шоу, панорам 360 °, звука, текста, 3D-анимации и т. д. .

Требования

  1. Установка стабильного Unity Engine на Windows или MAC.
  2. Устройство с поддержкой AR на базе Android или IOS.

Давайте начнем

Создайте проект Unity 3D и назовите его Отслеживание изображений или как хотите. Вы можете выбрать любой шаблон, который вам нравится, поскольку мы изменим его позже в нашей Сцене. Заполните любое название проекта и местоположение по своему усмотрению. Нажмите "Создать", когда закончите заполнение.

Настройка Unity 3D для разработки дополненной реальности

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

Шаг 1. Откройте настройки сборки - ›Переключить платформу на Android -› и нажмите «Настройки проигрывателя».

Шаг 2. Откройте раскрывающееся меню «Другие настройки» и измените имя пакета на «com.yourcompanyname.yourappname».

Шаг 3: отключите многопоточную визуализацию, поскольку ARcore ее еще не поддерживает.

Шаг 4: включите Auto Graphics API, поскольку ARcore не поддерживает Vulkan Graphics API.

Шаг 5: установите минимальный уровень API 24, так как это минимальный уровень API, необходимый для ARcore.

Шаг 6. Оставьте остальные по умолчанию.

Установка пакета AR Foundation

Теперь перейдите в Диспетчер пакетов Unity в Окно - ›Диспетчер пакетов и установите последнюю стабильную сборку AR Foundation и ARcore или ARkit, учитывая вашу текущую платформу Android или IOS.

Примечание. Пакет Подсистемы AR устанавливается автоматически после установки пакета AR Foundation.

Настройка нашей AR-сцены

Обратите внимание, что при импорте внутри сцены у нас есть дополнительный столбец с именем XR. Если вы не видите этого, проверьте, правильно ли вы установили пакеты.

В дальнейшем нам потребуются Источник сеанса AR и Сессия AR. Обратите внимание, что у нас есть камера AR внутри источника сеанса AR. Это будет камера по умолчанию для нашей сцены, и поэтому мы можем пойти и удалить основную камеру, импортированную после выбора 3D-шаблона.

Не забудьте сохранить сцену.

Внедрение отслеживания изображений

Давайте перейдем в AR Session Origin и добавим скрипт AR Tracked Image Manager после нажатия кнопки добавления компонентов.

Итак, у нас будет три компонента:

  1. Справочная библиотека: изображения, которые вы хотите отслеживать.
  2. Максимальное количество движущихся изображений: как следует из названия.
  3. Prefab отслеживаемого изображения: сборный файл, отображаемый после отслеживания изображения.

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

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

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

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

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

Шаг 1: создайте куб 3D-объекта и настройте размеры.

Шаг 2: перетащите его в нашу папку Assets и затем добавьте в нее видеоплеер.

Шаг 3: вы можете включить «цикл» и отключить «ждать первого кадра» по своему желанию.

Что ж, теперь у нас есть сборные.

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

Отлично, наше приложение AR готово к сборке и запуску. Перейдите к настройке параметров, а также к сборке и запуску вашего приложения.

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

Некоторые из проблем, с которыми вы можете столкнуться

Проблема 1: если это диалоговое окно появляется после сборки и запуска. Тогда вы можете просто посетить этот сайт для исправления. Сборка Unity 2020 может не столкнуться с этой проблемой.

Проблема 2. Если ваш видеопроигрыватель инвертирует видео, вы можете внести следующие изменения.

Финальная сборка

Пришло время проверить нашу тяжелую работу, которую мы проводим последние пару минут. Пойдем Настройки сборки - ›Сборка и запуск.

Он должен быть успешно собран, и у вас может быть аналогичный результат.

Вы можете изучить другие примеры этого проекта здесь.

Заключение

Поздравляю, ребята, вы справились. Теперь вы можете реализовать отслеживание изображений в своем приложении AR. Но теперь возникает вопрос: что дальше?

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

Надеюсь, этот урок был вам полезен. В случае, если кто-то застрял, вы можете клонировать проект из здесь. Кроме того, вы все можете задать любые свои сомнения ниже или связаться со мной в LinkedIn, я буду рад вам помочь.

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