Научная статья на тему 'РАЗРАБОТКА ПРИЛОЖЕНИЯ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ НА ПЛАТФОРМЕ UNREAL ENGINE 4'

РАЗРАБОТКА ПРИЛОЖЕНИЯ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ НА ПЛАТФОРМЕ UNREAL ENGINE 4 Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1087
90
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДОПОЛНЕННАЯ РЕАЛЬНОСТЬ / ПРОГРАММА / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / МОБИЛЬНОЕ ПРИЛОЖЕНИЕ / НАВИГАЦИЯ / ГОРОДСКАЯ СРЕДА / AUGMENTED REALITY / PROGRAM / SOFTWARE / MOBILE APP / NAVIGATION / URBAN ENVIRONMENT

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

Целью работы является разработка приложения дополненной реальности для решения навигационных задач в городской среде. Программное обеспечение создано на платформе Unreal Engine, программные модули системы реализованы на языке С++. Применение данных инструментальных средств позволяет портировать приложение на различные мобильные платформы, в том числе Android и iOS. Приложение предназначено для отображения интересных мест и маршрутов, исторических справок об архитектурных объектах города. Разработка может быть полезна как туристам, так и жителям города Новосибирска.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Долгочуб Евгений Александрович, Радкевич Алексей Станиславович, Бугаков Петр Юрьевич

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

DEVELOPMENT OF AN AUGMENTED REALITY APPLICATION BASED ON UNREAL ENGINE 4

The aim of the work is to develop an augmented reality application for solving navigation problems in an urban environment. The software was created in the Unreal Engine platform, the program modules of the system are implemented in C ++. The use of these tools allows porting the application to various mobile platforms, including Android and iOS. The application is designed to display places of interest and routes, historical information about architectural objects of the city. The application can be useful for both tourists and residents of the city of Novosibirsk.

Текст научной работы на тему «РАЗРАБОТКА ПРИЛОЖЕНИЯ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ НА ПЛАТФОРМЕ UNREAL ENGINE 4»

УДК 004.92

DOI: 10.33764/2618-981X-2020-7-1-77-83

РАЗРАБОТКА ПРИЛОЖЕНИЯ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ НА ПЛАТФОРМЕ UNREAL ENGINE 4

Евгений Александрович Долгочуб

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного 10, магистрант, тел. (913)932-07-05, e-mail: evgeniidolg@mail.ru

Алексей Станиславович Радкевич

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного 10, обучающийся, тел. (923)618-62-26, e-mail: svyat_ne_rad@gmail.com

Петр Юрьевич Бугаков

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного 10, кандидат технических наук, доцент кафедры картографии и геоинформатики, тел. (383)343-18-53, e-mail: peter-bugakov@yandex.ru

Целью работы является разработка приложения дополненной реальности для решения навигационных задач в городской среде. Программное обеспечение создано на платформе Unreal Engine, программные модули системы реализованы на языке С++. Применение данных инструментальных средств позволяет портировать приложение на различные мобильные платформы, в том числе Android и iOS. Приложение предназначено для отображения интересных мест и маршрутов, исторических справок об архитектурных объектах города. Разработка может быть полезна как туристам, так и жителям города Новосибирска.

Ключевые слова: дополненная реальность, программа, программное обеспечение, мобильное приложение, навигация, городская среда.

DEVELOPMENT OF AN AUGMENTED REALITY APPLICATION BASED ON UNREAL ENGINE 4

Eugene A. Dolgochub

Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Graduate, phone: (913)932-07-05, e-mail: evgeniidolg@mail.ru

Alexey S. Radkevich

Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Student, phone: (923)618-62-26, e-mail: svyat_ne_rad@gmail.com

Peter Yu. Bugakov

Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Ph. D., Associate Professor, Department of Cartography and Geoinformatics, phone: (383)343-18-53, e-mail: peter-bugakov@yandex.ru

The aim of the work is to develop an augmented reality application for solving navigation problems in an urban environment. The software was created in the Unreal Engine platform, the program modules of the system are implemented in C ++. The use of these tools allows porting the application to various mobile platforms, including Android and iOS. The application is designed to display places

of interest and routes, historical information about architectural objects of the city. The application can be useful for both tourists and residents of the city of Novosibirsk.

Key words: augmented reality, program, software, mobile app, navigation, urban environment.

Введение

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

Дополненная реальность - это смешанная реальность, созданная с помощью компьютера, позволяющая воспринимать дополнительные сведения об окружении и улучшать восприятие информации [3]. Существует несколько определений, однако в 1997 году исследователь Рональд Азума определил три утверждения, к которым данная относиться система дополненной реальности:

- совмещает реальное и виртуальное;

- взаимодействует в реальном времени;

- работает в 3D.

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

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

