Размер шрифта
-
+

Разработка Android-приложений с Augmented Reality - стр. 6

ARToolKit для Android

Скачаем и установим:

Java Development Kit 1.7+

Android Studio IDE 1.5.x+

Android SDK

Git

При установке Git в окне Adjusting your PATH environment выберем Use Git from Git Bash only, в окне Configuring the line ending conversions выберем Checkout Windows-style, commit Unix-style line ends.

Для установки Android NDK откроем Android Studio и в меню File откроем Project Structure.

Воспользуемся ссылкой Download Android NDK.



В результате в каталоге Android SDK будет создана папка ndk-bundle, содержащая Android NDK.

Установим переменные среды.

ANDROID_HOME = …\android-sdks

ANDROID_NDK_ROOT = %ANDROID_HOME%\ndk-bundle

NDK = %ANDROID_HOME%\ndk-bundle

;%NDK%\ добавить в Path

Из GitHub скачаем и распакуем artoolkit5 и в папке artoolkit5\android запустим Git скрипт build.sh и build_native_examples.sh.

Возможно, в скрипте нужно будет вывести переменную $WinsVerNum и поменять ее значение в коде $WinsVerNum = «6.3».

else #Checking for Windows in a non-cygwin dependent way.

WinsOS=

if [[$OS]]; then

WinsVerNum=$ {OS##*-}

echo $WinsVerNum

if [[$WinsVerNum = «10.0» || $WinsVerNum = «6.3»]]; then

if [[$WinsVerNum = «10.0»]]; then

WinsOS=«Wins10»

else

WinsOS=«Wins8.1»

fi

echo Building on Microsoft $ {WinsOS} Desktop \ ($ {ARCH} \)

export HOST_OS=«windows»

NDK_BUILD_SCRIPT_FILE_EXT=".cmd»

CPUS=`/usr/bin/nproc`

fi

fi

fi


if [[! $CPUS]]; then


echo **Development platform not supported, exiting script**

read -rsp $«Press enter to continue…\n’

exit 1

В результате будет сгенерирована папка libs с файлами libARWrapper.so и libc++_shared.so для различных CPU архитектур в папке artoolkit5\android, а также в проектах каталога artoolkit5\AndroidStudioProjects.

Откроем Android Studio и откроем проект ARSimpleProj каталога AndroidStudioProjects.

В меню File откроем Project Structure и увидим, что модуль аRSimple имеет зависимость от модуля аRBaseLib, представленного проектом ARBaseLibProj. Если этой зависимости нет, ее нужно добавить с помощью меню File/Project Structure.

Библиотека ARBaseLib предоставляет Java классы ARToolKit, ARActivity и ARRenderer для создания ARToolKit приложения и обеспечивает с помощью JNI связь с нативной C++ библиотекой ARWrapper, представленной файлами libARWrapper.so и libc++_shared.so, которая управляет жизненным циклом ARToolkit приложения, включая инициализацию, добавление маркеров и др.

При создании своего ARToolKit приложения, в каталог src\main проекта нужно включить папку libs с файлами libARWrapper.so и libc++_shared.so для различных CPU архитектур, а также добавить зависимость от модуля аRBaseLib с помощью меню File/Project Structure/Add a new module/Import. JAR/.AAR Package/AndroidStuiodProjects/ARBaseLibProj/arBaseLib/build/outputs/aar/ ARBaseLib. aar.

Документация API библиотеки ARBaseLib находится в папке AndroidStudioProjects\ARBaseLibProj\doc.

При запуске приложения ARSimple, при наведении камеры устройства на маркер, будет появляться 3D объект – куб.

Из предыдущего раздела ARToolKit плагин для Unity возьмем изображение gibraltar.jpg и инструмент genTexData. exe и создадим набор данных маркера.

genTexData. exe gibraltar.jpg

Поместим файлы. iset,.fset и. fset3 в папку AndroidStudioProjects\ARSimpleProj\aRSimple\src\main\assets\Data.

В классе SimpleRenderer изменим код добавления маркера.

Страница 6