Добавление целей отслеживания Mega
В статье описано, как добавить и настроить цели отслеживания Mega.
Перед началом
- Проверьте Моя библиотека локализации готова к использованию?
- Импортируйте последнюю версию плагина EasyAR и включите функцию Mega
- Изучите базовые концепции и методы использования Целей отслеживания в Unity AR
Примечание
Следующее содержимое и инструменты применимы только для разработки приложений Unity с использованием EasyAR Mega.
Если вы разрабатываете мини-приложение, обратитесь к Созданию и загрузке аннотаций с использованием Unity Editor (разработка мини-приложений).
Если вы не разрабатываете приложение Unity, но хотите просмотреть результаты построения карты Mega, обратитесь к Просмотру 3D-реального сетки в Руководстве по использованию Mega.
Если вы не разрабатываете приложение Unity, но нуждаетесь в имитационном запуске для просмотра эффекта локализации, обратитесь к Просмотру имитационного запуска в Руководстве по использованию Mega.
В этом документе предполагается, что в проекте уже импортированы следующие пакеты Unity:
com.easyar.sense
Цели отслеживания Mega
Целью отслеживания Mega является пустой объект, содержащий компонент MegaBlockController, который в Unity представляет собой блок.

Примечание
При не импорте пакета com.easyar.mega функции редактора блока недоступны, но это не влияет на эффект и функции отслеживания во время выполнения.
Если в конфигурации функция Mega не включена правильно, то ее нельзя будет использовать.

Создание цели отслеживания
Щелкните правой кнопкой мыши на пустом месте в представлении Hierarchy и выберите в меню EasyAR Sense > Mega > Target : Mega Block, чтобы создать цель отслеживания Mega.

В сценарии можно использовать ARSessionFactory.CreateController для создания.
ARSessionFactory.CreateController<MegaBlockController>();
Настройка отслеживаемых целей
Настройка источника данных target
Цели отслеживания могут быть распознаны и отслежены только после правильной настройки их источника.
В представлении Hierarchy можно выбрать узел блока и заполнить идентификатор и имя блока.

В скрипте можно изменить Source перед MonoBehaviour.Start(), чтобы настроить источник блока.
block.Source = new MegaBlockController.BlockInfoSourceData(id, name);
Где:
- Идентификатор блока (block id) является уникальным идентификатором блока и должен быть заполнен.
- Имя блока (block name) - это имя блока, которое можно заполнить по желанию. Как правило, рекомендуется указывать реальное имя блока для удобства идентификации.
Совет
Идентификатор и имя блока можно получить в соответствующей базе позиционирования в центре разработки EasyAR.

Если в базе позиционирования нет данных о блоке, необходимо добавить нужный блок в базу позиционирования и снова проверить действительность облачной базы позиционирования.
Конфигурация трекера, используемого target
Цель отслеживания загружается настроенным трекером и отслеживается после правильного позиционирования.
В представлении Hierarchy можно выбрать узел блока, а затем выбрать Mega Tracker в сессии.
![]()
В скрипте можно изменить Tracker для настройки трекера блока.
block.Tracker = megaTracker;
Tracker можно изменить в любое время во время выполнения. Загрузка/выгрузка произойдет во время выполнения сессии. Если установить Tracker в null, этот target будет выгружен из ранее настроенного трекера. Загрузка блока - это виртуальный процесс и не может завершиться с ошибкой.
Примечание
Для отслеживания target есть несколько ключевых условий:
idMegaBlockController.Source должен быть правильно настроен до MonoBehaviour.Start().- Блок, соответствующий
idэтого Source, должен существовать в библиотеке позиционирования. - MegaBlockController.Tracker должен быть настроен для использования правильной библиотеки позиционирования.
Отслеживание жизненного цикла цели
Типичный жизненный цикл отслеживаемой цели выглядит следующим образом:
flowchart LR
sstart((сеанс запущен))
sstop([сеанс остановлен])
start("Target.Start")
load("Загрузка")
tracking[["Непрерывное отслеживание"]]
sstart --> load --> tracking --> sstop
start -. "Target.Tracker = tracker" .-> load
Процесс можно грубо разделить на несколько этапов:
- Загрузка: Цель загружается трекером, для которого она настроена. Это происходит после Start() самой цели и после запуска сеанса.
- Процесс отслеживания: После того как цель локализована, трекер продолжает отслеживать её положение и состояние до тех пор, пока не будет локализована другая цель.
- Выгрузка: Цель выгружается из трекера, и трекер прекращает её отслеживание. Это происходит после остановки сеанса или после того, как для цели отключается использование трекера.







