3. Speichern, Abrufen und Freigeben von Azure Spatial Anchors3. Saving, retrieving, and sharing Azure Spatial Anchors

In diesem Tutorial erfahren Sie, wie Sie Azure Spatial Anchors über mehrere App-Sitzungen hinweg speichern, indem Sie die Anker-ID im Speicher von HoloLens 2 speichern.In this tutorial, you will learn how to save Azure Spatial Anchors across multiple app sessions by saving the anchor ID to the HoloLens 2's storage. Darüber hinaus erfahren Sie, wie Sie diese Anker-ID für für andere Geräte freigeben, um eine Ankerausrichtung auf mehreren Geräten zu erreichen.You will also learn how to share this anchor ID to other devices for a multi-device anchor alignment.

ZieleObjectives

  • Erfahren, wie die räumliche Ausrichtung über mehrere App-Sitzungen erreicht wirdLearn how to achieve spatial alignment across multiple app sessions.
  • Erfahren, wie räumliche Ausrichtung zwischen mehreren Geräten erreicht werden kannLearn how to achieve spatial alignment between multiple devices.

Vorbereiten der SzenePreparing the scene

Klappen Sie im Hierarchiefenster das ButtonParent-Objekt auf.In the Hierarchy window, expand the ButtonParent object. Wählen Sie die vier letzten untergeordneten Schaltflächenobjekte aus.Select the last four child button objects. Aktivieren Sie im Inspektorfenster das Kontrollkästchen neben dem Namensfeld, um alle diese Objekte als aktiv festzulegen.In the Inspector window, check the checkbox next to the name field to make all the objects active.

Unity mit zuvor inaktiven Schaltflächenobjekten, die ausgewählt und aktiviert sind

Wählen Sie im Hierarchiefenster die ButtonParent-Objekte aus.In the Hierarchy window, select the ButtonParent objects. Suchen Sie dann im Inspektorfenster die GridObjectCollection-Komponente, und klicken Sie auf die Schaltfläche Update Collection (Sammlung aktualisieren), um die Position aller untergeordneten Objekte des ButtonParent-Objekts zu aktualisieren.Then in the Inspector window, locate the GridObjectCollection component and click the Update Collection button to update the position of all the ButtonParent object's child objects.

Unity mit aktualisierter GridObjectCollection-Komponente

Beibehalten von Azure Spatial Anchors über App-Sitzungen hinwegPersisting Azure Spatial Anchors between app sessions

In diesem Abschnitt erfahren Sie, wie Sie die Azure Anchor ID auf der lokalen Festplatte der HoloLens speichern und abrufen.In this section, you will learn how to save and retrieve the Azure Anchor ID to and from the HoloLens' local disk. Auf diese Weise können Sie in verschiedenen App-Sitzungen die gleiche Anchor-ID bei Azure abrufen.This will allow you to query Azure for the same anchor ID between different app sessions. Das ermöglicht es, verankerte Hologramme an den gleichen Orten zu positionieren wie in der vorangegangenen App-Sitzung.It will enable the anchored holograms to be positioned at the same location as in the previous app session.

Klappen Sie im Hierarchiefenster das ButtonParent-Objekt auf, und suchen Sie die zwei Schaltflächen mit den Namen SaveAzureAnchorIdToDisk und GetAzureAnchorIdFromDisk:In the Hierarchy window, expand the ButtonParent object and locate the two buttons named SaveAzureAnchorIdToDisk and GetAzureAnchorIdFromDisk:

Unity mit ausgewählten SaveAzureAnchorIdToDisk- und GetAzureAnchorIdFromDisk-Schaltflächenobjekten

Führen Sie die gleichen Schritte wie in den Anleitungen zum Konfigurieren der Schaltflächen zum Betreiben der Szene aus dem vorhergehenden Tutorial aus, um die Komponente Interactable (Script) für jede der zwei Schaltflächen zu konfigurieren:Follow the same steps as in the configuring the buttons to operate the scene instructions from the previous tutorial to configure the Interactable (Script) component on each of the two buttons:

  • Weisen Sie für das SaveAzureAnchorIdToDisk-Schaltflächenobjekt die AnchorModuleScript-> SaveAzureAnchorIdToDisk () -Funktion zu.For the SaveAzureAnchorIdToDisk button object, assign the AnchorModuleScript > SaveAzureAnchorIdToDisk () function.
  • Weisen Sie für das GetAzureAnchorIdFromDisk-Schaltflächenobjekt die AnchorModuleScript > GetAzureAnchorIdFromDisk () -Funktion zu.For the GetAzureAnchorIdFromDisk button object, assign the AnchorModuleScript > GetAzureAnchorIdFromDisk () function.

