Начало работы с API семантики сцены и геопространственной глубины в ARCore,Начало работы с API семантики сцены и геопространственной глубины в ARCore,Начало работы с API семантики сцены и геопространственной глубины в ARCore

1. Прежде чем начать

ARCore — это фреймворк Google для создания приложений дополненной реальности (AR) на смартфонах. API семантики сцены и геопространственной глубины помогают вашим приложениям AR понимать окружающую среду вокруг пользователей.

API семантики сцены использует модель машинного обучения (МО) для анализа изображений с камер и создания изображения маркированных пикселей. Он может различать 11 различных меток на открытом воздухе.

API геопространственной глубины объединяет данные о глубине, полученные от датчиков движения и любых активных аппаратных датчиков, таких как датчики времени пролёта, с данными API геометрии Streetscape. Он уменьшает погрешности измерений глубины на расстоянии до 65 метров.

В этой лабораторной работе вы создадите приложение дополненной реальности, которое визуализирует результаты API семантики сцены и геопространственной глубины.

Предпосылки

Чему вы научитесь

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

Что вам понадобится

2. Настройте свою среду

Для начала работы с Geospatial API мы предоставили стартовый проект, который включает в себя основы проекта ARCore и некоторые вспомогательные функции.

Чтобы настроить стартовый проект, выполните следующие действия:

  1. Откройте Android Studio и выполните одно из следующих действий:
    • Если у вас уже открыт проект, нажмите Файл > Новый > Проект из системы управления версиями .
    • Если вы видите окно «Добро пожаловать в Android Studio» , нажмите « Получить из VCS» . Получить из местоположения VCS
  2. Выберите Git и введите https://github.com/google-ar/codelab-scene-semantics-geospatial-depth.git , чтобы импортировать проект.

3. Визуализация данных API семантики сцены

Включить API семантики сцены

API семантики сцены по умолчанию отключено для экономии вычислительной мощности.

Чтобы включить API семантики сцены, выполните следующие действия:

  1. В файле CodelabActivity.kt найдите следующую строку:
    // TODO: Enable the Scene Semantics API.
    
  2. После этой строки, если ваше устройство поддерживает это, включите API семантики сцены в конфигурации сеанса:
    if (session.isSemanticModeSupported(Config.SemanticMode.ENABLED)) {
      semanticMode = Config.SemanticMode.ENABLED
    }
    

Получить и визуализировать семантическое изображение

Семантическое изображение является результатом модели ARCore ML, которая присваивает перечисление SemanticLabel каждому пикселю в канале камеры.

Пример семантических изображений

Чтобы получить семантическое изображение и отобразить его на экране, выполните следующие действия:

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Obtain the semantic image for this frame.
    
  2. После этой строки получаем семантическое изображение:
    frame.acquireSemanticImage().use { image ->
      semanticRenderer.updateCameraSemanticsTexture(image)
      activity.view.semanticLabelAtCenter = getLabelAt(image, image.width/2, image.height/2)
    }
    
    Семантическое изображение используется в классе SemanticRenderer для отображения на экране. Для отображения семантической метки в центре экрана в представлении приложения необходимо обновить переменную semanticLabelAtCenter .
  3. Запустите приложение и наведите камеру на различные объекты снаружи. Отображение семантической метки меняется при взгляде на разные типы объектов.
  4. Кран Значок настроек Настройки для включения наложения изображений семантической уверенности.

Получите и визуализируйте изображение семантической уверенности

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

Чтобы получить семантическое изображение и отобразить его на экране, выполните следующие действия:

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Obtain the confidence image for this frame.
    
  2. После этой строки получаем семантическое изображение:
    frame.acquireSemanticConfidenceImage().use { image ->
      semanticRenderer.updateConfidenceSemanticsTexture(image)
      activity.view.confidenceAtCenter = getConfidenceAt(image, image.width/2, image.height/2)
    }
    
    Изображение семантической уверенности используется в классе SemanticRenderer для отображения на экране. Для отображения семантической метки в центре экрана в представлении приложения необходимо обновить переменную confidenceAtCenter .
  3. Запустите приложение и наведите камеру на различные объекты снаружи. Отображение семантической достоверности меняется при взгляде на разные типы объектов.
  4. Кран Значок настроек Настройки для включения наложения изображений семантической уверенности.

