Курсовой проект VR|AR одевалки на Deziiign

— Движок: Unity 2022.3.62f3 (проект на ядре Universal 3D)
— Пакеты Unity:
• XR Interaction Toolkit (после установки его заходим во вкладку Samples и импортируем пакет Starter Assets с набором готовых настроек управления и симуляции).
• XR Plugin Management.
• OpenXR Plugin — основной пакет для работы с VR приложением.

Целью проектирования является разработка кроссплатформенного программного комплекса для виртуальной примерки одежды. В ходе предпроектного анализа мною были сформулированы следующие требования к функциональности системы:Для VR-модуля: создание иммерсивного пространства, поддержка телепортации, возможность физического взаимодействия с предметами одежды (хватание) и автоматизированная система примерки на манекен.Для AR-модуля: стабильное отслеживание плоских маркеров (QR-кодов), наложение 3D-модели манекена на реальную плоскость, управление через мобильный интерфейс и поддержку сенсорных жестов.Общие требования: единство базы данных одежды для обоих модулей, логика разрешения конфликтов при экипировке (замещение несовместимых элементов) и звуковое сопровождение всех действий пользователя.

АРХИТЕКТУРА ПРИЛОЖЕНИЯ

Приложение построено на базе игрового движка Unity 2022.3.62f3 с использованием конвейера рендеринга Universal Render Pipeline (URP), что позволило добиться качественной визуализации материалов ткани при сохранении высокой производительности на мобильных устройствах.Архитектура разделена на два независимых программных решения:VR-архитектура: базируется на пакете XR Interaction Toolkit. Взаимодействие строится на системе XR Ray Interactor и симуляции устройств для отладки без шлема.AR-архитектура: использует фреймворк AR Foundation и плагин ARCore. Модуль спроектирован с учётом иерархической вложенности («матрёшки»), где корень объекта управляется системой трекинга, а внутренние узлы — пользовательскими скриптами вращения.

МОДЕЛЬ ДАННЫХ И АЛГОРИТМЫ

Основой системы является модульная модель данных, реализованная через ScriptableObject. Класс ClothingItem выступает в роли универсального контейнера информации, содержащего ссылки на префабы, категорию и настройки смещения (offset).Мною были разработаны следующие ключевые алгоритмы:1) Алгоритм «умной» экипировки: при активации предмета система анализирует его категорию. Если надевается объект типа FullBody, скрипт MannequinManager принудительно уничтожает объекты в слотах Top и Bottom. Аксессуары же обрабатываются как аддитивные элементы, не вступающие в конфликт с основной одеждой.2) Алгоритм динамического спавна (VR): менеджер гардероба фильтрует общую базу данных по запросу и инстанцирует интерактивные превью-модели в заданных точках витрин.3) Алгоритм трансформации (AR): расчёт дельты перемещения пальцев по экрану преобразуется в изменение локального угла поворота (ось Y) и масштаба манекена, исключая конфликт с системой позиционирования ARCore.

ПРОЕКТИРОВАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

Дизайн интерфейса адаптирован под специфику каждой среды:VR-интерфейс: выполнен в виде пространственных панелей (World Space Canvas). Кнопки категорий и управления манекеном расположены в зоне прямой видимости пользователя, обеспечивая удобство взаимодействия лазерным лучом.AR-интерфейс: реализован в режиме экранного наложения (Screen Space Overlay). Мною спроектировано меню-аккордеон: нажатие на основную категорию открывает подпанель с числовыми индексами доступных моделей, при этом другие подменю автоматически скрываются для экономии экранного пространства смартфона.

СЦЕНАРИИ ИСПОЛЬЗОВАНИЯ

В рамках проекта предусмотрены два основных сценария эксплуатации:1) Сценарий VR: пользователь появляется в центре виртуального бутика. С помощью телепортации он перемещается к гардеробу, выбирает категорию на панели, берёт появившуюся 3D-модель одежды и подносит её к манекену. После автоматического надевания пользователь может развернуть манекен кнопками управления для осмотра образа.2) Сценарий AR: пользователь запускает приложение на смартфоне и наводит камеру на распечатанный QR-код. На экране появляется интерфейс управления. Пользователь выбирает предметы из выпадающих меню, наблюдая за мгновенным обновлением модели на столе. С помощью жестов «свайп» и «щипок» производится финальная настройка ракурса и масштаба модели для детального изучения.
0
Исходный размер 808x454

вид на «контейнеры одежды»

Исходный размер 1281x691

вид на манекен

0

1. Выбираем категорию одежды 2. Выбираем объект лучом 3. Надеваем объект на манекен

Данный проект делался на основе опыта создания основного проекта Garberob_