Śledzenie kodu QR
Przed rozpoczęciem pracy w tym miejscu zalecamy zapoznanie się z artykułem z omówieniem śledzenia kodu QR , który zawiera omówienie, tabelę obsługi urządzeń i najlepsze rozwiązania.
Wykrywanie kodów QR
Dodawanie możliwości kamery internetowej
Aby wykryć kody QR, musisz dodać możliwość webcam
do manifestu. Ta możliwość jest wymagana, ponieważ dane w wykrytych kodach w środowisku użytkownika mogą zawierać informacje poufne.
Można zażądać uprawnień, wywołując polecenie QRCodeWatcher.RequestAccessAsync()
:
C#:
await QRCodeWatcher.RequestAccessAsync();
Przed utworzeniem obiektu QRCodeWatcher należy zażądać uprawnienia.
Chociaż wykrywanie kodu QR wymaga webcam
możliwości, wykrywanie odbywa się przy użyciu kamer śledzenia urządzenia. Zapewnia to szersze wykrywanie FOV i lepszą żywotność baterii w porównaniu do wykrywania za pomocą aparatu fotograficznego/wideo (PV) urządzenia.
Możesz użyć interfejsu API wykrywania kodu QR w a środowisku Unity bez importowania zestawu NARZĘDZI MRTK, instalując pakiet NuGet przy użyciu narzędzia NuGet dla aparatu Unity. Jeśli chcesz dowiedzieć się, jak to działa, pobierz przykładową aplikację aparatu Unity. Przykładowa aplikacja zawiera przykłady wyświetlania kwadratu holograficznego na kodach QR i skojarzonych danych, takich jak identyfikator GUID, rozmiar fizyczny, sygnatura czasowa i dekodowane dane.
Korzystanie z biblioteki OpenXR
W przypadku korzystania z wtyczki OpenXR pobierz element SpatialGraphNodeId
z interfejsu API QR i użyj interfejsu Microsoft.MixedReality.OpenXR.SpatialGraphNode
API, aby zlokalizować kod QR.
Do celów referencyjnych mamy przykładowy projekt śledzenia QR w witrynie GitHub z bardziej szczegółowym wyjaśnieniem użycia interfejsuSpatialGraphNode
API.
Pobieranie systemu współrzędnych dla kodu QR
Każdy wykryty kod QR uwidacznia system współrzędnych przestrzennych wyrównany do kodu QR w lewym górnym rogu kwadratu szybkiego wykrywania w lewym górnym rogu:
Po przekonwertowaniu na współrzędne aparatu Unity oś Z wskazuje z papieru i jest leworęczna.