Определить распространенность метки

Распространенность метки — это процент семантического изображения, соответствующего заданной метке. Например, если 26% изображения имеет значение SemanticLabel.SKY , то значение распространенности для значения SemanticLabel.SKY равно 0.26f .

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

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Obtain the prevalence of the selected label for this frame.
    
  2. После этой строки получите распространенность для выбранной метки:
    activity.view.fractionOfLabel = frame.getSemanticLabelFraction(activity.view.selectedSemanticLabel)
    
  3. Запустите приложение и наведите камеру на различные объекты снаружи. Значение дроби меняется при взгляде на разные типы объектов. Нажмите. Значок настроек Настройки для изменения отображаемой доли метки. Например, попробуйте ввести «СТРОИТЕЛЬСТВО» и заполнить область просмотра зданием, чтобы посмотреть, как это повлияет на долю.

4. Визуализация данных API геопространственной глубины

Geospatial Depth API улучшает считывание глубины при включении Geospatial API и Streetscape Geometry API. Для использования Geospatial Depth API с Kotlin и Android Studio необходим проект Google Cloud.

Настройте проект Google Cloud

ARCore Geospatial API подключается к Google Cloud для предоставления информации о локализации из системы визуального позиционирования Google (VPS) в областях, охватываемых Google Street View.

Чтобы использовать этот сервер в своем проекте, выполните следующие действия:

  1. Создайте проект в Google Cloud .

    Создайте проект Google Cloud
  2. В поле Имя проекта введите подходящее имя, например, ARCore Geospatial API project , и выберите любое местоположение.
  3. Нажмите «Создать» .
  4. В консоли Google Cloud на странице выбора проектов нажмите Создать проект .
  5. Щелкните следующую ссылку, чтобы просмотреть API ARCore для этого проекта, и щелкните Включить :
  6. Создайте API-ключ для вашего проекта:
    1. В разделе API и службы выберите Учетные данные .
    2. Нажмите Создать учетные данные и выберите Ключ API .
    3. Запишите ключ, он понадобится вам позже.

Вы создали проект Google Cloud с авторизацией по ключу API и готовы использовать Geospatial API в примере проекта.

Интегрируйте ключ API с проектом Android Studio

Чтобы связать ключ API от Google Cloud с вашим проектом, выполните следующие действия:

  1. В Android Studio нажмите app > src и дважды щелкните AndroidManifest.xml .
  2. Найдите следующие записи meta-data :
    <meta-data
        android:name="com.google.android.ar.API_KEY"
        android:value="API_KEY" />
    
  3. Замените API_KEY ключом API, созданным в проекте Google Cloud . Значение, сохранённое в com.google.android.ar.API_KEY , разрешает этому приложению использовать геопространственный API.

Проверьте свой проект

  • Чтобы проверить свой проект, запустите приложение на устройстве разработки. В верхней части экрана вы увидите вид с камеры и геопространственную отладочную информацию.

Геопространственная информация отображается в приложении

Включить требуемые конфигурации

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

Чтобы включить их, выполните следующие действия:

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Enable the Geospatial API, the Streetscape Geometry API, and the Depth API.
    
  2. На следующей строке добавьте следующий код:
    val isDepthSupported = session.isDepthModeSupported(Config.DepthMode.AUTOMATIC)
    val isGeospatialSupported = session.isGeospatialModeSupported(Config.GeospatialMode.ENABLED)
    if (isDepthSupported && isGeospatialSupported) {
      // These three settings are needed to use Geospatial Depth.
      geospatialMode = Config.GeospatialMode.ENABLED
      streetscapeGeometryMode = Config.StreetscapeGeometryMode.ENABLED
      depthMode = Config.DepthMode.AUTOMATIC
    }
    

Визуализация информации о глубине

  1. Запустите приложение и посетите здание в вашем районе.
  2. После завершения геопространственной локализации нажмите Значок настроек Настройки и включение визуализации геопространственной глубины.
  3. Посмотрите на здание в дополненной реальности и сравните его с информацией о глубине без геопространственной глубины.

