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

Шрифт
Интервал


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 изменим код добавления маркера.

@Override

public boolean configureARScene () {


markerID = ARToolKit.getInstance().addMarker («nft; Data/gibraltar»);

if (markerID <0) return false;


return true;