Научная статья на тему 'Первые шаги разработки дополненной реальности'

Первые шаги разработки дополненной реальности Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
375
89
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
AUGMENTED REALITY / UNITY 3D / VUFORIA / EASYAR / APP STORE / GOOGLE PLAY / ДОПОЛНЕННАЯ РЕАЛЬНОСТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Демедюк Александр Сергеевич

Существует множество различных статей и уроков по разработке дополненной реальности, и все направленные на одну задачу, поместить объект на марке, но когда доходит дело до публикации приложения в магазины Google Play и App Store, то появляются не предсказуемые проблемы где сложно найти решения. В данной статье рассматриваются основные проблемы от начала разработки до её публикации в магазин.There are many different articles and lessons devoted to the development of augmented reality, all of them are in the same task, and when you need to continue publishing applications on the Google Play and App Store, that is, potential problems cannot be predicted. This article describes the main problems from the beginning of development to its publication in the store.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Первые шаги разработки дополненной реальности»

УДК 004.4'275

Информационные технологии

Демедюк Александр Сергеевич, магистр информатики и вычислительной техники, ФГБОУ ВО «Хакасский государственный университет им. Н.Ф.

Катанова», Россия, г. Абакан

ПЕРВЫЕ ШАГИ РАЗРАБОТКИ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ

Аннотация: Существует множество различных статей и уроков по разработке дополненной реальности, и все направленные на одну задачу, поместить объект на марке, но когда доходит дело до публикации приложения в магазины Google Play и App Store, то появляются не предсказуемые проблемы где сложно найти решения. В данной статье рассматриваются основные проблемы от начала разработки до её публикации в магазин.

Ключевые слова: дополненная реальность, Unity 3D, Vuforia, EasyAR, App Store, Google Play.

Abstract: there are many different articles and lessons devoted to the development of augmented reality, all of them are in the same task, and when you need to continue publishing applications on the Google Play and App Store, that is, potential problems cannot be predicted. This article describes the main problems from the beginning of development to its publication in the store.

Keywords: augmented reality, Unity 3D, Vuforia, EasyAR, App Store, Google

Play.

Введение. Если идет речь о дополненной реальности, значит приложение разрабатывается для мобильных платформ Android и IOS, т.к. данные устройства идеально для этого подходят.

Для разработки мобильных приложений существуют ряд правил, к которым нужно придерживаться:

-приложение должно как можно меньше занимать места на флеш-памяти; -приложение должно как можно равномерней заполнять оперативную память;

-чем меньше нагрузка на процессор и видеочип, тем больше устройств будет поддерживать данное приложение;

Разберем как работает дополненная реальность. При помощи мобильного устройства у которого имеется объектив камеры, наводится на изображение и на экране телефона можно увидеть различную виртуальную информацию, это может быть текстовая информация или мультимедийная. Как это происходит? Чтобы разместить какой-либо виртуальный объект, нужно заранее подготовить маркер (изображение или объемный объект с текстурой), главным критерием, маркер не должен бликовать или отражающиеся поверхность, должен иметь как можно больше детализации. При помощи специального алгоритма, анализируется маркер в черно белом спектре и делает след из точек где есть большая контрастность, чем разнообразнее детализация изображения тем больше точек и тем лучше будет позиционирование объекта. На маркер накладывается дочерний виртуальный объект [1].

Рис. 1. Маркер в черно белом спектре

При помощи объектива телефона, алгоритм получает изображение и накладывает на след из точек, полеченных из маркера, и когда находит совпадение, на изображении накладывается виртуальный объект, при этом

алгоритм рассчитывает расстояние между точками, что позволяет точно закрепить объект. Когда камера отдаляется от маркера, виртуальный объект тоже отдаляется. Как только маркер пропадает из поле зрения объектива, объект скрывается.

Есть еще плагины дополненной реальности, которые не требуют наличие маркеров, позиционирование происходит за счет распознавания поверхности и датчика гироскопа. Это дает возможность рассматривать виртуальный объект под любым углом. Данный плагин работает только на современных смартфонах, что уменьшает круг пользователей.