5. Заключение

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

Узнать больше

,

1. Прежде чем начать

ARCore — это фреймворк Google для создания приложений дополненной реальности (AR) на смартфонах. API семантики сцены и геопространственной глубины помогают вашим приложениям AR понимать окружающую среду вокруг пользователей.

API семантики сцены использует модель машинного обучения (МО) для анализа изображений с камер и создания изображения маркированных пикселей. Он может различать 11 различных меток на открытом воздухе.

API геопространственной глубины объединяет данные о глубине, полученные от датчиков движения и любых активных аппаратных датчиков, таких как датчики времени пролёта, с данными API геометрии Streetscape. Он уменьшает погрешности измерений глубины на расстоянии до 65 метров.

В этой лабораторной работе вы создадите приложение дополненной реальности, которое визуализирует результаты API семантики сцены и геопространственной глубины.

Предпосылки

Чему вы научитесь

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

Что вам понадобится

2. Настройте свою среду

Для начала работы с Geospatial API мы предоставили стартовый проект, который включает в себя основы проекта ARCore и некоторые вспомогательные функции.

Чтобы настроить стартовый проект, выполните следующие действия:

  1. Откройте Android Studio и выполните одно из следующих действий:
    • Если у вас уже открыт проект, нажмите Файл > Новый > Проект из системы управления версиями .
    • Если вы видите окно «Добро пожаловать в Android Studio» , нажмите « Получить из VCS» . Получить из местоположения VCS
  2. Выберите Git и введите https://github.com/google-ar/codelab-scene-semantics-geospatial-depth.git , чтобы импортировать проект.

3. Визуализация данных API семантики сцены

Включить API семантики сцены

API семантики сцены по умолчанию отключено для экономии вычислительной мощности.

Чтобы включить API семантики сцены, выполните следующие действия:

  1. В файле CodelabActivity.kt найдите следующую строку:
    // TODO: Enable the Scene Semantics API.
    
  2. После этой строки, если ваше устройство поддерживает это, включите API семантики сцены в конфигурации сеанса:
    if (session.isSemanticModeSupported(Config.SemanticMode.ENABLED)) {
      semanticMode = Config.SemanticMode.ENABLED
    }
    

Получить и визуализировать семантическое изображение

Семантическое изображение является результатом модели ARCore ML, которая присваивает перечисление SemanticLabel каждому пикселю в канале камеры.

Пример семантических изображений

Чтобы получить семантическое изображение и отобразить его на экране, выполните следующие действия:

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Obtain the semantic image for this frame.
    
  2. После этой строки получаем семантическое изображение:
    frame.acquireSemanticImage().use { image ->
      semanticRenderer.updateCameraSemanticsTexture(image)
      activity.view.semanticLabelAtCenter = getLabelAt(image, image.width/2, image.height/2)
    }
    
    Семантическое изображение используется в классе SemanticRenderer для отображения на экране. Для отображения семантической метки в центре экрана в представлении приложения необходимо обновить переменную semanticLabelAtCenter .
  3. Запустите приложение и наведите камеру на различные объекты снаружи. Отображение семантической метки меняется при взгляде на разные типы объектов.
  4. Кран Значок настроек Настройки для включения наложения изображений семантической уверенности.

Получите и визуализируйте изображение семантической уверенности

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

Чтобы получить семантическое изображение и отобразить его на экране, выполните следующие действия:

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Obtain the confidence image for this frame.
    
  2. После этой строки получаем семантическое изображение:
    frame.acquireSemanticConfidenceImage().use { image ->
      semanticRenderer.updateConfidenceSemanticsTexture(image)
      activity.view.confidenceAtCenter = getConfidenceAt(image, image.width/2, image.height/2)
    }
    
    Изображение семантической уверенности используется в классе SemanticRenderer для отображения на экране. Для отображения семантической метки в центре экрана в представлении приложения необходимо обновить переменную confidenceAtCenter .
  3. Запустите приложение и наведите камеру на различные объекты снаружи. Отображение семантической достоверности меняется при взгляде на разные типы объектов.
  4. Кран Значок настроек Настройки для включения наложения изображений семантической уверенности.

