Быстрый старт для Android

Чтобы начать использовать ARCore с Android, вы можете запустить пример приложения hello_ar_kotlin или hello_ar_java , включенный в ARCore SDK. Эти примеры приложений используют OpenGL — программный интерфейс для рендеринга 2D- и 3D-векторной графики. Приложения отображают все обнаруженные плоскости и позволяют пользователю нажать на плоскость, чтобы разместить 3D-модель.

Настройте среду разработки

Открыть образец проекта

  1. В Android Studio клонируйте репозиторий ARCore SDK GitHub.

    Есть много способов сделать это:

    • Для установленной установки Android Studio:

      • В меню Git выберите Clone .
      • В раскрывающемся списке Version control выберите Git в качестве системы контроля версий.
      • В поле URL введите следующий URL-адрес репозитория ARCore GitHub:

        https://github.com/google-ar/arcore-android-sdk.git

    • Вы также можете открыть Terminal и выполнить команду git clone следующим образом:

      git clone https://github.com/google-ar/arcore-android-sdk.git
  2. Откройте один из примеров проектов следующим образом (необходимо явно открыть проект, чтобы его собрать и запустить).

    • В меню File выберите Open .
    • В папке arcore-android-sdk/samples выберите папку hello_ar_kotlin или hello_ar_java и нажмите Open .

Подготовьте свое устройство или эмулятор

Вы можете запускать приложения AR на поддерживаемом устройстве или в эмуляторе Android. Перед запуском приложения необходимо обновить Службы Google Play для AR в эмуляторе. Дополнительную информацию см. в разделе «Запуск приложений AR в эмуляторе Android» .

Запустите образец

Убедитесь, что ваше устройство Android подключено к машине разработки, и нажмите Run в Android-студии.

Android Studio преобразует ваш проект в отлаживаемый APK, устанавливает APK, а затем запускает приложение на вашем устройстве. Дополнительные сведения см. в разделе Создание и запуск приложения .

Вам может быть предложено установить или обновить Службы Google Play для AR, если они отсутствуют или устарели. Выберите CONTINUE , чтобы установить его из Google Play Store, или обновите его вручную, как описано в разделе «Обновление сервисов Google Play для AR» .

Приложение hello_ar_java позволяет размещать трехмерную пешку ARCore на обнаруженных плоских поверхностях AR. Он реализован с помощью Android GL SurfaceView , который используется для предварительного просмотра камеры и основных объектов AR, таких как плоскости и якоря. Пример платформы рендеринга hello_ar_java можно найти в com/google/ar/core/examples/java/common/samplerender .

Используйте мгновенное размещение

API мгновенного размещения позволяет пользователю размещать объект AR на экране, не дожидаясь, пока ARCore определит геометрию поверхности. Размещение объектов уточняется в реальном времени по мере дальнейшего перемещения пользователя по окружающей среде.

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

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

Instant Placement

На рисунке 1 мгновенное размещение отключено, а геометрия поверхности не определена. Объекты, расположенные на полу справа от бильярдного стола (четыре маленькие синие точки), кажутся опрокинутыми, их позы не определены.

На рис. 2 мгновенное размещение включено в меню под значком шестеренки.

На рис. 3 при включенном мгновенном размещении на сцену помещается новый объект. Он отображается в оттенках серого, а не в цвете, что означает, что он еще не был скорректирован для точной позы.

На рисунке 4 новый объект становится цветным и его поза становится точной, когда определяется геометрия поверхности (описываемая отслеживаемыми линиями сетки).

Использовать глубину

Когда параметр «Глубина» включен, ARCore учитывает геометрию и расположение объектов на сцене и вычисляет расположение объектов, размещенных на сцене, относительно других объектов на сцене. Это позволяет перекрывать размещенные объекты объектами на сцене и придает приложению реалистичность.

Instant Placement

На рисунке 1 параметр «Глубина» отключен. Объект помещается под бильярдный стол.

На рисунке 2, когда устройство перемещается вокруг бильярдного стола, кажется, что объект следует за устройством независимо от объектов на сцене.

На рисунке 3 параметр «Глубина» включен.

На рисунке 4 объект теперь кажется закрытым бильярдным столом, когда устройство перемещается по сцене.

Следующие шаги