С каждым днем технологии дополненной реальности всё больше интегрируются в повседневные процессы жизни каждого человека. AR-приложения пользуются популярностью в самых различных сферах общества, таких как обучение, развлечение, покупки, творчество, медиа и другие.
Однако количество контента приложений дополненной реальности ограничено из-за максимально допустимого размера готового приложения, устанавливаемого площадками их распространения. Из-за этого разработчикам приходится не только сокращать контент приложения, но и понижать качество оставшихся, например, графических, аудио и видео ассетов, чтобы приложение имело минимально требуемый заказчиком объем контента. Также это часто приводит к усложнению архитектуры и процесса создания сцен дополненной реальности, из-за чего создание и поддержка функционала создания динамических сцен пользователями становится трудным или невозможным.
Объектом исследования является уменьшение финальных размеров сборок приложений дополненной реальности.
Предметом исследования является разработка инструмента динамического расширения приложений дополненной реальности.
Целью данной работы является создание инструмента для динамического расширения приложений дополненной реальности, разработанных на Unity [1] с использованием пакета ARFoundation [2].
Результаты выпускной квалификационной работы могут быть использованы для создания приложений дополненной реальности на платформе Android.
Глоссарий 4
Введение 6
Постановка задачи 7
Актуальность задачи 8
Глава 1. Анализ предметной области 10
1.1. Анализ критериев приложений дополненной реальности 10
1.2. Анализ требований к инструменту динамического расширения приложений дополненной реальности 10
Глава 2. Архитектура программного решения 12
2.1. Динамический контент AR-приложения 12
2.2. Динамическая конфигурация контента AR-приложения 13
2.3. Архитектура инструмента 14
Глава 3. Практическая реализация 20
3.1. Основные компоненты инструмента 20
3.1.1. Менеджер динамических библиотек динамических сцен 20
3.1.2. Главный связующий компонент AR-приложения 22
3.1.3. Система распознавания изображений для AR 24
3.1.4. Компонент создания библиотеки изображений-таргетов 25
3.1.5. Компонент управления интерфейсом приложения 25
3.1.6. Конструктор трехмерных объектов 27
3.1.7. Конструктор динамических сцен AR-приложения 28
3.1.8. Обработчик команд динамической сцены 29
3.1.9. Система хранения данных пользователя 30
3.1.10. Система управления файлами динамических сцен 31
3.2. Инструменты для создания, отладки и тестирования инструмента 32
3.2.1. . Тестовый режим работы без AR-технологий 33
3.2.2. Тестирование и отладка инструмента 34
Глава 4. Обсуждение результатов 35
4.1. Демонстрация функционала 3 5
4.2. Сравнение с аналогичным приложением 36
4.3. Предложения о развитии решения 37
Заключение 39
Список использованных источников 40
Приложения 43
Приложение А. Классовое представление конфигураций динамических
сцен дополненной реальности
Библиотека динамических сцен
Набор динамических сцен
Динамическая сцена
Приложение Б. Интерфейсы созданного приложения
Приложение В. Фрагменты исходного кода
Компонент динамической сцены: ARRuntimeSoundObject
Компонент динамической сцены: ARRuntimeVideoObject
Компонент динамической сцены: ARRuntimeImageObject
1 . Unity 3D [Электронный ресурс]. - Режим доступа: https://unity.com/ru (дата обращения: 22.05.2024).
2 . AR Foundation [Электронный ресурс]. - Режим доступа: https://unity.com/ru/unity/features/arfoundation (дата обращения: 22.05.2024).
3 . S. Friston, C. Fan, J. Dobos et al, 3DRepo4Unity: Dynamic loading of version controlled 3D assets into the Unity Game Engine [Текст] // Proceedings of the 22nd International Conference on 3D Web Technology (Web3D '17). (Association for Computing Machinery, New York, 2017) pp. 1-9.
4 . Формат x3d [Электронный ресурс]. - Режим доступа: https://www.web3d.org/x3d/what-x3d#:~:text=X3D%20is%20an%20ISO% 2Dratified,maintained%20by%20the%20Web3D%20Consortium. (дата обращения: 22.05.2024).
5 . Meraj Khan, Arnab Nandi. DreamStore: A Data Platform for Enabling Shared Augmented Reality [Текст] // 2021 IEEE Virtual Reality and 3D User Interfaces (VR). (IEEE Xplore, Lisboa, Portugal. 2021), pp. 555-563.
6 . Gltf [Электронный ресурс]. - Режим доступа: https://github.com/KhronosGroup/glTF (дата обращения: 22.05.2024).
7 . A. Ohlei, T. Schumacher, M. Herczeg, An Augmented Reality Tour Creator for Museums with Dynamic Asset Collections [Текст] // International Conference on Augmented Reality, Virtual Reality and Computer Graphics. (Lecture Notes in Computer Science, vol. 12243, Lecce, Italy, 2020), pp. 15-31.
8 . F. Ledermann and D. Schmalstieg, "APRIL: a high-level framework for creating augmented reality presentations," [Текст] // IEEE Proceedings. VR 2005, (2005).-pp. 187-194.
9 . Платформа Android [Электронный ресурс]. - Режим доступа: https://developer.android.com/about (дата обращения: 22.05.2024).
10 .Платформа IOS [Электронный ресурс]. - Режим доступа: https://developer.apple.com/ios/ (дата обращения: 22.05.2024).
П.Описание форматов OBJ и MTL [Электронный ресурс]. - Режим доступа: https://docs.fileformat.com/3d/obj/ (дата обращения: 22.05.2024).
11 .Описание формата JSON [Электронный ресурс]. - Режим доступа: https://docs.fileformat.com/web/json/ (дата обращения: 22.05.2024).
13 .Unity JsonUtility [Электронный ресурс]. - Режим доступа: https://docs.unity3d.com/ScriptReference/JsonUtility.html (дата
обращения: 22.05.2024).