Nachverfolgen von QR-Codes
Bevor Sie hier beginnen, empfehlen wir Ihnen, einen Blick auf unseren Artikel zur Nachverfolgung von QR-Code zu werfen, der eine Übersicht, eine Tabelle zur Geräteunterstützung und bewährte Methoden enthält.
Erkennen von QR-Codes
Hinzufügen der Webcamfunktion
Sie müssen Ihrem Manifest die Funktion webcam
hinzufügen, um QR-Codes erkennen zu können. Diese Funktion ist erforderlich, da die Daten innerhalb der erkannten Codes in der Umgebung des Benutzers möglicherweise vertrauliche Informationen enthalten.
Die Berechtigung kann durch den Aufruf von QRCodeWatcher.RequestAccessAsync()
angefordert werden:
C#:
await QRCodeWatcher.RequestAccessAsync();
Vor dem Erstellen eines QRCodeWatcher-Objekts muss die Berechtigung angefordert werden.
Zwar ist die Funktion webcam
für die QR-Code-Erkennung erforderlich, die Erkennung erfolgt jedoch mithilfe der Überwachungskameras des Geräts. Dies bietet ein breiteres Sichtfeld für die Erkennung und längere Batterielaufzeiten im Vergleich mit der Erkennung über die Foto/Videokamera (FV) des Geräts.
Sie können die API zur QR-Code-Erkennung in Unity ohne den Import des MRTK nutzen, wenn Sie das NuGet-Paket mithilfe von NuGet for Unity installieren. Wenn Sie ein Gefühl für die Funktion erwerben möchten, laden Sie die Unity-Beispiel-App herunter. Die Beispiel-App enthält Beispiele zum Anzeigen eines holografischen Quadrats über QR-Codes und zugeordneten Daten wie GUID, physischer Größe, Zeitstempel und decodierten Daten.
Verwenden von OpenXR
Wenn Sie das OpenXR-Plug-In verwenden, greifen Sie von SpatialGraphNodeId
der QR-API ab, und verwenden Sie die Microsoft.MixedReality.OpenXR.SpatialGraphNode
API, um den QR-Code zu finden.
Als Referenz haben wir ein QR-Tracking-Beispielprojekt auf GitHub mit detaillierteren Nutzungserklärungen für die SpatialGraphNode
API.
Abrufen des Koordinatensystems für einen QR-Code
Jeder erkannte QR-Code macht ein räumliches Koordinatensystem verfügbar, das am QR-Code in der linken oberen Ecke des Schnellerkennungsquadrats oben links ausgerichtet ist:
Wenn sie in Unity-Koordinaten konvertiert wird, zeigt die Z-Achse aus dem Papier und ist linkshändig.