Настройка и использование сцен AR Foundation в проекте EasyAR
При использовании AR Foundation в Unity часто требуется полагаться на EasyAR для преодоления ограничений устройств в AR Foundation. Ниже описано, как правильно настроить и использовать AR Foundation в сценах EasyAR, а также как динамически включать AR Foundation в зависимости от поддержки устройством.
Перед началом
- Прочтите Поддержка Unity XR Framework в EasyAR, чтобы узнать о поддержке Unity XR Framework в EasyAR и о том, когда можно использовать AR Foundation.
- Прочтите Включение AR Foundation в проекте EasyAR, чтобы узнать, как установить и настроить AR Foundation в проекте EasyAR.
Добавление компонентов AR Foundation
Добавьте AR Session и XR Origin от AR Foundation в сцену EasyAR.
Добавление AR Session
В окне Hierarchy щелкните правой кнопкой мыши на пустом месте, затем через меню XR > AR Session добавьте ARSession от Unity в сцену.

Примечание
Этот AR Session отличается от AR Session в EasyAR; они должны одновременно присутствовать в сцене.
Добавление XR Origin
В окне Hierarchy щелкните правой кнопкой мыши на пустом месте, затем через меню XR > XR Origin (Mobile AR) добавьте XROrigin от Unity в сцену.

Примечание
Этот XR Origin дублирует функциональность XR Origin в EasyAR; необходимо использовать Unity XR Origin вместо XR Origin от EasyAR.
Если в сцене уже присутствует XR Origin от EasyAR (обычно называется XR Origin (EasyAR)), переместите его дочерние объекты под вновь созданный XR Origin, затем удалите XR Origin (EasyAR).

Если под новым XR Origin отсутствует XR Origin Child, добавьте его вручную.
В окне Hierarchy выберите XR Origin, щелкните правой кнопкой мыши и через меню EasyAR Sense > Origin > Origin : XR Origin Child добавьте XR Origin Child под XR Origin.

Настройка камеры
Если в сцене уже присутствует Camera для AR, вы заметите появление лишней основной камеры. Удалите исходную камеру.

Затем выберите Main Camera под XR Origin и настройте камеру в соответствии с инструкциями в Настройки камеры.
В итоге структура сцены EasyAR с добавленным AR Foundation должна выглядеть примерно так:
Осторожно
Если требуется изменить конфигурацию AR Foundation через ARCameraManager.currentConfiguration, учтите, что некоторые телефоны (например, Xiaomi 10) имеют проблемы: после изменения конфигурации изображение может стать недоступным, и EasyAR перестанет работать (фон приложения отображается, но функции EasyAR не реагируют). Поэтому обычно не рекомендуется вносить изменения; если это необходимо, обеспечьте стратегию отката на случай недоступности EasyAR.
Совместимость устройств и динамическое включение AR Foundation
EasyAR поддерживает гораздо больше устройств, чем AR Foundation, поэтому необходимо настроить приложение для включения AR Foundation только при необходимости, полностью отключая его в остальных случаях.
Проверка компонента frame source
Как правило, session, созданные через меню EasyAR, автоматически добавляют ARCoreARFoundationFrameSource и ARKitARFoundationFrameSource (за исключением случаев, когда не требуются функции SLAM, например, при отслеживании изображений).

Важно
ARCoreARFoundationFrameSource и ARKitARFoundationFrameSource — это источники кадров (frame source), предоставляемые EasyAR, для активации функций AR Foundation на поддерживаемых устройствах. Если session в сцене не содержит этих источников кадров, функции AR Foundation не смогут быть включены.
Если session в сцене не содержит этих источников кадров, добавьте их вручную через меню.

Для работы на телефонах без поддержки AR Foundation, также убедитесь, что session содержит источники кадров, отличные от AR Foundation. Типичный ARSession должен выглядеть примерно так:

Совет
Источники кадров можно сортировать по мере необходимости. Во время выполнения приложения session выберет первый доступный источник кадров в порядке их расположения в иерархии, в зависимости от поддержки устройством.
Включение AR Foundation только при необходимости
Поскольку AR Foundation на телефонах использует реализации ARCore и ARKit, которые работают только на ограниченном числе устройств (особенно на многих китайских Android-телефонах), обычно рекомендуется включать AR Foundation и связанные скрипты только на поддерживаемых устройствах.
EasyAR может автоматизировать этот процесс. Эту функцию можно включить или отключить через опцию Unity XR > Unity XR Auto Switch в Project Settings > EasyAR > Sense. Подробности см. в Автоматическое переключение объектов Unity XR.
Сохранение совместимости сцен с AR Foundation
Сцена с правильно добавленными компонентами AR Foundation будет работать корректно как при установленном, так и при отсутствующем пакете AR Foundation.
При отсутствии пакета AR Foundation его функции и соответствующие источники кадров будут недоступны, а в сцене будут отсутствовать некоторые скрипты — это нормально.

Совет
Многие примеры (samples) работают как при установленном, так и при отсутствующем пакете AR Foundation. Для добавления поддержки AR Foundation в эти примеры достаточно включить AR Foundation в проекте EasyAR.
Следующие шаги
- Узнайте, как автоматически переключать AR Foundation в зависимости от поддержки устройством.
Связанные темы
- Упомянутые AR-компоненты:
- AR Foundation предоставляет возможности отслеживания движения на некоторых устройствах. О связи отслеживания движения с функциями EasyAR см.:
- Дополнительную информацию о настройке сцен AR Foundation см. в официальной документации AR Foundation (обратите внимание на выбор версии документации):