Название: Разработка Android-приложений с Augmented Reality
Автор: Тимур Машнин
Издательство: Издательские решения
Жанр: Компьютеры: прочее
isbn: 9785448380907
isbn:
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 изменим код добавления маркера.
@Override
public boolean configureARScene () {
markerID = ARToolKit.getInstance().addMarker («nft; Data/gibraltar»);
if (markerID <0) return false;
return true;
}
В файле модуля build.gradle увеличим значение versionCode для обновления кэша.
Теперь при наведении камеры устройства на простое изображение, будет появляться 3D объект – куб.
По умолчанию, свойства камеры устройства содержатся в файле camera_para. dat папки src\main\assets\Data проекта ARToolKit приложения. Параметры камеры устройства по умолчанию являются достаточными для базового отслеживания для широкого спектра различных камер.
OpenSpace3D
Проект OpenSpace3D, основанный на языке Scol 3D приложений режима реального времени и многопользовательских приложений и 3D-движке SO3Engine, предоставляет набор свободного программного обеспечения для разработки проектов приложений виртуальной и дополненной реальности.
В OpenSpace3D отсутствует возможность монетизации готового приложения и возможность экспорта сцены в распространенные форматы.
В OpenSpace3D есть возможность регистрации маркера динамически, на лету, также имеется Face Tracking.
Скачаем СКАЧАТЬ