Отслеживание QR-кода
Прежде чем приступить к работе, рекомендуем ознакомиться с обзорной статьей об отслеживании QR-кода , которая содержит обзор, таблицу поддержки устройств и рекомендации.
Обнаружение QR-кодов
Добавление возможности веб-камеры
Вам потребуется добавить в манифест возможность webcam
обнаружения QR-кодов. Эта возможность необходима, так как данные в обнаруженных кодах в среде пользователя могут содержать конфиденциальную информацию.
Разрешение можно запросить, вызвав :QRCodeWatcher.RequestAccessAsync()
C#:
await QRCodeWatcher.RequestAccessAsync();
Перед созданием объекта QRCodeWatcher необходимо запросить разрешение.
Хотя для обнаружения QR-кода требуется webcam
возможность, обнаружение выполняется с помощью камер отслеживания устройства. Это обеспечивает более широкое обнаружение FOV и лучшее время работы батареи по сравнению с обнаружением с помощью фото- и видео камеры устройства.
Вы можете использовать API обнаружения QR-кода в Unity без импорта MRTK, установив пакет NuGet с помощью NuGet для Unity. Если вы хотите почувствовать, как это работает, скачайте пример приложения Unity. Пример приложения содержит примеры отображения голографического квадрата по QR-кодам и связанным данным, таким как GUID, физический размер, метка времени и декодированные данные.
Использование OpenXR
При использовании подключаемого модуля OpenXR извлеките SpatialGraphNodeId
из API QR-кода и используйте Microsoft.MixedReality.OpenXR.SpatialGraphNode
API для поиска QR-кода.
Для справки у нас есть пример проекта отслеживания QR на сайте GitHub с более подробным описанием SpatialGraphNode
использования API.
Получение системы координат для QR-кода
Каждый обнаруженный QR-код предоставляет систему пространственных координат , выровненную с QR-кодом в левом верхнем углу квадрата быстрого обнаружения в левом верхнем углу:
При преобразовании в координаты Unity ось Z указывает на бумагу и является левой рукой.