Table of Contents

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

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

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

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

Также нужно понимать:

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

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

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

alt text

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

alt text

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

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

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

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

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

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

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

alt text

Если инструмент уже запущен, кнопка изменится на ; нажмите её, чтобы остановить инструмент.

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

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

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

alt text

Поэтому при запуске появится всплывающее окно, сообщающее, что используемая текущей session frame source управляется инструментом:

alt text

Примечание

Инструмент управляет выбором frame source только во время assembly в Unity Editor; при запуске собранного приложения эта опция не влияет ни на что.

При обычной работе элементы управления воспроизведением EIF отображаются в выделенной области в верхней части инструмента:

alt text

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

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

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

Примечание

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

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

Управление workflow session

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

alt text

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

alt text

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

В нижней части области находятся следующие кнопки управления workflow session:

  • Initialize: инициализировать session; можно использовать license key, настроенный в Project Settings, или ввести license key вручную
  • Assemble: собрать session, но не запускать её
  • StartSession (Assembled): запустить уже собранную session
  • StartSession: собрать и запустить session
  • StopSession: остановить session
  • StopSession (keep image): остановить session, но сохранить фон изображения
  • Deinitialize: деинициализировать session
Примечание

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

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

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

alt text

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

alt text

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

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

  • AR Session: управление включением/выключением самой session
  • Image Renderer: управление включением/выключением рендеринга изображения физической камеры
  • Camera: управление включением/выключением виртуальной камеры
  • Frame Source: управление включением/выключением frame source; доступно только когда frame player не включён. Когда frame player включён, управление функцией заменяется частью управления воспроизведением EIF
  • Frame Filter: управление включением/выключением конкретной AR-функции
  • Frame Recorder: управление включением/выключением компонента записи EIF; виден только когда frame player не включён. Когда frame player включён, этот компонент не собирается в session

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

Примечание

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

При использовании Mega в инструменте отображается управление компонентами Mega.

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