Определить распространенность метки

Распространенность метки — это процент семантического изображения, соответствующего заданной метке. Например, если 26% изображения имеет значение SemanticLabel.SKY , то значение распространенности для значения SemanticLabel.SKY равно 0.26f .

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

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Obtain the prevalence of the selected label for this frame.
    
  2. После этой строки получите распространенность для выбранной метки:
    activity.view.fractionOfLabel = frame.getSemanticLabelFraction(activity.view.selectedSemanticLabel)
    
  3. Запустите приложение и наведите камеру на различные объекты снаружи. Значение дроби меняется при взгляде на разные типы объектов. Нажмите. Значок настроек Настройки для изменения отображаемой доли метки. Например, попробуйте ввести «СТРОИТЕЛЬСТВО» и заполнить область просмотра зданием, чтобы посмотреть, как это повлияет на долю.

4. Визуализация данных API геопространственной глубины

Geospatial Depth API улучшает считывание глубины при включении Geospatial API и Streetscape Geometry API. Для использования Geospatial Depth API с Kotlin и Android Studio необходим проект Google Cloud.

Настройте проект Google Cloud

ARCore Geospatial API подключается к Google Cloud для предоставления информации о локализации из системы визуального позиционирования Google (VPS) в областях, охватываемых Google Street View.

Чтобы использовать этот сервер в своем проекте, выполните следующие действия:

  1. Создайте проект в Google Cloud .

    Создайте проект Google Cloud
  2. В поле Имя проекта введите подходящее имя, например, ARCore Geospatial API project , и выберите любое местоположение.
  3. Нажмите «Создать» .
  4. В консоли Google Cloud на странице выбора проектов нажмите Создать проект .
  5. Щелкните следующую ссылку, чтобы просмотреть API ARCore для этого проекта, и щелкните Включить :
  6. Создайте API-ключ для вашего проекта:
    1. В разделе API и службы выберите Учетные данные .
    2. Нажмите Создать учетные данные и выберите Ключ API .
    3. Запишите ключ, он понадобится вам позже.

Вы создали проект Google Cloud с авторизацией по ключу API и готовы использовать Geospatial API в примере проекта.

Интегрируйте ключ API с проектом Android Studio

Чтобы связать ключ API от Google Cloud с вашим проектом, выполните следующие действия:

  1. В Android Studio нажмите app > src и дважды щелкните AndroidManifest.xml .
  2. Найдите следующие записи meta-data :
    <meta-data
        android:name="com.google.android.ar.API_KEY"
        android:value="API_KEY" />
    
  3. Замените API_KEY ключом API, созданным в проекте Google Cloud . Значение, сохранённое в com.google.android.ar.API_KEY , разрешает этому приложению использовать геопространственный API.

Проверьте свой проект

  • Чтобы проверить свой проект, запустите приложение на устройстве разработки. В верхней части экрана вы увидите вид с камеры и геопространственную отладочную информацию.

Геопространственная информация отображается в приложении

Включить требуемые конфигурации

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

Чтобы включить их, выполните следующие действия:

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Enable the Geospatial API, the Streetscape Geometry API, and the Depth API.
    
  2. На следующей строке добавьте следующий код:
    val isDepthSupported = session.isDepthModeSupported(Config.DepthMode.AUTOMATIC)
    val isGeospatialSupported = session.isGeospatialModeSupported(Config.GeospatialMode.ENABLED)
    if (isDepthSupported && isGeospatialSupported) {
      // These three settings are needed to use Geospatial Depth.
      geospatialMode = Config.GeospatialMode.ENABLED
      streetscapeGeometryMode = Config.StreetscapeGeometryMode.ENABLED
      depthMode = Config.DepthMode.AUTOMATIC
    }
    

Визуализация информации о глубине

  1. Запустите приложение и посетите здание в вашем районе.
  2. После завершения геопространственной локализации нажмите Значок настроек Настройки и включение визуализации геопространственной глубины.
  3. Посмотрите на здание в дополненной реальности и сравните его с информацией о глубине без геопространственной глубины.

5. Заключение

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

