Использование инструмента проверки сессии
В этой статье рассказывается, как использовать инструмент проверки сессии для быстрой проверки рабочего процесса сессии в редакторе и имитационного запуска с использованием файлов EIF.
Перед началом работы
Имитационный запуск использует файлы EIF в качестве входных данных, поэтому перед началом необходимо записать файл EIF:
- См. Запись файла EIF для записи файла EIF
Также необходимо понимать:
- Основные концепции Запись файла EIF и его использование для имитационного запуска
- Основные концепции, компоненты и рабочий процесс AR Session
Инструмент проверки сессии
Инструмент проверки сессии помогает разработчикам быстро проверять рабочий процесс сессии и выполнять имитационные запуски с файлами EIF в редакторе Unity.
По умолчанию инструмент проверки сессии можно увидеть в окне Inspector объекта AR Session (EasyAR). Он является частью редактора DiagnosticsController:

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

Эффект работы инструмента во время выполнения показан в этом видео:
В этом видео демонстрируется использование инструмента проверки сессии, записанного в режиме play Unity. В верхней части видео слева представлен вид
Hierarchy, в центре - видScene, справа - видGame. В нижней части видео находится инструмент проверки сессии. Содержимое видаGameсоответствует тому, что пользователь видит в реальном мире на своем телефоне.В левой верхней части инструмента показана полоса прогресса воспроизведения EIF, которая меняется по мере воспроизведения. В левой нижней части инструмента показано текущее состояние сессии. В правой части инструмента показаны компоненты сессии и доступные режимы центра.
В сцене видны три одновременно работающие AR-функции:
- Отслеживание движения: предоставляется frame player, синяя сфера - это XR Origin, синий конус представляет положение пользователя.
- Плотное картографирование пространства: видно, как при перемещении камеры полупрозрачные сетки постоянно генерируются.
- Разреженное отслеживание пространства: в видео отслеживается рождественская елка, а наложенные виртуальные объекты представлены светло-голубым облаком точек.
Запуск инструмента
Нажмите кнопку ▶ в верхней части инструмента, чтобы запустить его. Нажатие этой кнопки имеет тот же эффект, что и нажатие кнопки ▶ на панели инструментов Unity.

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

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

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

С помощью этих кнопок можно управлять воспроизведением файла EIF:
▶: Воспроизведение, возобновление воспроизведения из состояния паузы или остановки.▮▮: Пауза.■: Остановка.▮◀: Переход на 5 секунд назад (если поддерживается файлом).◀◀: Уменьшение скорости воспроизведения (если поддерживается файлом).▶▶: Увеличение скорости воспроизведения (если поддерживается файлом).▶▮: Переход на 5 секунд вперед (если поддерживается файлом).▲: Открыть файл.- Полоса прогресса: Щелчок позволяет перейти к определенной позиции воспроизведения (если поддерживается файлом).
Во время воспроизведения можно корректировать содержимое сцены и логику взаимодействия, что позволяет выполнять большую часть разработки на компьютере и видеть результаты визуально.
Примечание
При воспроизведении новых данных или переходе по позиции воспроизведения существующие данные в сцене не очищаются. Состояние AR-компонентов также не сбрасывается. Они будут вести себя так, как будто данные камеры внезапно перескочили с предыдущего кадра на новые данные.
Хотя это не сильно влияет на некоторые функции, для функций, зависящих от отслеживания движения (например, плотное картографирование пространства, Mega и т.д.), это может привести к аномальному состоянию функции и повлиять на производительность.
Управление рабочим процессом сессии
Чтобы использовать функцию управления рабочим процессом сессии инструмента, перед запуском необходимо установить флажок Session Workflow в инструменте. Этот флажок установлен по умолчанию.

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

В верхней части этой области отображаются два состояния: EasyARController.IsReady и ARSession.State.
В нижней части этой области представлены кнопки для управления рабочим процессом сессии:
Initialize: Инициализировать сессию. Можно выбрать использование лицензионного ключа, настроенного вProject Settings, или ввести ключ вручную.Assemble: Собрать сессию без запуска.StartSession (Assembled): Запустить собранную сессию.StartSession: Собрать и запустить сессию.StopSession: Остановить сессию.StopSession (keep image): Остановить сессию, но сохранить фоновое изображение.Deinitialize: Деинициализировать сессию.
Примечание
Поскольку эти функции управления напрямую вызывают соответствующие методы ARSession и EasyARController, с помощью этих кнопок можно проверить влияние изменений состояния сессии на содержимое. Однако следует помнить, что если аналогичные методы вызываются в скриптах приложения, рабочий процесс приложения может выйти за рамки ожиданий самого приложения.
Управление компонентами сессии
Чтобы использовать функцию управления компонентами сессии инструмента, перед запуском необходимо установить флажок Session Workflow в инструменте. Этот флажок установлен по умолчанию.

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

Содержимое этой области зависит от конкретной сессии. Например, на рисунке выше сессия включает три функциональных компонента: отслеживание изображений, плотное картографирование пространства и разреженное отслеживание пространства. Поэтому инструмент отображает элементы управления для включения/отключения этих трех функций.
В общем случае эта область отображает все доступные 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) и отчет сессии.
Примечание
Доступные режимы центра и отчет сессии, отображаемые в инструменте, являются результатом выполнения в редакторе. При работе на реальном устройстве они будут отличаться.
Связанные темы
- Попробуйте Имитационный запуск с использованием файлов EIF для управления воспроизведением EIF через скрипты.
- Попробуйте управлять выполнением сессии в скриптах.
- Попробуйте получать доступ к AR-компонентам в скриптах.
- Попробуйте получать результаты выполнения сессии в скриптах.
- Попробуйте инициализацию в скриптах.
- Попробуйте получать отчет сессии и определять поддержку устройств в скриптах.