Table of Contents

Использование инструмента проверки сессии

В этой статье рассказывается, как использовать инструмент проверки сессии для быстрой проверки рабочего процесса сессии в редакторе и имитационного запуска с использованием файлов EIF.

Перед началом работы

Имитационный запуск использует файлы EIF в качестве входных данных, поэтому перед началом необходимо записать файл EIF:

Также необходимо понимать:

Инструмент проверки сессии

Инструмент проверки сессии помогает разработчикам быстро проверять рабочий процесс сессии и выполнять имитационные запуски с файлами EIF в редакторе Unity.

По умолчанию инструмент проверки сессии можно увидеть в окне Inspector объекта AR Session (EasyAR). Он является частью редактора DiagnosticsController:

alt text

Нажатие кнопки в правом верхнем углу инструмента открывает его в отдельном окне для удобства просмотра и управления. После закрытия окна или нажатия кнопки инструмент снова отображается в окне Inspector.

alt text

Эффект работы инструмента во время выполнения показан в этом видео:

В этом видео демонстрируется использование инструмента проверки сессии, записанного в режиме play Unity. В верхней части видео слева представлен вид Hierarchy, в центре - вид Scene, справа - вид Game. В нижней части видео находится инструмент проверки сессии. Содержимое вида Game соответствует тому, что пользователь видит в реальном мире на своем телефоне.

В левой верхней части инструмента показана полоса прогресса воспроизведения EIF, которая меняется по мере воспроизведения. В левой нижней части инструмента показано текущее состояние сессии. В правой части инструмента показаны компоненты сессии и доступные режимы центра.

В сцене видны три одновременно работающие AR-функции:

  • Отслеживание движения: предоставляется frame player, синяя сфера - это XR Origin, синий конус представляет положение пользователя.
  • Плотное картографирование пространства: видно, как при перемещении камеры полупрозрачные сетки постоянно генерируются.
  • Разреженное отслеживание пространства: в видео отслеживается рождественская елка, а наложенные виртуальные объекты представлены светло-голубым облаком точек.

Запуск инструмента

Нажмите кнопку в верхней части инструмента, чтобы запустить его. Нажатие этой кнопки имеет тот же эффект, что и нажатие кнопки на панели инструментов Unity.

alt text

Если инструмент уже запущен, кнопка изменится на , и ее нажатие остановит инструмент.

Когда инструмент отображается в отдельном окне, в выпадающем списке справа от кнопки можно выбрать объект сессии для инструмента. Если окно было сброшено и сессия потеряна, ее можно выбрать заново здесь.

Управление воспроизведением EIF

Чтобы использовать функцию воспроизведения EIF инструмента, перед запуском необходимо установить флажок Frame Player в инструменте. В этом случае инструмент возьмет на себя управление выбором источника кадров (frame source) в процессе сборки сессии. Независимо от значения AssembleOptions.FrameSource, будет включен компонент frame player.

alt text

Поэтому во время выполнения появится всплывающее окно с уведомлением о том, что источник кадров для текущей сессии управляется инструментом:

alt text

Примечание

Инструмент управляет выбором источника кадров только в редакторе Unity. Этот параметр не влияет на работу собранного приложения.

При нормальной работе функции управления воспроизведением EIF отображаются в выделенной части инструмента, как показано на рисунке выше:

alt text

С помощью этих кнопок можно управлять воспроизведением файла EIF:

  • : Воспроизведение, возобновление воспроизведения из состояния паузы или остановки.
  • ▮▮: Пауза.
  • : Остановка.
  • ▮◀: Переход на 5 секунд назад (если поддерживается файлом).
  • ◀◀: Уменьшение скорости воспроизведения (если поддерживается файлом).
  • ▶▶: Увеличение скорости воспроизведения (если поддерживается файлом).
  • ▶▮: Переход на 5 секунд вперед (если поддерживается файлом).
  • : Открыть файл.
  • Полоса прогресса: Щелчок позволяет перейти к определенной позиции воспроизведения (если поддерживается файлом).

Во время воспроизведения можно корректировать содержимое сцены и логику взаимодействия, что позволяет выполнять большую часть разработки на компьютере и видеть результаты визуально.

Примечание

При воспроизведении новых данных или переходе по позиции воспроизведения существующие данные в сцене не очищаются. Состояние AR-компонентов также не сбрасывается. Они будут вести себя так, как будто данные камеры внезапно перескочили с предыдущего кадра на новые данные.

Хотя это не сильно влияет на некоторые функции, для функций, зависящих от отслеживания движения (например, плотное картографирование пространства, Mega и т.д.), это может привести к аномальному состоянию функции и повлиять на производительность.

Управление рабочим процессом сессии

Чтобы использовать функцию управления рабочим процессом сессии инструмента, перед запуском необходимо установить флажок Session Workflow в инструменте. Этот флажок установлен по умолчанию.

alt text

При нормальной работе функции управления рабочим процессом сессии отображаются под элементами управления воспроизведением в выделенной части инструмента, как показано на рисунке ниже:

alt text

В верхней части этой области отображаются два состояния: EasyARController.IsReady и ARSession.State.

В нижней части этой области представлены кнопки для управления рабочим процессом сессии:

  • Initialize: Инициализировать сессию. Можно выбрать использование лицензионного ключа, настроенного в Project Settings, или ввести ключ вручную.
  • Assemble: Собрать сессию без запуска.
  • StartSession (Assembled): Запустить собранную сессию.
  • StartSession: Собрать и запустить сессию.
  • StopSession: Остановить сессию.
  • StopSession (keep image): Остановить сессию, но сохранить фоновое изображение.
  • Deinitialize: Деинициализировать сессию.
Примечание

Поскольку эти функции управления напрямую вызывают соответствующие методы ARSession и EasyARController, с помощью этих кнопок можно проверить влияние изменений состояния сессии на содержимое. Однако следует помнить, что если аналогичные методы вызываются в скриптах приложения, рабочий процесс приложения может выйти за рамки ожиданий самого приложения.

Управление компонентами сессии

Чтобы использовать функцию управления компонентами сессии инструмента, перед запуском необходимо установить флажок Session Workflow в инструменте. Этот флажок установлен по умолчанию.

alt text

При нормальной работе элементы управления компонентами сессии отображаются в нижней или правой части инструмента (в зависимости от ширины окна), как показано в выделенной области на рисунке ниже:

alt text

Содержимое этой области зависит от конкретной сессии. Например, на рисунке выше сессия включает три функциональных компонента: отслеживание изображений, плотное картографирование пространства и разреженное отслеживание пространства. Поэтому инструмент отображает элементы управления для включения/отключения этих трех функций.

В общем случае эта область отображает все доступные AR-функциональные компоненты в сессии и предоставляет элементы управления для их включения/отключения (enabled), включая:

  • AR Session: Управление включением/отключением самой сессии.
  • Image Renderer: Управление включением/отключением рендеринга изображения с физической камеры.
  • Camera: Управление включением/отключением виртуальной камеры.
  • Frame Source: Управление включением/отключением источника кадров. Доступно только при отключенном frame player. При включенном frame player управление осуществляется через элементы управления воспроизведением EIF.
  • Frame Filter: Управление включением/отключением конкретных AR-функций.
  • Frame Recorder: Управление включением/отключением компонента записи EIF. Виден только при отключенном frame player. При включенном frame player этот компонент не собирается в сессию.

Также в области отображаются доступные режимы центра (center mode) и отчет сессии.

Примечание

Доступные режимы центра и отчет сессии, отображаемые в инструменте, являются результатом выполнения в редакторе. При работе на реальном устройстве они будут отличаться.

Связанные темы