Основная часть. Первым шагом разработки приложения нужно выбрать среду разработки. Для Android это Android Studio, а для IOS это Xcode. В профессиональных студиях с большим опытом, прекрасно знают, что для разработки мобильных приложений нужно минимум два программиста, один разрабатывает приложение на Android, а другой для IOS. Так как данные платформы отличаются друг от друга, и приложения разрабатываются по-разному. Но если вы один и хотите разработать приложение для двух платформ разом, то вам понадобится кроссплатформенная среда разработки такие как Xamarin, Unity и Unreal Engines. Используя кроссплатформенность, данное приложение будет больше занимать места на флеш-памяти, т.к будут использоваться библиотеки для двух платформ [2, 3, 5, 6].

Дополненная реальность считается мультимедийным приложением и для поставленной задачи понадобятся инструменты анимации, партикуляры и другие для оживления сцены. Из перечисленных среды разработки, подходят Unity или Unreal Engine. Но т.к разрабатываемое приложение предназначена для мобильных устройств, Unity идеально подходит для данной задачи.

После выбора среды разработки, следующим шагом будет разработка плагина, отвечающий за захват видео кадра, распознавание кадра и позиционирование объекта на данный кадр. Но можно воспользоваться уже готовыми плагинами и сэкономить время. На сегодняшний день существуют

два плагина разработаны для Unity, это Vuforia и EasyAR. Рассмотрим каждый по подробнее [7, 8].

Vuforia платформа дополненной реальности уже интегрированна в среду разработки Unity, и для работы с ней не требуется дополнительных настроек нужно только поставить галочку в настройках. Для работы с данной платформой требуется обязательная регистрация на портале разработчика developer.vuforia.com, это нужно для приобретения лицензионного ключа и публикации маркера. Лицензионный ключ копируется в файл размещенный в плагине. Маркеры, загруженные в портал, заранее обрабатываются алгоритмом и скачиваются специальным пакетом для Unity. После распаковки в ImageTarget выбирается пакет маркеров. В одном пакете может быть несколько маркеров. Размещенный на сцене ImageTarget позволяет отображать только один объект, если нужно отображать сразу два объекта, то понадобится два ImageTarget. В настройках ARCamera настраивается максимальное число распознавание маркеров. Данная платформа позволяет загружать облачные маркеры, которые не требуют распаковки в Unity. Страна разработки данного продукта США.

EasyAR платформа дополненной реальности скачивается с портала разработчика easyar.com и прилагается инструкция по внедрению в среду разработки Unity, также требуется вэб-камера с разрешением не меньше 720р. Для работы с данной платформой требуется обязательная регистрация на портале разработчика, это нужно для приобретения лицензионного ключа. Лицензионный ключ копируется в файл размещенный в плагине. Маркеры обрабатываются алгоритмом в самом приложении, поэтому загружаются в проект Unity. В данном плагине ImageTarget указывается имя одного маркера, который и будет обрабатываться, поэтому на каждый маркер понадобится отдельный ImageTarget. В настройках ARCamera настраивается максимальное число распознавание маркеров. Данная платформа позволяет загружать облачные маркеры, которые не требуют загрузки в проект Unity. Страна разработки данного продукта Китай.

На первый взгляд Vuforia покажется идеальной платформой для дополненной реальности, но есть один нюанс, он не бесплатный, есть версия для разработки, но она не позволяет публиковать ваше приложение в магазинах. Для этого нужно купить лицензию, и так вышло, что для России она будет стоить очень дорого. Письмо от разработчиков " For Russia we can only sell PRO licenses. The only problems that we have with this territory is with the 504$ from the website( and Cloud for 99$) => due to the fact that PTC only sells licenses through our web site out of PTC Inc., which is a US based company, and as such, we can only sell to registered VAT businesses in the EU. A PRO starts from 25 000 EUR/year". В свою очередь EasyAR есть бесплатная базовая версия, которая вполне достаточно для небольшого проекта, но если желаете приобрести полный пакет, в котором есть облачные маркеры, то это будет стоить 499$. При этом это разовая покупка [7; 8].