Дополненная реальность используется не только для развлечений, ее активно используют в медицине и военном деле [7]. Использование дополненной реальности может улучшить концепцию умного города, например, при использовании смартфона для геолокации с дополненной реальностью в режиме реального времени [4, 8, 10]. Именно такое приложение разрабатывается в Сибирском государственном университете геосистем и технологий. Данное приложение поддерживает навигацию по городу, показывает интересные места для посещения и содержит историческую справку о развитии города. Пользователь сможет увидеть достопримечательности города в разные времена года, узнать все исторические факты, подкрепленные фотографиями прошлого. Также в приложении предусмотрен путеводитель, подсказывающий самые популярные туристиче-

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

Метод разработки

Приложение разработано на платформе Unreal Engine 4 с поддержкой дополненной реальности под Android и iOS при помощи инновационной технологии программирования Blueprint.

Unreal Engine (UE) - это набор инструментов для создания всевозможных приложений и не только. С его помощью можно производить моделирование и разрабатывать приложения под разные платформы. На данный момент было разработано 4 поколение.

Эта платформа, разработана компанией Epic Games, была выпущена в мае 1998 года [9]. Изначально предполагалось использование только в среде шуте-ров, однако последующие версии успешно применялись в играх самых различных жанров. Раньше распространение было по ежемесячной подписке, однако с 2015 года набор инструментов условно бесплатен. Его можно использовать бесплатно, но при выпуске программной продукции разработчик обязан перечислять 5% от продаж.

Система написана на языке С++ и позволяет создавать проекты для большинства операционных систем и платформ. В инструменты встроена поддержка сети до 64 клиентов одновременно. Поддерживается использование различных систем рендеринга, воспроизведения звука, средства голосового воспроизведения речи, модули работы с сетью и поддержка различных устройств ввода. Также используется модульная система зависимых компонентов.

Программное решение также можно переделать под себя. Существует поддержка кода на С++. Таким образом, систему можно сделать основой для нового. Кроме того, возможно применение для работы с графикой в кинематографе, например, для создания спецэффектов, и в образовательных целях [1].

Разработка в UE очень проста. С помощью визуального скриптинга (Blueprints) можно полностью сделать проект, не написав ни строчки кода. Установка происходит с сайта Epic Games. Версия может автоматически обновляться. В комплекте идут базовые коллекции, в том числе это модели и материалы и их можно использовать в качестве временных ресурсов или же уже в готовом проекте. Также существует возможность выбора шаблона. Проект сразу будет оптимизирован для определенного жанра. Также можно скачать набор инструментов с открытым кодом и добавить в редактор что-нибудь свое [8].

Все основные элементы интерфейса представлены на рис. 1.

File Edil Window Help

Modes Content Browser

