ТУСУР, виртуальная и дополненная реальность (лабораторная работа)
Узнать стоимость этой работы
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) заключение с краткими выводами о проделанной работе.



Узнать стоимость этой работы



АЛФАВИТНЫЙ УКАЗАТЕЛЬ ПО ВУЗАМ
Найти свою работу на сайте
АНАЛИЗ ХОЗЯЙСТВЕННОЙ ДЕЯТЕЛЬНОСТИ
Контрольные, курсовые, дипломы из разных ВУЗов
БУХГАЛТЕРСКИЙ УЧЕТ, АНАЛИЗ И АУДИТ
Контрольные, курсовые, дипломы из разных ВУЗов
ВЫСШАЯ МАТЕМАТИКА
Контрольные работы из разных ВУЗов
МЕНЕДЖМЕНТ И МАРКЕТИНГ
Контрольные, курсовые, дипломы из разных ВУЗов
МЕТОДЫ ОПТИМАЛЬНЫХ РЕШЕНИЙ, ТЕОРИЯ ИГР
Контрольные, курсовые, рефераты, тесты из разных ВУЗов
ПЛАНИРОВАНИЕ И ПРОГНОЗИРОВАНИЕ
Контрольные, курсовые, рефераты, тесты из разных ВУЗов
СТАТИСТИКА
Контрольные, курсовые, рефераты, тесты из разных ВУЗов
ТЕОРИЯ ВЕРОЯТНОСТЕЙ И МАТ. СТАТИСТИКА
Контрольные работы из разных ВУЗов
ФИНАНСЫ, ДЕНЕЖНОЕ ОБРАЩЕНИЕ И КРЕДИТ
Контрольные, курсовые, дипломы из разных ВУЗов
ЭКОНОМЕТРИКА
Контрольные, курсовые, рефераты, тесты из разных ВУЗов
ЭКОНОМИКА
Контрольные, курсовые, дипломы из разных ВУЗов
ЭКОНОМИКА ПРЕДПРИЯТИЯ, ОТРАСЛИ
Контрольные, курсовые, дипломы из разных ВУЗов
ГУМАНИТАРНЫЕ ДИСЦИПЛИНЫ
Контрольные, курсовые, дипломы из разных ВУЗов
ДРУГИЕ ЭКОНОМИЧЕСКИЕ ДИСЦИПЛИНЫ
Контрольные, курсовые, дипломы из разных ВУЗов
ЕСТЕСТВЕННЫЕ ДИСЦИПЛИНЫ
Контрольные, курсовые, дипломы из разных ВУЗов
ПРАВОВЫЕ ДИСЦИПЛИНЫ
Контрольные, курсовые, дипломы из разных ВУЗов
ТЕХНИЧЕСКИЕ ДИСЦИПЛИНЫ
Контрольные, курсовые, дипломы из разных ВУЗов
РАБОТЫ, ВЫПОЛНЕННЫЕ НАШИМИ АВТОРАМИ
Контрольные, курсовые работы
ОНЛАЙН ТЕСТЫ
ВМ, ТВ и МС, статистика, мат. методы, эконометрика