3. Настройка проекта для смешанной реальности

В предыдущем разделе мы настроили проект приложения для игры в шахматы. В этом разделе мы настроем приложение для разработки в контексте смешанной реальности, то есть добавим в него сеанс дополненной реальности. Для этого мы воспользуемся ресурсом данных ARSessionConfig, который содержит полезные параметры для настройки функций дополненной реальности, такие как пространственное сопоставление и загораживание. Дополнительные сведения см. в разделах, посвященных ARSessionConfig и UARSessionConfig, документации по Unreal.

Задачи

  • Работа с параметрами дополненной реальности Unreal Engine.
  • Использование ресурса данных ARSessionConfig.
  • Настройка объекта Pawn и игрового режима.

Добавление ресурса для сеанса.

Сеансы дополненной реальности в Unreal не возникают сами по себе. Для работы с сеансом требуется ресурс данных ARSessionConfig, который мы сейчас и добавим:

  1. В обозревателе содержимого (Content Browser) выберите Add New > Miscellaneous > Data Asset (Добавить > Разное > Ресурс данных). Выйдите на уровень корневой папки Content.
    • Выберите ARSessionConfig, нажмите кнопку Select (Выбрать) и присвойте ресурсу имя ARSessionConfig.

Создание ресурса данных

  1. Дважды щелкните ресурс ARSessionConfig, чтобы открыть его, оставьте параметры по умолчанию и нажмите кнопку Save (Сохранить). Вернитесь в главное окно.

Конфигурация сеанса дополненной реальности

Следующий шаг — настроить сеанс дополненной реальности таким образом, чтобы он запускался при загрузке уровня и останавливался при его завершении. К счастью, для этого в Unreal есть специальная схема Level Blueprint (Схема уровня), которая работает как глобальный граф событий, относящихся к уровню. Если подключить ресурс ARSessionConfig на схеме Level Blueprint (Схема уровня), сеанс дополненной реальности будет гарантированно стартовать в момент начала игры.

  1. В панели инструментов редактора выберите Blueprints > Open Level Blueprint (Схемы > Открыть схему уровня):

Открытие схемы уровня

  1. Перетащите закрепление выполнения (указывающую вправо стрелку) из узла Event BeginPlay (Событие BeginPlay) и отпустите его, а затем введите Start AR Session (Начать сеанс дополненной реальности) для поиска и нажмите клавишу "ВВОД".
    • В разделе Session Config (Параметры сеанса) щелкните стрелку раскрывающегося списка Select Asset (Выбор ресурса) и выберите ресурс ARSessionConfig.

Запуск сеанса дополненной реальности

  1. Щелкните правой кнопкой мыши в EventGraph и создайте новый узел Event EndPlay (Завершение воспроизведения события). Перетащите закрепление выполнения и отпустите его, а затем введите Stop AR Session (Завершить сеанс дополненной реальности) для поиска и нажмите клавишу "ВВОД". Если сеанс дополненной реальности не останавливается по окончании уровня, некоторые функции могут не работать после перезапуска приложения при потоковой передаче данных на гарнитуру.
    • Нажмите кнопку Compile (Компилировать), а затем Save (Сохранить), после чего вернитесь в главное окно.

Остановка сеанса дополненной реальности

Создание элемента Pawn

Пока что в проекте недостает объекта-игрока. В Unreal объект Pawn представляет игрока в игре, но в нашем случае вместо игры будет взаимодействие в HoloLens 2.

  1. В папке Content выберите Add New > Blueprint Class (Добавить > Класс схемы) и разверните расположенный внизу раздел All Classes (Все классы).
    • Найдите элемент DefaultPawn, нажмите кнопку Select (Выбрать), присвойте ему имя MRPawn и дважды щелкните ресурс, чтобы открыть его.

Создание нового объекта Pawn, наследующего от DefaultPawn

  1. Щелкните Add Component > Camera (Добавить компонент > Камера) в панели Components (Компоненты) и присвойте ему имя Camera (Камера). Убедитесь, что компонент Camera (Камера) является прямым дочерним объектом корня (CollisionComponent). Это позволит камере игрока перемещаться вместе с устройством HoloLens 2.

Примечание

По умолчанию у объектов Pawn есть компоненты, представляющие трехмерную сетку и столкновение. В большинстве проектов Unreal объекты Pawn — это твердые предметы, которые могут сталкиваться с другими компонентами. Поскольку в смешанной реальности объект Pawn и пользователь представляют собой одно и то же, необходимо, чтобы игрок мог проходить сквозь голограммы без столкновений.

  1. В панели Components (Компоненты) выберите компонент CollisionComponent, а затем в панели Details (Сведения) прокрутите вниз до раздела Collision (Столкновение).
    • Щелкните стрелку раскрывающегося списка Collision Presets (Предустановленные режимы столкновения) и выберите в нем значение NoCollision.
    • Выполните те же действия для компонента MeshComponent.

Изменение параметров столкновения для объекта Pawn

  1. Скомпилируйте и сохраните схему.

Закончив с этим, вернитесь в главное окно.

Создание игрового режима

Последний аспект настройки приложения для смешанной реальности — это игровой режим (Game Mode). Он определяет целый ряд параметров игры или взаимодействия, включая объект Pawn по умолчанию.

  1. В папке Content выберите Add New > Blueprint Class (Добавить > Класс схемы) и выберите Game Mode Base в качестве родительского класса. Присвойте ему имя MRGameMode и дважды щелкните, чтобы открыть.

MRGameMode в обозревателе содержимого

  1. В панели Details (Сведения) перейдите в раздел Classes (Классы) и поменяйте значение параметра Default Pawn Class (Класс Pawn по умолчанию) на MRPawn.
    • Нажмите кнопку Compile (Компилировать), а затем Save (Сохранить), после чего вернитесь в главное окно.

Установка класса Pawn по умолчанию

  1. Выберите Edit > Projects Settings (Правка > Параметры проекта) и щелкните пункт Maps & Modes (Карты и режимы) в левом списке.
    • Разверните раздел Default Modes (Режимы по умолчанию) и поменяйте значение параметра Default Game Mode (Игровой режим по умолчанию) на MRGameMode.
    • Разверните раздел Default Maps (Карты по умолчанию) и вместо значений EditorStartupMap и GameDefaultMap выберите значение Main. Когда вы закроете и снова откроете редактор, по умолчанию будет выбрана карта Main.

Параметры проекта — карты и режимы

Проект настроен для смешанной реальности. Теперь можно переходить к следующему руководству, в котором показано, как добавить в сцену возможности пользовательского ввода.

Следующий раздел: 4. Настройка интерактивной сцены