Ц Add New ~ ¿ Import IS Save All (- fc Content » HandheldARBP * fa

' ■ ж. «hi P3-i||.-H~M-R **

Save Current Source Control Content Marketplace Settings Blueprints Cinematics Build Play

Attempting to start an AR session but theie is no AR plugin contiguied To use An. enable the proper AR plugin in the Ptugin Sellings Attempting to start an AR session but there is noAR plugin configuied To use AR. enable the proper AR plugin in the Plugin Settings

!* AR.Project - ° *

—. Label * Type

О Л 'V1 HandheldARBIankMap (Editwnr J

re {I selected) ® View Options

+ Add Component » Edit Blueprin >

Рис. 1. Основные элементы интерфейса

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

В настройках проекта находятся самые различные расширения и плагины, позволяющие упростить разработку (рис. 2).

Level sequences

Mesh Simplification

Paper2D - Import

Skeletal Mesh Simplification

Struct Viewer

Texture Import

Widget Designer (Team)

Platforms

► Android Android Material Quality - ES2 Android Material Quality - ES31 Android Material Quality - Vulkan Android SDK HTML 5 iOS

iOS Material Quality Linux

Lumin Material Quality • Vulkan

Extra Tags for «application» node 0 Array elements + ffl

Extra Settings for «application» sec

Extra Tags for UE4.GameActivity <a 0 Array elements + ffl

Extra Settings for «activity» sectior

A Extra Permissions (e.g. 'android.per 4 Array elements + ffl 1

H o mmammMm-

11 1

II 2

II 3

Add permissions to support Voice c Package for Oculus Mobile devices Remove Oculus Signature Files fron A Configure GoogleVR to support spec i! o Configure GoogleVR for sustained-p ■ 0 Array elements + ffl ■ 1 Array elements + ffl ■

... 1. n

Рис. 2. Расширения и плагины 80

Также существует возможность оптимизации проекта под отдельно взятую платформу. В настройках можно выставить необходимые разрешения для работы с проектом.

Программирование проекта может вестись двумя способами. Первый способ подразумевает написание исполняемого кода на языке С++. Такая стратегия позволяет настраивать все под себя. Второй способ заключается в использовании функций Blueprint, которые значительно упрощают разработку, однако не обеспечивают полное управление виртуальной средой.

Платформа Unreal Engine представляет пользователю возможность использовать шаблоны. К шаблонам относятся примитивы и определенные алгоритмы действий. К примеру, среди шаблонов можно найти меню (рис. 3). При использовании шаблона платформа сама в автоматическом режиме все настроит. Зеленым цветом отмечена область, которую будет видеть пользователь. Пользователю необходимо расставить необходимые элементы и настроить их изменения через панель «Детали» или же при помощи Blueprint [6].

Данная система все еще развивается, является бесплатным и имеет огромный потенциал. Она подойдет как новичку, так и опытному разработчику. На ней можно делать проекты разных классов и таким образом следует вывод о том, что использование данной платформы позволит быстро и качественно сделать проект, а также поддержать его работоспособность [2].

и рвя^н • Hundl яг ■ Mip «.ox

Fit Edit Asset View Debug w indow Help Piimitljij Uie<WKjq«t

& - 1 0 J' S Compile Save Browse Mde Unrelated Widget Reflecto ► • 1 1 "Т'-'ЧГ ' 'J r Play Fllt« V! Designer Graph

Л Pilene r~ 40 '' 1ЧЖ гтттптш/ггттт ft Detail»

t Editor : Input Zoom -4 И^^Э О С D ави стт^тзтя ггру^та В ЕШШИПЕ^^Я^^^В П Is Variable * Behavior

1 List« : Mac 1 Optimization Panel : Special Effect« U*ei Created ■•s H«.'«rchy i Ё Si Tip Tent i^H^H * u Enabled V Q ^^O H*n6*i Opacity* ■a Accesstolrty

aasir-iTi

'-(Canvas Panel] J" Ш> - points »• marker tf «■ a Render Transform t> Tianalorm ¥ с- p«voi v (ХЗ^НЭ SO^D

• Device Content Sc No Device Safe Zo 1280x720(16:9) ile 1.0 e Set о a Performance li volatile ■

/ Animitfon» E I Timeline Q Compiler Results

• Fast Template Successfully Created • (8671,10) Compile of Compass successful" И $2 ms| (/Game/HandhetdARBP/IUueprintsAll/Compass Compass)

Gkar

Рис. 3. Шаблон меню

Заключение

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

Несмотря на сложности реализации, приложение дополненной реальности продолжает развиваться. Совершенствуется графическая часть, пишутся основные скрипты. Визуальная часть представлена на рисунках (рис. 4, 5).

Выбранные точки интереса

Область миникарты

Главное меню приложения

О

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

Управление миникартой

, Область изображения, получаемого с камеры

Рис. 4. Элементы окна приложения

Аэропорты

Полиции

^^ Гостиницы

Рис. 5. Выбор точек интереса

Технологии продолжают развиваться, городскую инфраструктуру Новосибирска планируется оснастить системой «Умный город». В этой ситуации разрабатываемое приложение дополненной реальности может найти свое место и будет востребовано для решения навигационных задач в городской среде.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Документация Unreal Engine [Электронный ресурс] - Режим доступа: https://docs.unrealengine.com/en-US/BlueprintAPI/Services/Mobile/Location/index.html. - Загл. с экрана.

2. Лучшие уроки Unreal Engine 4 для быстрого старта. [Электронный ресурс]. - Режим доступа: http://devgam.com/luchshie-uroki-unreal-engine-4-dlya-bystrogo-starta. - Загл. с экрана.

3. Международный журнал прикладных и фундаментальных исследований. / Цветков В Я/ ДОПОЛНЕННАЯ РЕАЛЬНОСТЬ- 2017. - № 6 (часть 2) - С. 211-212.

4. Работа с GPS и Google Maps в Android [Электронный ресурс] - Режим доступа: http://findevelop.blogspot.com/2012/05/gps-google-maps-android.html

5. Работа с картами сервиса «Яндекс» [Электронный ресурс] - Режим доступа: https://tech.yandex.ru/maps/. - Загл. с экрана.

6. Русскоязычное сообщество Unreal Engine 4. [Электронный ресурс]. - Режим доступа: https://uengine.ru/category/ue4-tutorials/video-tutorials. - Загл. с экрана.

7. Семь приложений с дополненной реальностью [Электронный ресурс] - Режим доступа: https://club.dns-shop.ru/blog/t-78-smartfonyi/22135-7-prilojenii-s-dopolnennoi-realnostu/. -Загл. с экрана.

8. Уроки Unreal Engine 4. [Электронный ресурс]. - Режим доступа: https://academiait.ru/course/uroki-unreal-engine-4/. - Загл. с экрана.

9. Google maps Platform Documentation [Электронный ресурс] - Режим доступа: https://developers.google.com/maps/faq?hl=en#tos_commercial. - Загл. с экрана.

10. Unreal Engine. Official site. [Электронный ресурс]. - Режим доступа: https://www.unrealengine.com/en-US/. - Загл. с экрана.

© Е. А. Долгочуб, А. С. Радкевич, П. Ю. Бугаков, 2020

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