Поделиться через


Устранение неполадок с World Locking Tools

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

Проблемы с привязкой к миру

низкая частота кадров;

Средство World Locking Tools не должно оказывать заметного влияния на частоту кадров. (Исключением является то, что визуализации в конечном итоге будут понижать частоту кадров после создания множества привязок, но визуализаторы предназначены только для диагностики, а не для использования в приложении.)

Если после добавления World Locking Tools в приложение вы обнаружите уменьшение частоты кадров, проверьте журналы Unity. Это обычно означает, что многократно создается исключение.

Ошибки вида "отсутствует DLL"

Такие ошибки обычно выдаются библиотекой DLL движка Frozen World. Чтобы устранить их, следуйте инструкциям в документации по настройке, чтобы обновить движок FrozenWorld до последней версии. Выполните эти инструкции без изменения номера версии, чтобы исправить установку.

Вы также можете выполнить установку с помощью средства MR Feature Tool. Это средство самостоятельно обрабатывает зависимости.

Отсутствует пространство имен FrozenWorld

Ошибки, подобные следующим (как правило, в большом количестве):

Assets\WorldLocking.Engine\Plugin.cs(10,37): error CS0234: The type or namespace name 'FrozenWorld' does not exist in the namespace 'Microsoft.MixedReality' (are you missing an assembly reference?) (ошибка CS0234: тип или пространство имен FrozenWorld не существует в пространстве имен Microsoft.MixedReality (отсутствует ссылка на сборку?))

Отсутствует библиотека DLL FrozenWorld.Engine. См. раздел Настройка NuGet.

Кроме того, можно выполнить установку с помощью средства MR Feature Tool, которое настроит зависимости для вас.

Что-то не работает

Проверьте журналы Unity на наличие ошибок и исключений.

Убедитесь, что камера сцены привязана по меньшей мере к еще одному объекту. Пример приведен в WorldLocking.Examples.WorldLockingPhysicsSample. Если вы выполняете динамическое изменение положения камеры, вам может потребоваться передавать WorldLockingManager информацию о текущем состоянии камеры. См. WorldLockingManager.AdjustmentFrame и WorldLockingManager.CameraParent.

Более общие проблемы Unity/AR

"DirectoryNotFoundException: Could not find a part of the path"

Не удалось найти часть путь из-за того, что путь стал слишком длинным. Более полное объяснение см. здесь.

Вы видите сообщение "A remote operation is taking longer than expected" (Удаленная операция занимает больше времени, чем ожидалось), а затем сбой развертывания

Проверьте USB-подключение. Причиной может быть неисправный кабель, неисправный порт, отсутствие IPOverUSB. Но, вероятно, причина где-то на пути связи между ПК и устройством.

Отсутствуют компоненты SDK Windows

Несоответствие версии Visual Studio, указанной в Unity, и версии Visual Studio, которая используется для сборки. Убедитесь, что:

Unity > File > Build Settings > Visual Studio Version

Особенно опасно, если задано значение Latest Installed и установлено несколько версий Visual Studio.

На HoloLens приложение запускается в виде планшета, а не AR

Если вы нацеливаетесь на встроенную в Unity поддержку виртуальной реальности, также известную как Legacy XR, проверьте следующее:

Unity > Project Settings > Player > XR Settings

Необходимо установить флажок Virtual Reality Supported (Поддержка виртуальной реальности) и Windows Mixed Reality в пакетах SDK виртуальной реальности.

Если вы используете подсистемы дополненной реальности Unity или пакеты SDK смешанной реальности, убедитесь, что вы выполнили все шаги в статье Кроссплатформенность с использованием подключаемой системы пакета SDK XR для Unity. Вероятные причины:

  • Отсутствует один из необходимых пакетов.
  • Соответствующий профиль не задан для объекта MixedRealityToolkit (при использовании MRTK).

При сборке приложения для ARM на HoloLens 2 приложение останавливается при запуске, ARM64 работает нормально

Известная проблема.

Для исправления нужно либо отключить задания графики (Graphics Jobs) в

Project Settings > Player > Other Settings > Graphics Jobs

или просто выполнить сборку для ARM64.

Эта проблема устранена в Unity 2019.4 и Unity 2020.3.

См. также