ym88659208ym87991671
Симуляция работы навигации внутри Unity Editor | Документация для разработчиков

Симуляция работы навигации внутри Unity Editor

Обновлено 17 января 2023

По умолчанию для локализации внутри Unity Editor вместо изображения с камеры отправляется заготовленная фотография. Фотография для отправки устанавливается в компоненте FakeCamera на объекте VPS → MockData в сцене Main

Fake camera

Вы можете заменить фотографию в свойстве FakeTexture, перетащив её в соответствующее поле. Тестовые фотографии можно найти в папке Assets → Images.

Вы также можете использовать свои фотографии: они должны быть не размытыми и иметь разрешение 540 на 960, рекомендуемый формат: png или jpeg (jpg). Для теста на собственных фотографиях необходимо положить их в папку Assets и в окне Inspector для каждой установить тип “Sprite (2D and UI)” и галочку Read/Write Enabled, и поместить в значение свойства FakeTexture.

Test image

Вы можете протестировать работу приложения без билда приложения на устройство, внутри Unity Editor с помощью компонента FreeFlightSimulation. FreeFlightSimulation находится в сцене Main, на одноимённом объекте в дочерних объектах VPS.

Free flight simulation object
Free flight simulation

Отличительные особенности режима:

  • для перехода в Free flight нажмите клавишу ToggleFreeFlightMode (определена в VPSLocalisationService, по умолчанию Tab);
  • при переходе в Free flight VPS будет выключен;
  • при переходе в Free flight будет загружен и включён canvas IsFreeFlightPrefab, сообщающий о нахождение в этом режиме. При необходимости вы можете заменить его на собственный или отключить полностью, сделав поле IsFreeFlightPrefab пустым;
  • при нажатии SimulateLocalizationButton (по умолчанию E) будет произведена локализация в позицию дочернего объекта FreeFlightSimalution LocalizationPose;
  • вы можете вращать камеру движением курсора; по умолчанию курсор блокируется при переходе в Free flight, но вы можете изменить это поведение в поле LockCursor в FreeFlightSimalution. Также в этом компоненте вы можете настроить чувствительность мыши и максимальный угол наклона;
  • вы можете перемещать камеру по сцене используя кнопки W (вперёд), A (влево), S (назад), D (вправо) и Left Shift для ускорения. Скорость и множитель при ускорении можно настроить в FreeFlightSimalution;
  • при попытке запуска VPS при включённом режиме Free flight VPS не будет запущен, но через LocalizationDelay (по умолчанию 3) секунд будет отправлено событие об успешной локализации в текущей позиции;
  • для выхода из Free flight повторно нажмите клавишу ToggleFreeFlightMode (определена в VPSLocalisationService, по умолчанию Tab). Обратите внимание, что при выходе из режима трекинг будет сброшен, а для запуска VPS в стандартном режиме вам потребуется вызвать StartVPS.
Free flight mode

Во время симуляции передвижения и вращения камеры приложение реагирует на происходящее как при реальном тестировании на устройстве:

  • при движении по маршруту будет заполняться шкала прогресс бара и уменьшаться количество оставшихся до точки назначения метров;
  • при отводе камеры от навигационной линии по бокам экрана будут появляться гайдинги;
  • при отклонении от маршрута на определённое расстояние он будет перестроен;
  • при достижении точки назначения вызовется соответствующее события и подписанные на него действия.

Также обратите внимание, что если при движении по маршруту вы зайдёте в недостижимую зону (например, при проходе через стену), и приложение не сможет построить путь между вашей текущей позицией и точкой назначения, будет сгенерировано событие ARNavigationSession OnPathFindingFailed. Поскольку в FreeFlightMode локализация выполняется моково в текущем местоположении камеры, для перестроения и продолжения прохождения по маршруту вам необходимо выйти из недостижимой зоны.

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.