В последние годы технология AR стремительно развивается. После выпуска великолепного ARKit 3 в прошлом году, в этом году Apple выпустила ARKit 4 на WWDC 2020. Unity также расширила свою AR Foundation, чтобы быстро добавить эти новые функции из ARKit 3.5 и ARKit 4. С развитием технологии AR все больше и больше разработчиков используют Unity AR Foundation для разработки приложений AR, работающих на разных платформах.

Однако, как разработчик, использующий Unity AR Foundation, есть некоторые ошибки, которые могут заставить вас чувствовать себя плохо при разработке приложения AR. В этом посте будут подробно описаны 4 распространенные ошибки, из-за которых приложение AR отображает черный экран на вашем телефоне.

Ошибка №1: вы не установили пакет платформы для конкретной платформы

Я думаю, что это самая распространенная ошибка, с которой могут столкнуться разработчики AR при использовании AR Foundation в Unity для разработки приложений AR. Как видно из приведенной выше архитектуры решения AR в Unity, вы обнаружите, что AR Foundation - это просто абстрактный уровень для разработчиков, позволяющий разрабатывать свои приложения AR в Unity с использованием языка программирования C #.

Если вы устанавливаете только пакет AR Foundation через диспетчер пакетов Unity, он не будет автоматически устанавливать пакет платформы, необходимый на конкретной платформе. И вы должны установить его / их вручную.

Например, если вы хотите создать приложение AR на платформе iOS, вам необходимо установить подключаемый модуль ARKit XR.

Ошибка №2: устройство не поддерживает функцию дополненной реальности.

Она похожа на первую ошибку, но ее легко игнорируют разработчики, а именно возможности самого устройства.

Давайте еще раз посмотрим на архитектуру AR Foundation. Да, существует более низкий уровень, чем пакет платформы Unity, а именно уровень SDK, предоставляемый устройствами.

Эта ошибка чаще встречается на устройствах Android, чем на устройствах iOS, например, на телефонах Android, которые не могут установить Google AR Core SDK, или версия устройства для ОС Android не соответствует требованиям AR Core SDK.

Ошибка № 3: универсальный конвейер рендеринга настроен неправильно

Если вы хотите использовать универсальный конвейер рендеринга вместо встроенного конвейера рендеринга в Unity, вам необходимо обновить свой пакет AR Foundation и соответствующий пакет подключаемого модуля ARKit XR до версии 3.0.0 или более поздней, поскольку версия AR Foundation, проверенная по умолчанию пакет на Unity 2019.x - 2.xx

Затем вы устанавливаете пакет Universal RP и устанавливаете для UniversalRenderPipelineAsset значение Graphic вашего проекта, чтобы заменить встроенный конвейер рендеринга. Создайте приложение AR для запуска на своем iPhone, и вы увидите черный экран.

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

Ошибка №4: обновление до AR Foundation 4.0.x и неправильная настройка

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

Теперь давайте обновим пакет AR Foundation и соответствующий пакет платформы (плагин ARKit XR) до 4.0.2 и сохраним все остальные настройки, как прежде. Соберите приложение и запустите его на своем iPhone, и вы получите еще один черный экран со следующим сообщением об ошибке.

Исправить эту ошибку несложно, вам просто нужно проверить поставщиков плагинов в панели управления плагинами XR. Но делать это до AR Foundation 4.x не обязательно.

Теперь ваше приложение должно работать должным образом.

Спасибо за чтение и надеюсь, что это полезно.

Поговорите на https://www.linkedin.com/in/chenjd/