Разработка мобильных приложений требует внимания не только к качеству виртуальных моделей, но и к написанию программного кода. Одна из распространенных ошибок - загрузка объектов на сцену вместе со сценой. Все объекты, находящиеся на сцене, тратят оперативную память, что для мобильных устройств очень ограничено, нужно рассматривать не только производительные смартфоны, но и смартфоны с меньшей производительностью, чтобы охватить большую часть пользователей. Решение этой проблемы - написать скрипт, который подгружает объекты из основной памяти в оперативную память т.е на сцену. И когда объект не входит в поле видимости пользователя, он уничтожается, тем самым освобождая память, также, когда объект виден пользователю, объект создается.

После того как разработали приложение, нужно разместить в магазин Google Play и App Store. Но и здесь есть свои критерии и правила которые нужно выполнить обязательно. Для начала нужно купить аккаунт разработчика. Обратите внимания, что зарегистрировать могут лица, достигшие 18 лет. Для Google Play это будет стоить 25$ и это разовая покупка. Для App Store это будет стоить 99$ в год. Такая цены связана с тем, что модерацию вашего приложения

тщательно поверяют реальные люди, и с первого раза приложение может не пройти проверку, даже если на Google Play приложение пошло проверку успешно. Но у Google Play тоже есть свои сложности публикации, создавая проект приложения, нужно создать защитный ключ, также в настройках должна настроена совместимость с 64 разрядным процессором, API должна стоять самая новая, не настроив эти параметры приложение не пройдет проверку. Для размещения приложения на Google Play, нужно войти в Google Developers Console и нажать создать проект, далее заполняете форму и публикуете. Действия с App Store проходят на оборот, нужно сначала войти в App Store Connect настроить сертификат приложения и загрузить его в свой проект, загрузка сертификатов происходит через Xcode. Созданный проект на Unity при компиляции для IOS не загружает проект отдельным файлом или напрямую в IPhone, он создает файлы для Xcode редактора где и будет производиться публикация приложения. Когда проект откроется в Xcode нужно настроить Info.plist, этот фал отвечает за разрешение прав доступа к периферии устройства, в данном случаи нужно в список добавить разрешение включение камеры устройства, а также если используете плагин EasyAR, нужно в Build Settings поставить значение No в параметре Enable Bitcode. После этого добавляете проект в архив и после нажатия загрузить появится окно с сертификатами приложений, после выбора сертификата приложение загружается в App Store. После прохождения модерации приложение станет доступным для всех пользователей.

Выводы. В данной статье выделены основные моменты на которое нужно обратить внимания. По каждым моментам можно более подробно посмотреть на других статьях или на You Tube.

Библиографический список:

1. AR — Дополненная Реальность (статья плюс ролик) [Электронный ресурс]: — Режим доступа: https://habr.com/ru/post/419437/, (дата обращения к ресурсу: 20.02.2019.).

2. Android Studio [Электронный ресурс]: — Режим доступа: https://developer.android.com/studio/, (дата обращения к ресурсу: 20.02.2019.).

3. Xcode [Электронный ресурс]: — Режим доступа: https://developer.apple.com/xcode/, (дата обращения к ресурсу: 20.02.2019.).

4. Xamarin [Электронный ресурс]: — Режим доступа: https://dotnet.microsoft.com/apps/xamarin, (дата обращения к ресурсу: 20.02.2019.).

5. Unity [Электронный ресурс]: — Режим доступа: https://unity.com/ru, (дата обращения к ресурсу: 20.02.2019.).

6. Unreal Engines [Электронный ресурс]: — Режим доступа: https://www.unrealengine.com/en-US/, (дата обращения к ресурсу: 20.02.2019.).

7. Vuforia [Электронный ресурс]: — Режим доступа: https://developer.vuforia.com/, (дата обращения к ресурсу: 20.02.2019.).

8. EasyAR [Электронный ресурс]: — Режим доступа: https://www.easyar.com/, (дата обращения к ресурсу: 20.02.2019.).

i Надоели баннеры? Вы всегда можете отключить рекламу.