УДК 004.94
Технические науки
Куляшова Наталья Михайловна, доцент, канд. физ.-мат. наук, доцент кафедры фундаментальной информатики факультета математики и информационных технологий ФГБОУ ВО «Национальный исследовательский Мордовский государственный университет им. Н. П. Огарёва»,
Россия, г. Саранск
СОВРЕМЕННЫЕ ТЕХНОЛОГИИ ВИЗУАЛИЗАЦИИ АРХИТЕКТУРНЫХ
ОБЪЕКТОВ
Аннотация: Предметом исследования является визуализация трехмерных объектов средствами дополненной реальности. В статье рассмотрены процессы проектирования и реализации мобильного приложения с технологией дополненной реальности для интерактивной визуализации архитектурных объектов. Описаны архитектура и логика приложения.
Ключевые слова: дополненная реальность, визуализация, 3D моделирование, виртуальные объекты, мобильное приложение, программная реализация.
Annotation: The subject of the study is the visualization of three-dimensional objects by means of augmented reality. The article considers the processes of designing and implementing a mobile application with augmented reality technology for interactive visualization of architectural objects. The architecture and logic of the application are described.
Keywords: augmented reality, education, visualization, 3D modeling, virtual objects, mobile app, software implementation.
Введение. «Дополненная реальность (Augmented Reality, AR) - феномен пространственно-временного континуума, совмещающий в себе объективную и виртуальную реальности и обладающий рядом специфических качеств и свойств, которые недоступны в объективной и виртуальной реальности по отдельности» [4].
Технология дополненной реальности является весьма разносторонней и включает в себя возможность визуализации, триггеры (контекстные процедуры, вызываемые определенными действиями), визуальные инструкции и подсказки.
Визуализация с помощью AR может применяться в медицине, военной технике, образовании, играх, полиграфии, туризме, рекламе, различных B2B-решениях (Business to business, бизнес для бизнеса), интерактивных развлечения и т. д. В рамках исследования, описываемого в статье, приоритетной областью применения дополненной реальности является визуализация архитектурных объектов.
Некоторые эксперты говорят, что уже в ближайшем будущем все участники строительной индустрии будут получать всю необходимую информацию о процессе строительства с помощью очков дополненной реальности или мобильного AR-приложения. Технология дополненной реальность заменит многочисленные чертежи, что окажет значительную поддержку архитекторам непосредственно на строительной площадке или при общении с заказчиком.
Постановка задачи. Дополненная реальность делает ненужным классический архитектурный макет, у которого и так есть существенные недостатки в виде низкой детализации, проблем с передачей цветовых элементов и высокой стоимости. AR-технология позволяет избежать минусы физических макетов и, благодаря мобильности, продемонстрировать клиенту будущее сооружение со всех сторон. Для демонстрации достаточно положить на стол бумагу с напечатанным маркером и навести на него камеру смартфона или планшета, а приложение дополненной реальности покажет высокое качество трехмерной визуализации, мельчайшие детали и реалистичные цвета объекта.
Это и определило необходимость разработки мобильного приложения с технологией дополненной реальности для интерактивной визуализации архитектурных объектов.
Выбор среды разработки AR-приложения. Для создания мобильного приложения с технологией дополненной реальностью, в первую очередь, «необходимыми являются два основных элемента: трекинг и визуализация.
На данный момент существует много различных теоретических и алгоритмических наработок для их реализации, а также программных инструментов для разработчиков. Они представлены как в виде разнообразных автономных компонентов (фреймворки и библиотеки компьютерного зрения, движки 3D графики), так и в виде комплексных решений: интегрированных сред разработки» [1] (Integrated Development Environment, IDE) и наборов инструментов разработчика (Software Development Kit, SDK).
В качестве инструмента для реализации трекинга был выбран EasyAR SDK, т. к. по своим характеристикам и условиям использования полностью подходит для разработки приложения визуализации архитектурных объектов средствами дополненной реальности. Также весомым аргументом является поддержка наиболее широкого сегмента мобильных устройств и стабильная работа на мобильных платформах.
«В результате поиска и анализа среди множества существующих решений была выбрана интегрированная среда разработки Unity.
Unity - кроссплатформенная среда разработки 2D и 3D приложений и игр, работающая под операционными системами Windows, Linux и OS X. Приложения, созданные с помощью Unity, работают на Windows, OS X, Windows Phone, Android, iOS, Linux, а также на игровых консолях, смарт очках и веб-браузерах» [5].
Преимуществами Unity являются:
- наличие визуальной среды разработки,
- межплатформенная поддержка, позволяющая собирать проект с одним исходным кодом и ресурсами сразу под все поддерживаемые платформы,
- графический движок, оптимизированный под мобильные устройства,
- легко настраиваемый и простой Drag & Drop интерфейс,
- возможность отладки приложения прямо в среде,
- наличие движка для рендеринга в реальном времени,
- поддержка множества популярных 3D и звуковых форматов,
- активное сообщество пользователей и большое количество готовых наработок и решений.
Unity также поддерживает разработку скриптов на C# и модифицированном JavaScript. Проект в Unity представляет собой модульную систему компонентов, каждый из которых содержит свои наборы объектов, скрипты и настройки.
«Объекты в Unity создаются посредством объединения функциональных блоков, а не помещения в узлы дерева наследования. Такой подход облегчает создание прототипов, что актуально при разработке интерактивных приложений и игр. Незначительным минусом можно назвать отсутствие поддержки ссылок на внешние библиотеки, работу с которыми приходиться настраивать вручную» [2].
Выбор программных инструментов для 3D моделирования. 3D
моделирование - это техника компьютерной графики, которую используют для создания трехмерного цифрового представления объекта.
Для создания качественных 3D моделей архитектурных объектов было решено использовать три инструмента компьютерной графики:
- Cinema4D для создания трехмерных объектов,
- UVLayout как средство развертки трехмерной модели в двумерную,
- Substance Painter с целью текстурирования и окрашивания моделей.
Выбранные инструменты компьютерной графики полностью
удовлетворяют предъявляемым требованиям и обладают всеми необходимыми
функциями для создания трехмерных моделей архитектурных объектов и позволяют добиться качественных результатов.
Разработка и реализация мобильного AR-приложения для визуализации архитектурных объектов. Разработанное приложение предоставляет возможность просматривать виртуальные объекты не только в AR-режиме, но и в режиме 3D, т. к. этот режим позволит более детально рассмотреть модели архитектурных объектов, благодаря более привычному для пользователя механизму приближения и отдаления, а также вращения объекта. Также у пользователя есть возможность прослушать звуковую дорожку, соответствующую каждому из архитектурных объектов путем прикосновения к модели, а некоторые из них рассмотреть изнутри по нажатию соответствующей кнопки.
Для 3D моделирования выбрано 4 архитектурных объекта, поделенные на две категории. К первой категории относятся достопримечательности города Саранск: Кафедральный собор Федора Ушакова и главный корпус НИ МГУ им. Н. П. Огарёва. Вторая категория - модели, заменяющие архитектурные макеты для демонстрации заказчику: офисное здание и загородный коттедж.
Созданное приложение поддерживается операционной системой Android версии 5.0 и выше [3].
Архитектура и логика приложения. Архитектура разработанного приложения (рис. 1) состоит из следующих структурных элементов:
- интерфейс для взаимодействия с пользователем приложения,
- модуль рендеринга, обеспечивающий визуализацию и корректное отображение 3D моделей,
- система трекинга, отвечающая за распознавание маркеров и внедрение виртуальных объектов в реальный мир,
локальное хранилище 3D моделей и маркеров для трекинга.
Главное меню приложения (рис. 2) состоит из двух опций: кнопка «Старт», по нажатию на которую, пользователю предоставляется весь имеющийся
функционал приложения, и кнопка «Как это работает», предоставляющая инструкцию по работе с приложением.
На странице с инструкцией (рис. 3) также расположена кнопка, по нажатию на которую осуществляется переход на внешний облачный ресурс, с которого можно скачать маркеры для работы с приложением.
Рисунок 1 - Архитектура приложения
АКсЫЧес^иге
СТАРТ
КАК ЭТО РАБОТАЕТ
Рисунок 2 - Главное меню приложения
АРсЫЧесШге - это приложение дополненной реальности для визуализации различных архитектурных объектов. Данное приложение реализовано в рамках выпускной квалификационной работы. Инструкция
1. Нажмите на кнопку "Скачать маркеры" внизу этой страницы, чтобы получить маркеры для работы с приложением и распечатайте их.
2. Положите распечатанный маркер на горизонтальную поверхность.
3. В главном меню нажмите кнопку "Старт" и наведите камеру мобильного устройства на маркер.
Для того чтобы посмотреть объект в 30 режиме, нажмите соответствующую кнопку.
Скачать маркеры
Рисунок 3 - Страница с инструкцией пользователя
Общий принцип работы приложения состоит из следующих шагов:
1. Изображение, получаемое с камеры мобильного устройства, передается в систему трекинга, где производится поиск известного маркера, хранящегося в локальной базе приложения.
2. Когда маркер был распознан системой трекинга, 3D модель, связанная с этим маркером, извлекается из хранилища, а затем проецируется на него в заранее заданном положении и масштабе относительно маркера.
3. Окончательная визуализация строится путем наложения виртуальной модели на реальное изображение с камеры, после чего происходит отрисовка финальной картины дополненной реальности.
Маркеры для трекинга. Для реализации приложения решено использовать оптический трекинг на основе маркеров, поэтому необходимо создать эти самые маркеры и загрузить их в локальное хранилище приложения,
чтобы система трекинга могла однозначно их идентифицировать в потоке кадров камеры мобильного устройства.
EasyAR SDK, который был выбран в качестве программного инструмента для реализации процесса трекинга, поддерживает распознавание, как простых изображений, так и QR-кодов, маркеры для работы приложения представлены в этих двух вариантах (рисунок 4). Изображение было создано с помощью программы Adobe Photoshop, а QR-код сгенерирован на веб-сайте «QR Coder».
Рисунок 4 - Маркеры для трекинга
По факту, это один и тот же маркер с точки зрения программной реализации приложения, к которому привязаны все четыре 3D модели архитектурных объектов, т. к. было принято решение минимизировать действия пользователя и не принуждать его каждый раз менять маркер в поле зрения камеры для просмотра другого объекта. Для этой задачи был реализован механизм, позволяющий средствами пользовательского интерфейса переключать отображаемую 3D модель на следующую.
Как только один из этих маркеров попадает в поле зрения камеры мобильного устройства, система трекинга распознает его как известный и
подготавливает одну из привязанных к нему 3D моделей к визуализации средствами дополненной реальности.
Оптимальным размером маркера для данного приложения был принят размер 8х8 см, в предположении просмотра объекта в масштабах небольшой горизонтальной поверхности (например, стола). Для просмотра объекта в более крупном масштабе нужно лишь распечатать маркер более крупного размера.
В случае, когда в поле зрения камеры попадают сразу оба маркера, распознается только один из них, которых был замечен системой трекинга раньше другого.
Программная реализация приложения. Подключения библиотеки для работы с трекингом недостаточно для того, чтобы трекинг стал работоспособным. Необходимо произвести настройку библиотеки и написать собственные модули и сценарии под реализуемое приложение, используя язык программирования C Sharp (C#).
EasyAR не предоставляет функцию вызова для визуализации контента на маркере. Поэтому был создан собственный класс, определяющий произошло ли распознавание маркера, который имеет функции OnTargetFound и OnTargetLost, которые вызываются при обнаружении и потери камерой маркера соответственно и возвращают значение True или False в логическую переменную isTracking, которая используется в контроллере AR-режима для отображения 3D модели.
Также были написаны модули и контроллеры для управления приближением, отдалением и вращением объекта в 3D режиме; интерактивного взаимодействия с объектом; работы в AR-режиме; главного меню приложения; переключения режимов приложения и ориентации экрана устройства. Исходные коды некоторых из них представлены в приложении А.
В ходе тестирования приложения не было выявлено высокоприоритетных и критичных дефектов, поэтому настоящую версию приложения можно считать стабильной и работоспособной. Весь функционал приложения работает без ошибок.
Результаты работы приложения показаны на рис. 5.
ЗРШ
х
Заключение. Разработанное приложение ориентируется на принцип массовой доступности, поэтому оно работоспособно на большинстве современных мобильных устройств. Приложение имеет оригинальные механизмы управления содержимым и работает не только в режиме дополненной реальности, но и в режиме 3 D просмотра. Применяемые методики могут использоваться для разработки коммерческих программных продуктов для различных сфер. Результаты работы подтверждают значение дополненной реальности на пути развития абсолютно новых парадигм пользовательского интерфейса.
Библиографический список:
1 Аникин М. А. Реализация трекинга для дополненной реальности на мобильных устройствах / М. А. Аникин, М. С. Ловчиков // Технические и математические науки. Студенческий научный форум: электр. сб. ст. по мат. XVI междунар. студ. науч.-практ. конф. - М., 2019. - № 5(16). - C. 6-11.
2 Ловчиков М. С. Современные подходы к разработке AR-приложений / М. С. Ловчиков, М. А. Аникин // Материалы XXII науч.-практ. конф. молодых ученых, аспирантов и студентов НИ МГУ им. Н. П. Огарёва: в 3 ч. Ч. 2. Естественные науки. - Саранск, Изд-во Мордов. ун-та, 2019. - С. 384-388.
3 Карпюк И. А., Куляшова Н. М. Сравнительный анализ мобильных приложений и инструментальных средств их разработки // Научно-методический электронный журнал «Концепт». - 2017. - Т. 31. - С. 826-830 - URL: http://e-koncept.ru/2016/46492.htm. (дата обращения: 17.03.2022).
4 Макеев С. Н. Генезис понятия дополненной реальности / С. Н. Макеев, А. Н. Макеев // Учебный эксперимент в образовании. - Саранск, 2013. - С. 8-14.
5 Unity - Руководство [Электронный ресурс]: [сайт] - 2019. - URL: https://docs.unity3d.com/ru/current/Manual/. - (дата обращения: 17.03.2022).