QR-Codes in UnrealQR codes in Unreal

ÜbersichtOverview

HoloLens 2 kann QR-Codes in der Außenwelt mithilfe der Webcam sehen und gibt sie mithilfe eines Koordinatensystems an jeder Position von Codes in der Realwelt als Hologramme wieder.The HoloLens 2 can see QR codes in world space using the webcam, which renders them as holograms using a coordinate system at each code's real-world position. Über einzelne QR-Codes hinaus kann HoloLens 2 Hologramme außerdem an der gleichen Position auf mehreren Geräten rendern, um eine gemeinsame Erfahrung zu ermöglichen.In addition to single QR codes, HoloLens 2 can also render holograms in the same location on multiple devices to create a shared experience. Achten Sie darauf, die bewährten Methoden für das Hinzufügen von QR-Codes zu Ihren Anwendungen zu befolgen:Make sure you're following the best practices for adding QR codes to your applications:

  • RuhezonenQuiet zones
  • Beleuchtung und HintergrundLighting and backdrop
  • Größe, Abstand und WinkelpositionSize, distance, and angular position

Achten Sie besonders auf Umgebungsaspekte, wenn in Ihrer App QR-Codes platziert werden.Pay special attention to the environment considerations when QR codes are being placed in your app. Weitere Informationen zu jedem dieser Themen und Anweisungen zum Herunterladen des erforderlichen NuGet-Pakets finden Sie im Dokument zum Nachverfolgen von QR-Codes.You can find more information on each of these topics and instructions on how to download the required NuGet package in the main QR code tracking document.

Aktivieren der QR-ErkennungEnabling QR detection

Da HoloLens 2 die Webcam verwenden muss, um QR-Codes zu sehen, müssen Sie diese in den Projekteinstellungen aktivieren:Since the HoloLens 2 needs to use the webcam to see QR codes, you'll need to enable it in the project settings:

  • Öffnen Sie Edit > Project Settings (Bearbeiten > Projekteinstellungen), scrollen Sie zum Abschnitt Platforms (Plattformen), und klicken Sie auf HoloLens.Open Edit > Project Settings, scroll to the Platforms section and click HoloLens.
    • Klappen Sie den Abschnitt Capabilities (Funktionen) auf, und aktivieren Sie Webcam.Expand the Capabilities section and check Webcam.  

Ferner müssen Sie die Nachverfolgung von QR-Codes abonnieren, indem Sie ein ARSessionConfig-Objekt hinzufügen.You'll also need to opt into QR code tracking by adding an ARSessionConfig asset.

Unmittelbar vor der Verwendung sollten Sie die Nachverfolgung manuell durch Aufrufen von UHoloLensARFunctionLibrary::StartCameraCapture() aktivieren.Right before the usage, you should manually enable the tracking by calling UHoloLensARFunctionLibrary::StartCameraCapture(). Nachdem Sie die QR-Codenachverfolgung beendet haben, sollten Sie sie mittels UHoloLensARFunctionLibrary::StopCameraCapture() deaktivieren, um die Geräteressourcen zu sparen.After ending the QR code tracking, you should disable it by UHoloLensARFunctionLibrary::StopCameraCapture() to save the device resources.

Einrichten eines nachverfolgten BildsSetting up a tracked image

QR-Codes werden über das AR-Geometrienachverfolgungssystem von Unreal als nachverfolgtes Bild bereitgestellt.QR codes are surfaced through Unreal’s AR tracked geometry system as a tracked image. Damit dies funktioniert, müssen Sie Folgendes ausführen:To get this working, you'll need to:

  1. Erstellen einer Blaupause und Hinzufügen einer ARTrackableNotify-Komponente.Create a Blueprint and add an ARTrackableNotify component.

QR: In AR nachverfolgbare Benachrichtigung

  1. Wählen Sie ARTrackableNotify aus, und klappen Sie im Bereich Details den Abschnitt Events (Ereignisse) auf.Select ARTrackableNotify and expand the Events section in the Details panel.

QR: Ereignisse

  1. Klicken Sie neben On Add Tracked Geometry (Beim Hinzufügen von nachverfolgter Geometrie) auf + , um dem Ereignisdiagramm den Knoten hinzuzufügen.Click + next to On Add Tracked Geometry to add the node to the Event Graph.

Knoten zu On Add Tracked Geometry hinzufügen

Verwenden eines nachverfolgten BildsUsing a tracked image

Das Ereignisdiagramm in der folgenden Abbildung zeigt, wie das OnUpdateTrackedImage-Ereignis dazu verwendet wird, einen Punkt in der Mitte eines QR-Codes zu rendern und dessen Daten auszugeben.The Event Graph in the following image shows the OnUpdateTrackedImage event being used to render a point in the center of a QR code and print out its data.

QR: Renderbeispiel

Das geschieht bei diesem Vorgang:Here's what's going on:

  1. Zunächst wird das nachverfolgte Bild in einen ARTrackedQRCode umgewandelt, um zu prüfen, ob es sich bei dem aktuellen aktualisierten Bild um einen QR-Code handelt.First, the tracked image is cast to an ARTrackedQRCode to check that the current updated image is a QR code.
  2. Die codierten Daten werden aus der QRCode-Variable abgerufen.The encoded data is retrieved from the QRCode variable. Sie können den oberen linken Punkt des QR-Codes aus der Position von GetLocalToWorldTransform und seine Abmessungen mit GetEstimateSize abrufen.You can get the top-left of the QR code from the location of GetLocalToWorldTransform and the dimensions with GetEstimateSize.

Ferner können Sie das Koordinatensystem für einen QR-Code in Code abrufen.You can also get the coordinate system for a QR code in code.

Ermitteln der eindeutigen IDFinding the unique ID

Jeder QR-Code weist eine eindeutige GUID-ID auf, die Sie auf diese Weise herausfinden können:Every QR code has a unique guid ID, which you can find by:

  • Ziehen und Ablegen des As ARTracked QRCode-Stifts und Suchen nach Get Unique ID (Eindeutige ID abrufen).Dragging and dropping the As ARTracked QRCode pin and searching for Get Unique ID.

QR: GUID

Mit QR-Codes passiert eine Menge hinter den Kulissen, daher ist diese Erörterung nicht abschließend.There's a lot going on behind the scenes with QR codes, so this isn't the end of the road. Folgen Sie unbedingt den folgenden Links, um mehr über die inneren Vorgänge zu erfahren.Be sure to check out the following links for more details on what's under the hood.

Nächster EntwicklungsprüfpunktNext Development Checkpoint

Wenn Sie dem Weg der Unity-Entwicklungsprüfpunkte folgen, den wir entworfen haben, befinden Sie sich mitten im Kennenlernen der Mixed Reality-Plattformfunktionen und APIs.If you're following the Unreal development checkpoint journey we've laid out, you're in the midst of exploring the Mixed Reality platform capabilities and APIs. Von hier aus können Sie mit dem nächsten Thema fortfahren:From here, you can proceed to the next topic:

Oder wechseln Sie direkt zur Bereitstellung Ihrer App auf einem Gerät oder Emulator:Or jump directly to deploying your app on a device or emulator:

Sie können jederzeit zu den Prüfpunkten für die Unreal-Entwicklung zurückkehren.You can always go back to the Unreal development checkpoints at any time.

Siehe auchSee also