Wenn Sie die aktualisierte App für Ihre HoloLens erstellen, können Sie jetzt Azure Spatial Anchors zwischen App-Sitzungen beibehalten, indem Sie die Azure Anchor ID speichern.If you build the updated app to your HoloLens, you can now persist Azure Spatial Anchors between app sessions by saving the Azure Anchor ID. Um das zu Testen, können Sie diese Schritte ausführen:To test it out, you can follow these steps:

  1. Bewegen des Rover Explorers an die gewünschte PositionMove the Rover Explorer to the desired location
  2. Starten einer Azure-SitzungStart Azure Session
  3. Erstellen von Azure Anchors (erstellt Anker an der Position des Rover Explorers)Create Azure Anchor (creates anchors at the location of the Rover Explorer)
  4. Speichern der Azure Anchor-ID auf dem DatenträgerSave Azure Anchor ID to Disk
  5. Erneutes Starten der AppRestart the app
  6. Abrufen des Azure Anchors vom Datenträger (lädt die Anker-ID, die Sie gerade erst gespeichert haben)Get Azure Anchor from Disk (loads the anchor ID you just saved)
  7. Starten einer Azure-SitzungStart Azure Session
  8. Suchen eines Azure Anchors (platziert den Rover Explorer an der Position aus Schritt 3)Find Azure Anchor (positions the Rover Explorer at the location from step 3)

Hinweis

Für einen vollständigen Neustart der App muss nach dem Schließen der immersiven App-Ansicht das App-Fenster in der Mixed Reality Startumgebung geschlossen werden, bevor die App über das Startmenü neu gestartet wird.To fully restart the app, after exiting the immersive app view, the app window in the mixed reality home needs to be closed before relaunching it from the Start menu. Weitere Details finden Sie in der Dokumentation Verwenden von Apps in HoloLens.For additional details, you can refer to the Using apps on HoloLens documentation.

Teilen von Azure Spatial Anchors zwischen GerätenSharing Azure Spatial Anchors between devices

In diesem Abschnitt erfahren Sie, wie Sie die Azure Anchor ID gemeinsam auf mehreren Geräten verwenden.In this section, you will learn how to share the Azure Anchor ID between multiple devices. Dies ermöglicht es mehreren Geräten, die gleiche Anchor ID bei Azure abzufragen, was die räumliche Ausrichtung der verankerten Hologramme gestattet.This will allow multiple devices to query Azure for the same anchor ID, allowing the anchored holograms to be spatially aligned. Die räumliche Ausrichtung, d. h. die Anzeige der gleichen Hologramme an den gleichen physischen Positionen auf mehreren Geräten, ist entscheidend für gemeinsame lokale Benutzererlebnisse in HoloLens 2.Spatial alignment, i.e., seeing the same holograms in the same physical location between multiple devices, is key to local shared experiences in the HoloLens 2.

Es gibt viele Möglichkeiten, Azure Anchor IDs zwischen Geräten zu übertragen, einschließlich der Methoden, die in der Reihe der Tutorials zu Mehrbenutzerfunktionen beschrieben sind.There are many ways to transfer Azure Anchor IDs between devices, including methods outlined in the Multi-user capabilities tutorials series. In diesem Beispiel verwenden Sie einen einfachen Webdienst zum Hochladen und Herunterladen von Anchor IDs zwischen Geräten.In this example, you will use a simple web service to upload and download anchor IDs between devices.

Klappen Sie im Hierarchiefenster das ButtonParent-Objekt auf.In the Hierarchy window, expand the ButtonParent object. Suchen Sie die zwei Schaltflächen ShareAzureAnchorIdToNetwork und GetAzureAnchorIdFromNetwork:Locate the two buttons named ShareAzureAnchorIdToNetwork and GetAzureAnchorIdFromNetwork:

Unity mit ausgewählten ShareAzureAnchorIdToNetwork- und GetAzureAnchorIdFromNetwork-Schaltflächenobjekten