Узнать больше

,

1. Прежде чем начать

ARCore — это фреймворк Google для создания приложений дополненной реальности (AR) на смартфонах. API семантики сцены и геопространственной глубины помогают вашим приложениям AR понимать окружающую среду вокруг пользователей.

API семантики сцены использует модель машинного обучения (МО) для анализа изображений с камер и создания изображения маркированных пикселей. Он может различать 11 различных меток на открытом воздухе.

API геопространственной глубины объединяет данные о глубине, полученные от датчиков движения и любых активных аппаратных датчиков, таких как датчики времени пролёта, с данными API геометрии Streetscape. Он уменьшает погрешности измерений глубины на расстоянии до 65 метров.

В этой лабораторной работе вы создадите приложение дополненной реальности, которое визуализирует результаты API семантики сцены и геопространственной глубины.

Предпосылки

Чему вы научитесь

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

Что вам понадобится

2. Настройте свою среду

Для начала работы с Geospatial API мы предоставили стартовый проект, который включает в себя основы проекта ARCore и некоторые вспомогательные функции.

Чтобы настроить стартовый проект, выполните следующие действия:

  1. Откройте Android Studio и выполните одно из следующих действий:
    • Если у вас уже открыт проект, нажмите Файл > Новый > Проект из системы управления версиями .
    • Если вы видите окно «Добро пожаловать в Android Studio» , нажмите « Получить из VCS» . Получить из местоположения VCS
  2. Выберите Git и введите https://github.com/google-ar/codelab-scene-semantics-geospatial-depth.git , чтобы импортировать проект.

3. Визуализация данных API семантики сцены

Включить API семантики сцены

API семантики сцены по умолчанию отключено для экономии вычислительной мощности.

Чтобы включить API семантики сцены, выполните следующие действия:

  1. В файле CodelabActivity.kt найдите следующую строку:
    // TODO: Enable the Scene Semantics API.
    
  2. После этой строки, если ваше устройство поддерживает это, включите API семантики сцены в конфигурации сеанса:
    if (session.isSemanticModeSupported(Config.SemanticMode.ENABLED)) {
      semanticMode = Config.SemanticMode.ENABLED
    }
    

Получить и визуализировать семантическое изображение

Семантическое изображение является результатом модели ARCore ML, которая присваивает перечисление SemanticLabel каждому пикселю в канале камеры.

Пример семантических изображений

Чтобы получить семантическое изображение и отобразить его на экране, выполните следующие действия:

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Obtain the semantic image for this frame.
    
  2. После этой строки получаем семантическое изображение:
    frame.acquireSemanticImage().use { image ->
      semanticRenderer.updateCameraSemanticsTexture(image)
      activity.view.semanticLabelAtCenter = getLabelAt(image, image.width/2, image.height/2)
    }
    
    Семантическое изображение используется в классе SemanticRenderer для отображения на экране. Для отображения семантической метки в центре экрана в представлении приложения необходимо обновить переменную semanticLabelAtCenter .
  3. Запустите приложение и наведите камеру на различные объекты снаружи. Отображение семантической метки меняется при взгляде на разные типы объектов.
  4. Кран Значок настроек Настройки для включения наложения изображений семантической уверенности.

Получите и визуализируйте изображение семантической уверенности

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

Чтобы получить семантическое изображение и отобразить его на экране, выполните следующие действия:

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Obtain the confidence image for this frame.
    
  2. После этой строки получаем семантическое изображение:
    frame.acquireSemanticConfidenceImage().use { image ->
      semanticRenderer.updateConfidenceSemanticsTexture(image)
      activity.view.confidenceAtCenter = getConfidenceAt(image, image.width/2, image.height/2)
    }
    
    Изображение семантической уверенности используется в классе SemanticRenderer для отображения на экране. Для отображения семантической метки в центре экрана в представлении приложения необходимо обновить переменную confidenceAtCenter .
  3. Запустите приложение и наведите камеру на различные объекты снаружи. Отображение семантической достоверности меняется при взгляде на разные типы объектов.
  4. Кран Значок настроек Настройки для включения наложения изображений семантической уверенности.

Определить распространенность метки

Распространенность метки — это процент семантического изображения, соответствующего заданной метке. Например, если 26% изображения имеет значение SemanticLabel.SKY , то значение распространенности для значения SemanticLabel.SKY равно 0.26f .

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

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Obtain the prevalence of the selected label for this frame.
    
  2. После этой строки получите распространенность для выбранной метки:
    activity.view.fractionOfLabel = frame.getSemanticLabelFraction(activity.view.selectedSemanticLabel)
    
  3. Запустите приложение и наведите камеру на различные объекты снаружи. Значение дроби меняется при взгляде на разные типы объектов. Нажмите. Значок настроек Настройки для изменения отображаемой доли метки. Например, попробуйте ввести «СТРОИТЕЛЬСТВО» и заполнить область просмотра зданием, чтобы посмотреть, как это повлияет на долю.

4. Визуализация данных API геопространственной глубины

Geospatial Depth API улучшает считывание глубины при включении Geospatial API и Streetscape Geometry API. Для использования Geospatial Depth API с Kotlin и Android Studio необходим проект Google Cloud.

Настройте проект Google Cloud

ARCore Geospatial API подключается к Google Cloud для предоставления информации о локализации из системы визуального позиционирования Google (VPS) в областях, охватываемых Google Street View.

Чтобы использовать этот сервер в своем проекте, выполните следующие действия:

  1. Создайте проект в Google Cloud .

    Создайте проект Google Cloud
  2. В поле Имя проекта введите подходящее имя, например, ARCore Geospatial API project , и выберите любое местоположение.
  3. Нажмите «Создать» .
  4. В консоли Google Cloud на странице выбора проектов нажмите Создать проект .
  5. Щелкните следующую ссылку, чтобы просмотреть API ARCore для этого проекта, и щелкните Включить :
  6. Создайте API-ключ для вашего проекта:
    1. В разделе API и службы выберите Учетные данные .
    2. Нажмите Создать учетные данные и выберите Ключ API .
    3. Запишите ключ, он понадобится вам позже.

Вы создали проект Google Cloud с авторизацией по ключу API и готовы использовать Geospatial API в примере проекта.

Интегрируйте ключ API с проектом Android Studio

Чтобы связать ключ API от Google Cloud с вашим проектом, выполните следующие действия:

  1. В Android Studio нажмите app > src и дважды щелкните AndroidManifest.xml .
  2. Найдите следующие записи meta-data :
    <meta-data
        android:name="com.google.android.ar.API_KEY"
        android:value="API_KEY" />
    
  3. Замените API_KEY ключом API, созданным в проекте Google Cloud . Значение, сохранённое в com.google.android.ar.API_KEY , разрешает этому приложению использовать геопространственный API.

Проверьте свой проект

  • Чтобы проверить свой проект, запустите приложение на устройстве разработки. В верхней части экрана вы увидите вид с камеры и геопространственную отладочную информацию.

Геопространственная информация отображается в приложении

Включить требуемые конфигурации

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

Чтобы включить их, выполните следующие действия:

  1. В файле CodelabRenderer.kt найдите следующую строку:
    // TODO: Enable the Geospatial API, the Streetscape Geometry API, and the Depth API.
    
  2. На следующей строке добавьте следующий код:
    val isDepthSupported = session.isDepthModeSupported(Config.DepthMode.AUTOMATIC)
    val isGeospatialSupported = session.isGeospatialModeSupported(Config.GeospatialMode.ENABLED)
    if (isDepthSupported && isGeospatialSupported) {
      // These three settings are needed to use Geospatial Depth.
      geospatialMode = Config.GeospatialMode.ENABLED
      streetscapeGeometryMode = Config.StreetscapeGeometryMode.ENABLED
      depthMode = Config.DepthMode.AUTOMATIC
    }
    

Визуализация информации о глубине

  1. Запустите приложение и посетите здание в вашем районе.
  2. После завершения геопространственной локализации нажмите Значок настроек Настройки и включение визуализации геопространственной глубины.
  3. Посмотрите на здание в дополненной реальности и сравните его с информацией о глубине без геопространственной глубины.

5. Заключение

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

Узнать больше