Введение
Я играл с ARCore SDK, чтобы создать несколько довольно простых приложений AR для Android. После того, как я попробовал это, мне захотелось поделиться тем, что я узнал до сих пор. В этом посте я сосредоточусь на том, как вы можете начать работу с ARCore SDK для Android, и вы создадите очень простое приложение AR. Приложение, которое мы собираемся создать, поместит AR Coffee на плоскую поверхность.
Предпосылки
- Базовый опыт разработки приложений для Android
- Эмулятор или устройство, поддерживающее ARCore
- Android-студия IDE
И здесь мы идем…
Шаг 1: Создание проекта Android
- Запустите новый проект Android и выберите «Пустая активность» на следующей странице.
- Выберите «Минимальный SDK» как «Нуга» (необходимо) и выберите место для сохранения проекта.
Шаг 2: Добавьте необходимые зависимости в файлы Gradle.
- Добавьте следующие зависимости в файл build.gradle(Module: app)
implementation 'com.google.ar:core:1.18.0'
implementation 'com.google.ar.sceneform.ux:sceneform-ux:1.17.1'
implementation 'com.google.ar.sceneform:core:1.17.1'
implementation "com.google.ar.sceneform:animation:1.17.1"
implementation 'com.google.android.material:material:1.3.0-alpha02'
- Примените плагин в файле build.gradle(Module: app)
apply plugin: 'com.google.ar.sceneform.plugin'
- Добавить параметры компиляции в тот же файл
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
- Теперь откройте файл Project Gradle и добавьте следующую зависимость.
classpath 'com.google.ar.sceneform:plugin:1.17.1'
Шаг 3: Синхронизация файлов Gradle и сборка нашего проекта.
После выполнения шага 2 синхронизируйте файлы Gradle и перестройте проект. Вы можете проверить эту ссылку, если у вас есть сомнения.
Шаг 4: Добавление разрешений в манифест.
- Добавьте приведенный ниже тег метаданных под тегом приложения в файле AndroidManifest.xml.
<meta-data android:name="com.google.ar.core" android:value="required"/>
- Кроме того, добавьте теги использования-разрешения и использования-функции в файл манифеста.
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:glEsVersion="0x00030000" android:required="true"/>
<uses-feature android:name="android.hardware.camera.ar"/>
Шаг 5: Кодирование пользовательского интерфейса (XML-файл макета)
Я внедрил код здесь. Это очень простой фрагмент внутри макета координатора.
На следующих шагах мы будем загружать модели в наше приложение, настраивать наш эмулятор и размещать объект AR на реальной плоскости/поверхности.
Шаг 6: Создайте AVD и убедитесь, что настройки такие же, как указано на изображении ниже.
После этого шага установите Play Services App for Emulator, если вы используете приложение на эмуляторе.
Если вы запускаете его на физическом устройстве, установите на него Play Services App.
Шаг 7:
- Скачать Модель с poly.google.com
- Я скачал Модель кофейной чашки, спасибо Poly от Google.
- Убедитесь, что вы загрузили файл .obj, а также не забудьте указать создателя 3D-объекта в приложении, которое вы создаете.
- Создайте каталог внутри вашего приложения с именем sampledata. Создайте подкаталог с именем models внутри sampledata. Загруженный 3D-объект будет zip-файлом. Извлеките содержимое zip в каталог. После этого шага каталог будет выглядеть так.
- Теперь, чтобы импортировать этот ресурс, включите приведенный ниже код в файл Gradle вашего приложения под операторами применения плагина.
sceneform.asset(
'sampledata/models/CHAHIN_COFFEE_CUP.obj',
'default',
'sampledata/models/CHAHIN_COFFEE_CUP.sfa',
'src/main/res/raw/coffeecup'
)
- Синхронизируйте Gradle и перестройте проект.
Шаг 8: Установка плагинов
Установите плагин Google Sceneform Tools.
Теперь щелкните правой кнопкой мыши файл .obj и импортируйте объект Sceneform.
Шаг 9: Кодирование MainActivity.kt
Я добавил комментарии к коду для лучшего понимания. Код довольно понятен. Этот код обнаруживает нажатие на плоскость, обнаруженную в ARFragment, и добавляет модель в сцену AR.
Шаг 10: Запустите проект
Запустите приложение на эмуляторе или физическом устройстве и получайте удовольствие, добавляя модели в свою сцену. Ваше простое приложение дополненной реальности готово.
Скриншоты рабочего приложения:
Если у вас есть сомнения, ознакомьтесь с этим проектом в репозитории Github или оставьте комментарий ниже.
Кроме того, не стесняйтесь комментировать ниже другие интересные идеи приложений AR, и я буду рад сотрудничать с вами. 😁 😁
Спасибо philipplackner_official за его потрясающий курс по дополненной реальности для Android.