Если вы хоть раз задумывались о приложении с дополненной реальностью на мобильных устройствах, что вызвало ваш неподдельный интерес , чтобы начать разрабатывать свое собственное Android-приложение на основе AR, то данная статься отличное место, для приобретения основных навыков начинающих.
После того, как мы установим все необходимое, мы перейдем к созданию AR приложения, который позволит нам изучить поверхности и размещать пользовательские объекты на этих поверхностях.
Убедитесь, что у вас есть совместимый телефон
Прежде чем вы зайдете слишком далеко, помните, что вам понадобится совместимое устройство для тестирования вашего приложения. К счастью, когда ARCore покинул предварительный просмотр и перешел на выпускную версию, Google выпустил огромное количество устройств, совместимых с ARCore.
Загрузите все программное обеспечение
Теперь, перейдем к программному обеспечению, которое нам понадобится. Вот что вам понадобится:
- Загрузите Unity 2017.3 (для работы с первой официальной версией ARCore требуется "2017.3" или выше);
- Загрузите и установите Android Studio 3.0 или выше, так как это самый простой способ получить установленный Android SDK. И убедитесь, что версия SDK, которую вы выбрали в процессе установки, является Android SDK версии 7.0 (уровень API 24) или выше;
- Скачайте "arcore-unity-sdk-v1.0.0.unitypackage.";
- Загрузите пример ресурсов arcore-intro.unitypackage;
- Наконец, загрузите бесплатную модель рекламного щита от TurboSquid. Когда вам будет предложена эта опция, загрузите версию Collada с расширением "DAE"
Установка Unity
При установке Unity, нам нужно убедиться, что у нас есть параметры, которые будут использоваться для разработки ARCore, установленной во время этого процесса.
Перейдите в то место, где вы загрузили все файлы для этого проекта, и дважды щелкните файл "UnityDownloadAssistant-2017.3".
Двигайтесь вперед в процессе установки, пока не дойдете до окна выбора компонентов. Теперь убедитесь, что выбрана "Unity 2017.3.1f1" (или какая бы версия 2017.3 вы ни устанавливали), а также "поддержка сборки Android."
- Если вы являетесь частым пользователем Unity, с несколькими установленными различными версиями, вы можете использовать папку, отличающаяся от папки по умолчанию. Кроме того, вы можете использовать имя, отличное от просто "Unity". В любом случае, как только решение будет принято и имя папки будет добавлено в поле папка установки Unity, нажмите кнопку "Далее", и начнется процесс установки.
- Если вы впервые используете Unity, запустите приложение и создайте новую учетную запись для входа в систему.
Создайте свой проект ARCore
Теперь мы создадим новый проект и настроим специфику ARCore, которая нам нужна, чтобы наш проект был запущен.
- Запустите приложение Unity и нажмите на кнопку "Создать". Назовите новый проект ARCore, а затем нажмите кнопку "Создать проект".
- Как только откроется главное окно Unity, нажмите Ctrl + Shift + B или нажмите кнопку "Файл", затем "Параметры сборки". Оттуда, нажмите на опцию "Android" под платформой , а затем нажмите на кнопку "Switch Platform". Когда логотип Unity появляется рядом с опцией Android, вы поймете, что он выбран. Нажмите на кнопку "настройки проигрывателя", чтобы продолжить.
- На вкладке "основные", под заголовком "другие настройки", нажмите на флажок "многопоточный рендеринг", чтобы убедиться, что он не выбран.
- В поле "имя пакета" введите название, которое должно быть уникальным для вашего устройства, так как это может вызвать проблемы, если он имеет то же имя пакета, что и другое приложение.
- Теперь нам нужно установить самую низкую совместимую версию ОС Android, которая совместима с ARCore. Найдите опцию «минимальный уровень API», нажмите на его раскрывающееся меню и выберите «Android 7.0 'Nougat'»
- Нажмите на кнопку "Настройки 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.