Тимур Машнин - Разработка Android-приложений с Augmented Reality стр 5.

Шрифт
Фон

Нажмем правой кнопкой мышки на объекте Scene root и прикрепим к нему дочерний объект Camera.



Перетащим из папки Scripts в объект Camera скрипт ARCamera, связывающий Unity камеру с AR контентом.

В свойствах объекта Camera в поле Culling Mask выберем 9 слой сцены.



Нажмем кнопку проигрывания сцены и поднесем к камере маркер  должен появиться 3D объект.

Для сборки Android приложения в меню File выберем Build Settings, кнопкой Add Open Scenes добавим нашу сцену, выберем платформу Android и нажмем кнопку Player Settings.

В поле Company Name введем имя пакета, в поле Product Name введем имя приложения, в разделе Other Settings в поле Bundle Identifier введем com. [Company Name]. [Product Name]. В других разделах введем остальные настройки приложения.

В каталоге 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, предоставляет набор свободного программного обеспечения для разработки проектов приложений виртуальной и дополненной реальности.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3