Arcore, что это за программа для Android
Обновлено: 23.11.2024
Чтобы начать использовать ARCore с Android, вы можете реализовать пример приложения hello_ar_kotlin или hello_ar_java , включенный в ARCore SDK. В этих примерах приложений используется OpenGL — программный интерфейс для рендеринга 2D- и 3D-векторной графики. Приложения отображают все обнаруженные случаи и позволяют использовать плоскость, чтобы связать 3D-модель.
Настройка разработки
Установите Android Studio версии 3.1 или выше с Android SDK Platform версии 7.0 (уровень API 24) или выше.
Открыть пример проекта
В Android Studio клонируйте репозиторий GitHub ARCore SDK.
Есть много разговоров сделать это:
Для установленной установки Android Studio:
- В меню Git выберите Clone .
- В раскрывающемся управлении версиями выберите Git в качестве системы контроля версии.
В поле URL введите следующий URL-адрес репозитория ARCore GitHub:
Вы также можете открыть Терминал и санкционировать команду git clone следующим образом:
Открыть один из примеров проектов предлагаемым образом (вы должны открыть проект, чтобы построить и реализовать его).
Подготовьте свое устройство или эмулятор
Запустить тест
Убедитесь, что ваше устройство Android подключено к машине разработки, и нажмите « Выполнить . в Android Studio.
Android Studio преобразует ваш проект в отлаживаемый APK, создает APK, а затем запускает приложение для ожидаемых результатов. Дополнительные сведения см. в разделе Сборка и запуск приложений .
Вам может быть предложено установить или обновить Сервисы Google Play для AR, если они отсутствуют или устарели. Выберите ПРОДОЛЖИТЬ , чтобы установить его из своего магазина Google Play, или обновите его вручную, как указано в разделе Обновление сервисов Google Play для AR .
Приложение hello_ar_java позволяет использовать трехмерную пешку ARCore при обнаружении опасных явлений AR. Он реализован с помощью Android GL SurfaceView, который используется для рендеринга версии просмотра камер и основных объектов AR, таких как исход и якоря. Образец рендеринга hello_ar_java можно найти в com/google/ar/core/examples/java/common/samplerender .
Используйте закрытые помещения
API Instant Placement позволяет отключить объект AR на экране, не ожидая, пока ARCore обнаружит геометрию поверхности. Размещение объектов уточняется в режиме реального времени по мере того, как пользователь перемещается дальше по среде. Как только ARCore определяет правила положения в области, где находится объект дополненной реальности, белый объект автоматически обновляется, чтобы быть точным положением и становится непрозрачным.
Ваш браузер не поддерживает видео тег.
Разместите виртуальный объект с помощью Instant Placement
Нажмите на экран, ссылка на объект. Обязательно продолжайте перемещать устройство после того, как голографический объект появится на экране, чтобы ARCore мог получить достаточно данных о ближайшем окружении, чтобы точно привязать виртуальный объект.
Следующие шаги
- Попробуйте создать и запустить другие примеры проектов в ARCore SDK.
- Ознакомьтесь с лабораторией дополненной реальности, чтобы узнать больше примеров приложений, которые вы можете создать и запустить.
- Узнайте, как включить ARCore в своем приложении.
- Ознакомьтесь с рекомендациями по времени выполнения .
- Ознакомьтесь с рекомендациями по проектированию .
Если не указано иное, содержимое этой страницы предоставляется по лицензии Creative Commons Attribution 4.0, а образцы кода — по лицензии Apache 2.0. Подробнее см. в Правилах сайта Google Developers. Java является зарегистрированным товарным знаком Oracle и/или ее дочерних компаний.
Google ARCore изменил наше представление о дополненной реальности. Комплект для разработки программного обеспечения (SDK) не ограничивается телефонами с лучшими наборами микросхем и, в отличие от ARKit от Apple, доступен для гораздо более широкой аудитории — даже для людей с недорогими телефонами среднего класса.
С помощью ARCore разработчики могут создать гибридный мир, в котором виртуальный мир смешивается с реальным, а затем вы можете использовать камеру своего телефона как окно, чтобы заглянуть в него.Google открыл платформу для различных разработчиков, чтобы они могли создавать приложения для игр с дополненной реальностью, покупок и искусства.
Вот краткое изложение лучших приложений ARCore, которыми можно пользоваться уже сейчас, но сначала давайте немного поговорим о телефонах, которые действительно могут получить доступ к приложениям ARCore.
Телефоны, совместимые с Google ARCore
Большинство устройств с Android 7.0 или более поздней версии будут поддерживать ARCore, а приложение активатора можно загрузить из Google Play Store. Пользователи Apple iPhone также могут получить доступ к приложениям ARCore, если их устройства работают под управлением iOS 11.0 или более поздней версии.
Некоторые из популярных телефонов с поддержкой Google ARCore включают Pixel 3, 3XL, 2, 2XL; OnePlus 6T, 6, 5, 5T; Nokia 8.1, 6.1, 7 Plus, 8 Sirocco; Мото G7, G6, G6 Plus, Z2 Форс; и Samsung Galaxy S10, S10+, S9, S9+ S8, S8+, A8 и A8+.
Полный список совместимых устройств см. на странице разработчика Google.
Лучшие приложения Google ARCore для телефонов Android в 2018 году
1. Измерить приложение
Приложение Measure – это собственное приложение Google, позаимствованное из первого проекта дополненной реальности Project Tango. Приложение основано на ARCore и может измерять реальные вещи с помощью камеры телефона.
Мы протестировали приложение Measure, и в большинстве случаев оно точно измеряло объекты. Это может показаться абсурдным, но подумайте о случаях, когда вам может понадобиться узнать высоту дерева, стола, свободного места в гостиной или здания перед вами — приложение «Измерение» может оказаться весьма полезным.
Вы также можете попробовать: приложение AR Ruler
2. INKHUNTER- попробовать татуировки
Если вы похожи на меня и любите татуировки, но хотите попробовать их, чтобы посмотреть, как это будет выглядеть, то это приложение для вас. Просто откройте приложение, и вы сможете либо зарегистрироваться, либо использовать его анонимно. Теперь выберите любой дизайн из множества вариантов от разных дизайнеров на разные темы. Вы также можете примерить свой дизайн.
После принятия решения приложение попросит вас нарисовать квадратный смайлик настоящей ручкой на той части тела, где вы хотите сделать татуировку. Этот смайлик подсказывает приложению желаемое место татуировки. Как только он обнаружит, дизайн будет размещен. Вы также можете поработать со встроенным редактором, чтобы он выглядел так, как вы хотите.
3. Просто линия — рисуйте где угодно с помощью дополненной реальности
Приложение Just a Line с дополненной реальностью создано творческой лабораторией Google. Приложение совместимо практически со всеми телефонами ARCore и позволяет вам развлекаться с дополненной реальностью. Используя камеру, вы можете рисовать или писать что угодно на любой поверхности. После этого вы можете обойти его, чтобы увидеть его с разных сторон.
Приложение в основном статичное и не предлагает много возможностей, однако вы можете записывать свою работу и делиться ею с коллегами.
4. Стикеры дополненной реальности для детской площадки
Наклейки Playground AR больше не являются эксклюзивными для устройств Pixel и являются одним из лучших приложений дополненной реальности. Используя камеру телефона, вы можете сбрасывать анимированные стикеры на объекты реального мира и получать удовольствие. В настоящее время список стикеров дополненной реальности невелик, но есть еще несколько, с которыми можно поэкспериментировать.
Чтобы использовать наклейку дополненной реальности, перейдите в приложение камеры телефона, проведите пальцем слева от экрана и выберите в меню «Стикеры дополненной реальности». Оттуда вы можете перетащить любую наклейку на свою фотографию. Вы можете записывать их и даже нажимать на них, чтобы делиться ими и взаимодействовать соответственно.
Совет для профессионалов. Это портировано на большинство устройств, совместимых с ARcore. Итак, просмотрите веб-страницы, чтобы узнать, поддерживается ли ваше устройство.
5. MoleCatch AR
Как мы могли пропустить игры ARCore? MoleCatch AR — неплохое игровое приложение с дополненной реальностью, с которого стоит начать. Камера телефона поможет вам увидеть Кротов в реальном мире и поразить их, как только они появятся.
MoleCatch AR может быть нединамичным, но развлекает вас. В приложении есть только один режим, в котором вы пытаетесь побить свой личный рекорд. Для достижения наилучших результатов играйте на плоской поверхности.
6. Stack Tower AR
Stack Tower AR — еще один вариант, который вы можете рассмотреть для игр с дополненной реальностью. Он использует ARCore для размещения блоков друг над другом в вашей среде до тех пор, пока они не рухнут. Простой! Не так ли?Stack Tower AR совместим практически со всеми поддерживаемыми телефонами, и вы можете использовать его, чтобы немного отдохнуть от скучного дня.
7. Пивной понг AR
The Beer Pong AR — это простая игра, в которой вы пытаетесь поместить шарик в стаканчики, но все это виртуально и с помощью задней камеры телефона. Благодаря ARCore стало возможным перенести игровую площадку на плоскую поверхность рядом с вашим окружением. Приложение Beer Pong AR все еще находится на начальной стадии, поэтому вы можете столкнуться с несколькими ошибками и найти его сложным.
8. Дополненная реальность BigBang
Вы любопытное существо, которое хочет узнать и испытать создание и эволюцию вселенной? Если да, вам понравится это приложение. Он разработан CERN, той же организацией, занимающейся ядерными исследованиями, что и Большой адронный коллайдер. Визуальные элементы завораживают. Советуем надеть наушники, чтобы погрузиться в визуал вместе с возвышенным голосом Тильды Суинтон. Вы также можете включить субтитры. Вы также можете записывать взаимодействия в смешанной реальности.
9. Порше Миссия E
Это особый выбор для всех автомобильных энтузиастов. Эта инновационная инициатива мирового бренда позволяет вам исследовать спортивный автомобиль Mission E в любое время и в любом месте. Вы можете исследовать салон и экстерьер автомобиля, пройти тест-драйв с дополненной реальностью. Черт возьми, вы даже можете освоить технологии зарядки и вождения в режиме X-Ray.
10. Карта звездного неба
Этот портативный планетарий использует дополненную реальность для идентификации звезд, планет, туманностей и многого другого. Первоначальная калибровка может занять некоторое время и перемещение устройства. Но после этого поворота он может показать вам звезды и другие космические объекты в направлениях, на которые указывает ваша камера. Попробуйте это в ночное время для лучшего опыта по очевидным причинам.
Вы также можете попробовать: Звездная карта
Полезные игры и приложения Google ARCore для телефонов Android
В Play Маркете есть бесконечное количество приложений ARCore, но не все из них совместимы со всеми телефонами. Надеюсь, они будут и в будущем. А пока наслаждайтесь этими вариантами и дайте нам знать, что вы думаете о них в разделе комментариев ниже.
В этой статье мы углубимся в мир дополненной реальности Android, т. е. дополненной реальности, в частности ARCore, платформы Google для создания дополненной реальности. Мы увидим, как ARCore преобразует разработку приложений дополненной реальности, абстрагируя сложную матричную и векторную математику и предоставляя нам прекрасные API-интерфейсы для разработки дополненной реальности.
Содержание
- Что такое дополненная реальность?
- Что такое ARCore?
- Форма сцены
- Создание вашего первого приложения дополненной реальности для Android
- Настройка
- Добавление ArFragment
- Построение модели
- Добавление модели в сцену дополненной реальности.
- Что дальше?
Для начала давайте посмотрим, что такое дополненная реальность и почему мы, разработчики, должны быть в восторге от этой новой технологии!
Что такое дополненная реальность?
Согласно определению словаря, дополненная реальность — это «технология, которая накладывает сгенерированное компьютером изображение на представление пользователя о реальном мире, тем самым обеспечивая составное представление».
По сути, дополненная реальность — это технология, которая позволяет нам отображать сгенерированные компьютером модели 3D-объектов в реальном мире и заставлять их взаимодействовать с окружающей средой так, как если бы они физически присутствовали в одном и том же месте.
Эта технология широко применяется в следующих областях:
Несколько лет назад разработка приложений дополненной реальности подразумевала изучение OpenGL и сложную векторную математику. В 2018 году Google выпустил ARCore вместе с SDK Sceneform (для Android), чтобы упростить разработку дополненной реальности для всех. Итак, давайте посмотрим, что может предложить ARCore.
Что такое ARCore?
Согласно определению, предоставленному Google, ARCore – это платформа для создания дополненной реальности для Android.Он позволяет вашему телефону ощущать окружающую среду, понимать мир и взаимодействовать с информацией.
ARCore работает по трем принципам:
- Отслеживание движения. Позволяет телефону определить свое текущее положение относительно реального мира.
- Понимание окружающей среды. Позволяет телефону определять размер и расположение всех типов поверхностей: вертикальных, горизонтальных и наклонных.
- Оценка освещения. Позволяет телефону определять условия освещения окружающей среды.
Когда пользователь перемещает свой телефон в реальном мире, ARCore может понимать его окружение и эмулировать реальный мир в цифровом виде, в котором он может размещать объекты. Отслеживание движения помогает ARCore идентифицировать функции, которые позволяют ему отслеживать свое местоположение по отношению к реальной среде.
На данный момент ARCore доступен для:
- Java (Android)
- Unity (iOS и Android)
- Нереальный движок
- iOS
Этот список охватывает большинство устройств и платформ для разработки приложений дополненной реальности.
Форма сцены
ARCore сам по себе не является SDK, а представляет собой механизм, помогающий SDK отображать объекты. Поэтому, чтобы использовать эту функцию, Google выпустила SDK Sceneform, чтобы разработчики могли создавать приложения дополненной реальности для Android, не изучая OpenGL.
Sceneform имеет множество отличных функций, таких как:
- Автоматическая проверка совместимости для телефонов с поддержкой ARCore.
- Проверка разрешений для камеры.
- API графа сцены для абстрагирования всех сложностей.
- Подключаемый модуль для управления 3D-объектами.
Теперь мы углубимся в создание примера приложения дополненной реальности для Android с помощью Sceneform. Это поможет вам лучше понять Sceneform и ARCore.
Создание вашего первого приложения дополненной реальности для Android
В этом разделе мы создадим простое приложение дополненной реальности для Android и визуализируем некоторые 3D-объекты в реальном мире.
Настройка
Вот как будет выглядеть готовое приложение:
Давайте приступим к делу и начнем с создания нового проекта с пустой активностью.
Добавление плагина формы сцены
Вам потребуется установить подключаемый модуль Sceneform для Android Studio. Плагин Sceneform поможет вам с такими задачами, как импорт модели в ваш проект Android.
Чтобы установить подключаемый модуль, выполните следующие действия:
- Для пользователей Windows: выберите: Файл-> Настройки-> Плагины.
- Для пользователей macOS: выберите: Android Studio-> Настройки-> Плагины.
- Теперь введите «Sceneform» в строке поиска. Он будет находиться наверху под названием Google Sceneform Tools.
- Установите подключаемый модуль и перезапустите Android Studio.
Добавление зависимостей
Добавьте следующие зависимости в файл build.gradle на уровне приложения:
Важное примечание: SDK Sceneform требует, чтобы minSdkVersion был больше или равен 24. Поэтому убедитесь, что вы установили minSdkVersion>= 24. Кроме того, убедитесь, что вы включили репозиторий Maven в свой уровень проекта build.gradle.< /p>
Обновление манифеста
Добавьте следующие строки в файл AndroidManifest.xml:
Для использования ARCore требуется разрешение камеры и телефон с камерой (очевидно).
Кроме того, добавьте метаданные в тег приложения:
Если для вашего приложения строго требуется, чтобы на устройстве была включена функция ARCore, задайте required = true, а если AR не является основной функцией или вы обеспечили совместимость с несовместимыми устройствами, вы можете установить required = false.
В предыдущем посте я объяснил, что такое ARCore и как он помогает разработчикам создавать потрясающие приложения с дополненной реальностью, не разбираясь в математике OpenGL или Matrix.
Если вы еще не проверили ее, я настоятельно рекомендую сделать это, прежде чем переходить к этой статье и углубляться в разработку приложений ARCore.
Обзор
Согласно Википедии, ARCore – это пакет средств разработки программного обеспечения, разработанный Google, который позволяет создавать приложения дополненной реальности.
ARCore использует три ключевые технологии для интеграции виртуального контента с реальной средой:
- Отслеживание движения: позволяет телефону определять свое положение относительно мира.
- Понимание окружающей среды: это позволяет телефону определять размер и расположение всех типов поверхностей, вертикальных, горизонтальных и наклонных.
- Оценка освещения: позволяет телефону оценивать текущие условия освещения в помещении.
Начало работы
Чтобы начать разработку приложений ARCore, сначала необходимо включить ARCore в своем проекте. Это просто, так как мы будем использовать Android Studio и SDK Sceneform. Есть две основные операции, которые Sceneform выполняет автоматически:
- Проверка доступности ARCore
- Запрос разрешения камеры
Вам не нужно выполнять эти два шага при создании приложения ARCore с помощью SDK Sceneform. Но вам необходимо включить SDK Sceneform в свой проект.
Создайте новый проект Android Studio и выберите пустое действие.
Добавьте следующую зависимость в файл build.gradle уровня проекта:
Добавьте в файл build.gradle на уровне приложения следующее:
Теперь синхронизируйте проект с файлами Gradle и дождитесь завершения сборки. Это установит SDK Sceneform в проект и подключаемый модуль Sceneform в AndroidStudio. Это поможет вам просмотреть файлы .sfb. Эти файлы представляют собой 3D-модели, которые отображаются в вашей камере. Он также помогает импортировать, просматривать и создавать 3D-объекты.
Создание вашего первого приложения ARCore
Теперь, когда наша установка Android Studio завершена и SDK Sceneform установлен, мы можем приступить к написанию нашего самого первого приложения ARCore.
Во-первых, нам нужно добавить фрагмент Sceneform в наш файл макета. Это будет сцена, в которую мы поместим все наши 3D-модели. Он занимается инициализацией камеры и обработкой разрешений.
Перейдите к основному файлу макета. В моем случае это activity_main.xml и добавьте фрагмент Sceneform:
Я установил ширину и высоту в соответствии с родительским элементом, так как это будет охватывать все мои действия. Вы можете выбрать размеры в соответствии с вашими требованиями.
Проверка совместимости
Это все, что вам нужно сделать в файле макета. Теперь перейдите к java-файлу, в моем случае это MainActivity.java. Добавьте метод ниже в свой класс:
Этот метод проверяет, поддерживает ли ваше устройство SDK Sceneform. Для SDK требуется Android API уровня 27 или новее и OpenGL ES версии 3.0 или новее. Если устройство не поддерживает эти два параметра, сцена не будет отображаться, и ваше приложение покажет пустой экран.
Тем не менее, вы по-прежнему можете предоставлять все остальные функции своего приложения, для которых не требуется SDK Sceneform.
Теперь, когда проверка совместимости устройств завершена, мы создадим нашу 3D-модель и прикрепим ее к сцене.
Добавление объектов
Вам нужно будет добавить 3D-модели, которые будут отображаться на вашем экране. Теперь вы можете создавать эти модели самостоятельно, если вы знакомы с созданием 3D-моделей. Или вы можете посетить Poly.
Там вы найдете огромный репозиторий 3D-объектов на выбор. Их можно скачать бесплатно. Просто отметьте автора, и все готово.
В Android Studio разверните папку приложения, доступную на левой панели проекта. Вы заметите папку «sampledata». В этой папке будут храниться все ресурсы вашей 3D-модели. Создайте папку для своей модели в папке с демонстрационными данными.
Когда вы загружаете zip-файл с сайта poly, вы, скорее всего, найдете 3 файла.
Наиболее важным из этих трех является файл .obj. Это ваша реальная модель. Поместите все 3 файла внутрь sampledata -> «папка вашей модели».
Теперь щелкните правой кнопкой мыши файл .obj. Первый вариант — импортировать актив сцены. Нажмите на нее, не меняйте настройки по умолчанию, просто нажмите «Готово» в следующем окне. Ваш градиент будет синхронизироваться, чтобы включить актив в папку активов. Как только сборка Gradle завершится, все готово.
Вы завершили импорт 3D-объекта, используемого Sceneform в вашем проекте. Далее давайте создадим ресурс из нашего кода и включим его в сцену.
Построение модели
Добавьте следующий код в файл MainActivity.java (или любой другой в вашем случае). Не волнуйтесь, я объясню весь код построчно:
Сначала мы находим фрагмент arFragment, который мы включили в файл макета. Этот фрагмент отвечает за размещение сцены. Вы можете думать об этом как о контейнере нашей сцены.
Далее мы используем класс ModelRenderable для построения нашей модели. С помощью метода setSource мы загружаем нашу модель из файла .sfb. Этот файл был сгенерирован, когда мы импортировали активы. Метод thenAccept получает модель после ее построения. Мы устанавливаем загруженную модель в нашу лампуPostRenderable.
Для обработки ошибок у нас есть метод .exceptionally. Он вызывается в случае возникновения исключения.
Все это происходит асинхронно, поэтому вам не нужно беспокоиться о многопоточности или иметь дело с обработчиками XD
Загрузив модель и сохранив ее в переменной lampPostRenderable, мы добавим ее в нашу сцену.
Добавление модели в сцену
Арфрагмент arFragment содержит нашу сцену и будет получать события касания. Таким образом, нам нужно установить прослушиватель onTap для нашего фрагмента, чтобы зарегистрировать касание и соответствующим образом разместить объект. Добавьте следующий код в метод onCreate:
Мы устанавливаем onTapArPlaneListener на наш фрагмент AR. Далее вы видите синтаксис Java 8. Если вы не знакомы с ним, я бы порекомендовал ознакомиться с этим руководством.
Сначала мы создаем нашу привязку из HitResult с помощью hitresult.createAnchor() и сохраняем ее в объекте Anchor.
Далее создайте узел из этой привязки. Он будет называться AnchorNode. Он будет прикреплен к сцене, вызвав для него метод setParent и передав сцену из фрагмента.
Теперь мы создаем TransformableNode, который будет нашим фонарным столбом, и устанавливаем его в точку привязки или наш узел привязки. Узел по-прежнему не имеет никакой информации об объекте, который он должен отображать. Мы передадим этот объект с помощью метода lamp.setRenderable, который принимает объект рендеринга в качестве параметра. Наконец, вызовите lamp.select();
Фу!! Слишком много терминологии, но не волнуйтесь, я все объясню.
- Сцена: это место, где будут отображаться все ваши 3D-объекты. Эта сцена размещена во фрагменте дополненной реальности, который мы включили в макет. К этому экрану прикреплен узловой узел, который действует как корень дерева, а все остальные объекты отображаются как его объекты.
- HitResult: это воображаемая линия (или луч), идущая из бесконечности, которая дает точку пересечения себя с реальным объектом.
- Якорь. Якорь — это фиксированное положение и ориентация в реальном мире. Его можно понимать как координату x, y, z в трехмерном пространстве. Вы можете получить информацию о посте анкора из него. Поза — это положение и ориентация объекта в сцене. Это используется для преобразования локального координатного пространства объекта в реальное координатное пространство.
- AnchorNode: это узел, который автоматически позиционирует себя в мире. Это первый узел, который устанавливается при обнаружении плоскости.
- TransformableNode: это узел, с которым можно взаимодействовать. Его можно перемещать, масштабировать, вращать и многое другое. В этом примере мы можем масштабировать лампу и вращать ее. Отсюда и название Transformable.
Здесь нет ракетостроения. Это очень просто. Всю сцену можно представить в виде графа со сценой в качестве родителя, AnchorNode в качестве его дочернего элемента, а затем разветвленными различными узлами/объектами для отображения на экране.
Ваш окончательный файл MainActivity.java должен выглядеть примерно так:
Поздравляем!! Вы только что завершили свое первое приложение ARCore. Начните добавлять объекты и увидите, как они оживают в реальном мире!
Это был ваш первый опыт создания простого приложения ARCore с нуля с помощью Android Studio. В следующем уроке я буду углубляться в ARCore и добавлять в приложение дополнительные функции.
Если у вас есть какие-либо предложения или темы, по которым вы хотели бы получить руководство, просто укажите их в разделе комментариев, и я буду рад помочь.
Нравится то, что вы читаете? Не забудьте поделиться этой публикацией в Facebook, Whatsapp и LinkedIn.
Вы можете следить за мной в LinkedIn, Quora, Twitter и Instagram, где я отвечаю на вопросы, связанные с разработкой для мобильных устройств, особенно Android и Flutter.
Читайте также: