Table of Contents

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

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

Перед началом

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

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

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

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

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

alt text

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

alt text

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

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

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

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

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

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

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

alt text

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

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

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

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

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](https://doc