Тимур Машнин - Разработка Android-приложений с Augmented Reality
- Название:Разработка Android-приложений с Augmented Reality
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:9785448380907
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Тимур Машнин - Разработка Android-приложений с Augmented Reality краткое содержание
Разработка Android-приложений с Augmented Reality - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
В каталоге Plugins/Android откроем файл манифеста AndroidManifest. xml и в атрибуте package введем com. [Company Name]. [Product Name]. После этого нажмем Build и соберем APK файл Android приложения.
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 изменим код добавления маркера.
@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.
Скачаем и установим OpenSpace3D, а также дополнительные пакеты (http://www.openspace3d.com/lang/en/support/download/). При этом будет создан каталог для OpenSpace3D проектов C:\Users\user\Documents\OpenSpace3D.
После скачивания и установки дистрибутива OpenSpace3D, откроем OpenSpace3D редактор.

В правом верхнем углу, в меню Preferences выберем язык интерфейса редактора.
В качестве примера откроем готовую сцену tutorial01_quickstart. xos папки OpenSpace3D\demos\tutorial с помощью меню Open scene или с помощью меню Import scene.


Приблизим ящик сцены – это будет узел cardboard сцены и нажмем правой кнопкой мышки.

Выберем Set physic.

Увидим, что для этого объекта выбран Body type shape и установлена масса 0.1 кг.
Выберем узел cave сцены, нажмем правой кнопкой мышки и выберем Set physic.


Увидим, что для этого объекта выбран Body type collisionTree.
Нажмем правой кнопкой мышки на узле Scene и выберем Set physic setting.

Увидим, что физика включена при проигрывании сцены, а значение ускорения свободного падения установлено как -9.8. Если минус поменять на плюс, тогда ящики окажутся на потолке.
В зоне редактирования функций щелкнем два раза на сцене и во вкладке Scene увидим, что подключен компонент FPS Like Controller, обеспечивающий перемещение в сцене от первого лица.

FPS like Controller PlugIT можно подключить, нажав правой кнопкой мышки в зоне редактирования функций вкладки Scene и выбрав navigation/FPS like controller. Удалить компонент можно кнопкой Delete клавиатуры.

Щелкнув два раза на компоненте FPS like controller, можно установить его свойства, такие как угол камеры, скорость передвижения и др.
Читать дальшеИнтервал:
Закладка: