| Общая информация » Каталог студенческих работ » ТЕХНИЧЕСКИЕ ДИСЦИПЛИНЫ » Информационные технологии |
| 09.02.2026, 12:34 | |
ВЫПОЛНЕНИЕ ЛАБОРАТОРНОЙ РАБОТЫ Цель и задачи Цель работы: изучение теоретических основ дополненной реальности и приобретение практических навыков разработки AR-приложения. В методических указаниях рассмотрено создание приложения при помощи фреймворка Unity и ARCore для операционной системы Android. Однако вы можете воспроизвести аналогичную функциональность с использованием других технологий. Порядок выполнения работы: 1. Изучение теоретических основ дополненной реальности (гл. 2 и 4 учебного пособия). 2. Выбор среды программирования и программная реализация AR-приложения (в данном пособии описан порядок действий при выполнении работы с использованием Unity и операционной системы Android). 3. Написание отчета о выполнении лабораторной работы.
Установка ПО С официального сайта https://unity.com/ru загружаем и устанавливаем Unity Hub, соответствующий операционной системе, установленной на компьютер. С его помощью устанавливаем актуальную версию Unity. При первом запуске регистрируемся или проходим аутентификацию на платформе. С официального сайта https://code.visualstudio.com/download загружаем и устанавливаем интегрированную среду разработки VS Code на компьютер. В качестве альтернативы вы можете воспользоваться Visual Studio. С официального сайта https://code.visualstudio.com/docs/languages/dotnet загружаем и устанавливаем фреймворк .NET для VS Code (рис. 2.1).
Рис. 2.1 – Установка .NET
Unity Шаг 1. После установки Unity запустите программу, перейдите на вкладку Projects и нажмите кнопку New Project. Выберите AR Mobile на вкладке All Templates. Шаг 2. На вкладке справа нажмите на кнопку Download Template. Там же укажите название проекта на свое усмотрение и нажмите Create (рис. 2.2). Учтите, что первое создание проекта может занять продолжительное время.
Рис. 2.2 – Создание проекта Шаг 3. В проекте перейдите к окну Package Manager Window → Package Manager (рис. 2.3). При необходимости обновите следующие пакеты: - AR Foundation; - ARCore XR (если вы разрабатываете для Android).
Рис. 2.3 – Проект Шаг 4. Откройте окно настроек сборки (File → Build Profiles). Выберите свою платформу в списке слева, нажмите на нее, затем нажмите кнопку Install with Unity Hub. В открывшемся окне нажмите Continue. После завершения установки потребуется перезагрузить Unity (рис. 2.4, 2.5).
Рис. 2.4 – Build Profiles
Рис. 2.5 – Добавление модулей Шаг 5. Когда Unity откроется заново, откройте окно настроек сборки. Выберите свою платформу в списке слева, дважды щелкните на нее, а затем нажмите кнопку Switch platform (рис. 2.6).
Рис. 2.6 – Переключение на Android Шаг 6. Щелкните правой кнопкой мыши по Hierarchly и выберите создание пустого объекта. Переименуйте этот объект в PlacementIndicator. Выберете его, а затем в Inspector установите координаты: 0, 0, 0. Шаг 7. Щелкните правой кнопкой мыши данный объект в Hierarchly и выберите 3D Object → Plane. Будет создан объект белой плоскости (рис. 2.7).
Рис. 2.7 – Создание объекта Шаг 8. На панели Project перейдите Assets → Samples → XR → Interaction Toolkit → 3.0.6 → AR Starter Assets → ARDemoSceneAssets → Materials. Версия в папке Interaction Toolkit может измениться. Выберите материал InteractableMat и перетащите его на объект Plane в окне Hierarchly (рис. 2.8).
Рис. 2.8 – Добавленная плоскость Шаг 9. Далее создадим скрипт, который будет управлять индикатором размещения. Щелкните правой кнопкой мыши на панели Project и выберите Create → Scripting → MonoBehavior Sctipt (рис. 2.9). Назовите скрипт PlacementIndicator. В окне Hierarchly выделите нажатием PlacementIndicator и перетащите скрипт в Inspector. Вы должны увидеть прикрепленный компонент скрипта.
Рис. 2.9 – Создание скрипта Шаг 10. Дважды щелкните по файлу сценария, чтобы открыть его в Visual Studio. Внутри должен быть шаблон сценария по умолчанию. В открытом файле класса PlacementIndicator : MonoBehaviour содержится программный код, включающий в себя функции Start (вызывается один раз при инициализации объекта, в начале игры) и Update (вызывается при каждой смене кадра). Шаг 11. Над классом нужно добавить еще две библиотеки для AR Foundation. Введите следующий код: using UnityEngine.XR.ARFoundation; using UnityEngine.XR.ARSubsystems; using System.Collections.Generic; В классе добавьте следующие переменные: private ARRaycastManager rayManager; private GameObject visual; Шаг 12. В функции Start введите следующий код, чтобы получить компоненты и скрыть визуальный индикатор размещения: rayManager = FindObjectOfType<ARRaycastManager>(); visual = transform.GetChild(0).gameObject; visual.SetActive(false); Шаг 13. Запустим трассировку лучей из центра нашего экрана с помощью функции Update. Трассировка лучей – это линия, которая может обнаруживать объекты. Мы задаем ей начальную точку и направление, а она сообщает нам, во что она попадает. Наша задача – попасть в плоскость AR (автоматически создается при обнаружении мира). Для начала создадим список, в котором будут храниться все плоскости AR, в которые мы попадаем. Затем мы можем выполнить трассировку лучей. List<ARRaycastHit> hits = new List<ARRaycastHit>(); rayManager.Raycast(new Vector2(Screen.width / 2, Screen.height / 2), hits, TrackableType.Planes); Шаг 14. Проверим, попали ли мы в желаемую плоскость. Внутри оператора ветвления установим положение и поворот индикатора размещения в соответствии с точкой попадания луча. if(hits.Count > 0) { transform.position = hits[0].pose.position; transform.rotation = hits[0].pose.rotation; } Включим визуализацию, если она отключена (рис. 2.10). if(!visual.activeInHierarchy) visual.SetActive(true);
Рис. 2.10 – Скрипт
Сборка под Android Шаг 15. Для начала требуется включить режим разработчика на вашем смартфоне. Откройте Настройки и нажмите кнопку Система. Прокрутите страницу вниз и выберите пункт О телефоне. Нажмите на строку Введите номер сборки 7 раз. Подключите смартфон к компьютеру с помощью USB-кабеля. Теперь в Настройках должна появиться вкладка Параметры разработчика. Зайдите туда и включите отладку по USB. В сети Интернет можно найти подробную инструкцию по включению режима разработчика именно на вашем устройстве. Шаг 16. Вернувшись в Unity, откройте окно Настройки сборки (File → Build Profiles). После этого нажмите Player Settings. Укажите The Product Name – название вашего приложения, которое будет отображаться на устройстве. Перейдите на вкладку Other Settings и выключите Multithread Rendering. Шаг 17. Теперь перейдите на вкладку XR на панели слева и выберите Google ARCore. Установите для Requirement значение Optional. Шаг 18. Вернитесь в окно Build Profiles и нажмите Build and run. Вы можете сохранить файл .apk в любом месте, т. к. он автоматически установится на ваше устройство. На экране должна появиться созданная поверхность.
Варианты заданий Шаг 19. В созданную ранее 3D-сцену (п. 2.4) необходимо добавить 3D-модель объекта согласно указанному в личном кабинете варианту. Модель можно создать самостоятельно или загрузить готовые с платформ (например, Sketchfab) или других аналогичных порталов (список приведен в учебном пособии), предоставляющих бесплатные 3D-модели. Выбранную модель необходимо импортировать в проект, перетаскивая его на панель Project. Варианты объектов для добавления в сцену Вариант 1. Музыкальный инструмент: акустическая гитара. Вариант 2. Архитектурный элемент: деревенский колодец. Вариант 3. Энергетическое сооружение: электрическая подстанция. Вариант 4. Растение: кактус. Вариант 5. Транспортное средство: автомобиль. Вариант 6. Металлический контейнер: металлическая бочка. Вариант 7. Дорожное средство: дорожный конус. Вариант 8. Осветительное устройство: прожектор. Вариант 9. Фотографическое оборудование: отражатель, используемый при съемке. Вариант 10. Упакованный напиток: бутылка газировки. Вариант 11. Еда: гамбургер. Вариант 12. Фрукт: банан. Вариант 13. Напиток: стаканчик кофе. Вариант 14. Бытовая техника: стиральная машина. Вариант 15. Мебель для сна: кровать. Вариант 16. Мебель для отдыха: диван. Вариант 17. Хранилище: шкаф. Вариант 18. Хищное животное: тигр. Вариант 19. Птица: пингвин. Вариант 20. Транспортное средство для перевозки грузов: тележка. Отчет о выполнении лабораторной работы должен включать: 1) титульный лист (приложение А); 2) оглавление; 3) введение, в котором приводится формулировка задачи и определение цели; 4) основную часть, содержащую: - описание используемой среды программирования; - описание алгоритма решения задачи; - наиболее важные фрагменты листинга исходного кода с комментариями; - описание функциональных возможностей разработанного приложения; - скриншоты построенной сцены в среде разработки и работающего на мобильном устройстве приложения; 5) заключение с краткими выводами о проделанной работе. | |