Führen Sie die gleichen Schritte wie in den Anleitungen zum Konfigurieren der Schaltflächen zum Betreiben der Szene aus dem vorhergehenden Tutorial aus, um die Komponente Interactable (Script) für jede der zwei Schaltflächen zu konfigurieren:Follow the same steps as in the configuring the buttons to operate the scene instructions from the previous tutorial to configure the Interactable (Script) component on each of the two buttons:

  • Weisen Sie dem ShareAzureAnchorIdToNetwork Objekt die AnchorModuleScript-> ShareAzureAnchorIdToNetwork () -Funktion zu.For the ShareAzureAnchorIdToNetwork object, assign the AnchorModuleScript > ShareAzureAnchorIdToNetwork () function.
  • Weisen Sie dem GetAzureAnchorIdFromNetwork-Objekt die AnchorModuleScript > GetAzureAnchorIdFromNetwork () -Funktion zu.For the GetAzureAnchorIdFromNetwork object, assign the AnchorModuleScript > GetAzureAnchorIdFromNetwork () function.

Wenn Sie die aktualisierte App auf zwei HoloLens-Geräten erstellen, können Sie jetzt eine räumliche Ausrichtung erzielen, indem Sie die Azure Anchor ID freigeben.If you build the updated app to two HoloLens devices, you can now achieve spatial alignment by sharing the Azure Anchor ID. Um das zu Testen, können Sie diese Schritte ausführen:To test it out, you can follow these steps:

  1. Auf HoloLens-Gerät 1: Bewegen Sie den Rover Explorer an die gewünschte Position.On HoloLens device 1: Move the Rover Explorer to the desired location.
  2. Auf HoloLens-Gerät 1: Starten Sie eine Azure-Sitzung.On HoloLens device 1: Start Azure Session.
  3. Auf HoloLens-Gerät 1: Erstellen Sie einen Azure Anchor (erstellt Anker an der Position des Rover Explorers).On HoloLens device 1: Create Azure Anchor (creates anchors at the location of the Rover Explorer).
  4. Auf HoloLens-Gerät 1: Geben Sie die Azure Anchor ID im Netzwerk frei.On HoloLens device 1: Share Azure Anchor ID to Network.
  5. Auf HoloLens-Gerät 2: Starten Sie die App.On HoloLens device 2: Start the app.
  6. Auf HoloLens-Gerät 2: Rufen Sie die Shared Anchor ID aus dem Netzwerk ab (ruft die Anchor ID ab, die gerade von HoloLens-Gerät 1 freigegeben worden war).On HoloLens device 2: Get Shared Anchor ID from Network (fetches the anchor ID just shared from HoloLens device 1).
  7. Auf HoloLens-Gerät 2: Starten Sie eine Azure-Sitzung.On HoloLens device 2: Start Azure Session.
  8. Auf HoloLens-Gerät 2: Suchen Sie den Azure Anchor (positioniert den Rover Explorer am Ort aus Schritt 3).On HoloLens device 2: Find Azure Anchor (positions the Rover Explorer at the location from step 3).

Tipp

Wenn Sie nur über ein HoloLens-Gerät verfügen, können Sie die Funktionalität trotzdem testen, indem Sie die App neu starten, statt ein zweites HoloLens-Gerät zu verwenden.If you only have one HoloLens, you can still test the functionality by restarting the app instead of using a second HoloLens device.

Herzlichen Glückwunsch!Congratulations

In diesem Tutorial haben Sie erfahren, wie Sie Azure Spatial Anchors zwischen App-Sitzungen und über App-Neustarts hinweg beibehalten, indem Sie die Azure Spatial Anchor ID auf dem lokalen Datenträger auf HoloLens speichern.In this tutorial, you learned how to persist Azure Spatial Anchors between app sessions and app restarts by saving the Azure Spatial Anchor ID to the local disk on HoloLens. Sie haben darüber hinaus gelernt, wie Azure Spatial Anchors zwischen mehreren Geräten geteilt werden, um eine einfache geteilte Mehrbenutzererfahrung mit statischen Hologrammen zu erzielen.You also learned how to share Azure Spatial Anchors between multiple devices for a basic multi-user, static hologram shared experience.

Im nächsten Tutorial erfahren Sie, wie Sie für Benutzer Feedback in Echtzeit bereitstellen.In the next tutorial, you will learn how to provide users with real-time feedback. Dieses Feedback enthält Informationen zur Ankererstellung, zur Qualität des Verstehens der Umgebung und zum Status der Azure-Sitzung.This feedback will include information about Anchor creation, the quality of environment understanding, and the Azure session's state. Ohne Feedback wissen Benutzer möglicherweise nicht, ob ein Anker erfolgreich zu Azure hochgeladen wurde, ob die Qualität der Umgebung für die Ankererstellung ausreicht und wie der aktuelle Zustand ist.Without feedback, users may not know whether an anchor has successfully been uploaded to Azure, whether the quality of the environment is sufficient for anchor creation, or the current state.