Schnellstart: Erstellen einer HoloLens-App mit Azure Object Anchors in Unity mit MRTK
In diesem Schnellstart erstellen Sie eine Unity HoloLens-App, die Azure Object Anchors verwendet. Azure Object Anchors ist ein verwalteter Clouddienst, der 3D-Ressourcen in KI-Modelle konvertiert, die objektbezogene Mixed Reality-Erlebnisse für HoloLens ermöglichen. Wenn Sie fertig sind, verfügen Sie über eine HoloLens-App, die mit Unity erstellt wurde und Objekte in der physischen Welt erkennen kann.
Sie lernen Folgendes:
- Vorbereiten von Unity-Buildeinstellungen
- Exportieren des HoloLens-Visual Studio-Projekts
- Bereitstellen und Ausführen der App auf einem HoloLens 2-Gerät.
Voraussetzungen
Stellen Sie für diese Schnellstartanleitung sicher, dass Sie über Folgendes verfügen:
- Ein physisches Objekt in Ihrer Umgebung und das zugehörige 3D-Modell (CAD oder gescannt)
- Einen Windows-Computer, auf dem folgende Komponenten installiert sind:
- Git für Windows
- Visual Studio 2019 mit der Workload Entwicklung für die universelle Windows-Plattform und der Komponente Windows 10 SDK (10.0.18362.0 oder höher)
- Unity 2019.4
- Ein HoloLens 2-Gerät, das aktuell und für das der Entwicklermodus aktiviert ist.
- Öffnen Sie zum Aktualisieren auf das neueste HoloLens-Release die App Einstellungen, navigieren Sie zu Update und Sicherheit, und wählen Sie dann Nach Updates suchen aus.
Erstellen eines Object Anchors-Kontos
Zunächst müssen Sie ein Konto mit dem Object Anchors-Dienst erstellen.
Wechseln Sie zum Azure-Portal, und wählen Sie Ressource erstellen aus.
Suchen Sie nach der Object Anchors-Ressource.
Suchen Sie nach „Object Anchors“.
Wählen Sie in der Object Anchors-Ressource in den Suchergebnissen Erstellen > Object Anchors aus.
Führen Sie folgende Aktionen im Dialogfeld Object Anchors-Konto aus:
- Geben Sie einen eindeutigen Ressourcennamen ein.
- Wählen Sie das Abonnement aus, an das die Ressource angefügt werden soll.
- Erstellen Sie eine Ressourcengruppe, oder verwenden Sie eine vorhandene.
- Wählen Sie die Region aus, in der Sie die Ressource platzieren möchten.
Wählen Sie Erstellen aus, um mit der Ressourcenerstellung zu beginnen.
Nachdem die Ressource erstellt wurde, wählen Sie zu Ressourcen wechseln aus.
Wechseln Sie zur Übersichtsseite:
Notieren Sie sich die Kontodomäne. Sie benötigen die Information später.
Notieren Sie sich die Konto-ID. Sie benötigen die Information später.
Wechseln Sie zur Seite Zugriffsschlüssel, und notieren Sie sich den Primärschlüssel. Sie benötigen die Information später.
Einrichten des Geräts
Zum Bereitstellen von Apps für HoloLens müssen Sie Ihr HoloLens-Gerät erst mit Ihrem Computer koppeln.
- Navigieren Sie auf Ihrem HoloLens-Gerät zu Settings -> Update & Security -> For Developers (Einstellungen -> Update & Sicherheit -> Für Entwickler).
- Klicken Sie auf Pair (Koppeln), und lassen Sie den Bildschirm bis zur Eingabe der PIN bei Ihrer ersten Bereitstellung in Visual Studio geöffnet.
Hochladen des Modells
Bevor Sie die App ausführen, müssen Sie Ihre Modelle für die App verfügbar machen. Wenn Sie noch nicht über ein Object Anchors-Modell verfügen, befolgen Sie die Anweisungen unter Erstellen eines Modells, um eines zu erstellen. Kehren Sie dann hierher zurück.
Wenn Ihr HoloLens-Gerät eingeschaltet und mit dem Entwicklungsgerät (PC) verbunden ist, führen Sie die folgenden Schritte aus, um ein Modell in den Ordner 3D-Objekte auf Ihrem HoloLens-Gerät hochzuladen:
Wählen Sie die Modelle aus, die Sie verwenden möchten, und kopieren Sie sie, indem Sie STRG+C drücken.
Drücken Sie WINDOWS+E, um den Datei-Explorer zu starten. Ihr HoloLens-Gerät sollte mit anderen Laufwerken und Ordnern im linken Bereich aufgeführt werden.
Tippen Sie auf den HoloLens-Link, um den Speicher auf dem HoloLens-Gerät im rechten Bereich anzuzeigen.
Navigieren Sie im Datei-Explorer zu Interner Speicher > 3D-Objekte. Jetzt können Sie Ihre Modelle in den Ordner 3D-Objekte einfügen, indem Sie STRG+V drücken.
Öffnen des Beispielprojekts
Klonen Sie das Beispielrepository, indem Sie die folgenden Befehle ausführen:
git clone https://github.com/Azure/azure-object-anchors.git
cd ./azure-object-anchors
Der nächste Schritt besteht darin, das Azure Object Anchors-Paket für Unity herunterzuladen.
- Download über Webbrowser
- Download mit npm
- Installation mit dem Mixed Reality-Featuretool (Betaversion)
Suchen Sie hier nach dem Azure Object Anchors-Paket für Unity (com.microsoft.azure.object-anchors.runtime
). Wählen Sie die gewünschte Version aus, und laden Sie das Paket über die Schaltfläche Download herunter.
Öffnen Sie das Projekt quickstarts/apps/unity/mrtk
in Unity.
Befolgen Sie diese Anweisungen, um mithilfe von Unity Package Manager die Azure Object Anchors-Pakete zu importieren, die Sie in das Unity-Projekt heruntergeladen haben.
Konfigurieren der Kontoinformationen
Im nächsten Schritt wird die App zur Verwendung der Kontoinformationen konfiguriert. Sie haben die Werte von Account Key (Kontoschlüssel), Account ID (Konto-ID) und Account Domain (Kontodomäne) im Abschnitt "Erstellen eines Object Anchors-Kontos" beachtet.
Navigieren Sie im Bereich Projekt zu Assets\AzureObjectAnchors.SDK\Resources
.
Wählen Sie ObjectAnchorsConfig aus. Geben Sie im Bereich PrüfungAccount Key
als Wert für den Object Anchors-Kontoschlüssel, Account ID
als Wert für die Object Anchors-Konto-ID und Account Domain
als Wert für die Object Anchors-Kontodomäne ein.
Erstellen und Ausführen der App
Erstellen der Beispielszene
Navigieren Sie im Unity-Editor zu Assets/MixedReality.AzureObjectAnchors/Scenes, öffnen Sie AOASampleScene, und fügen Sie das Element der Liste für die Szenenerstellung hinzu.
Wenn Sie durch ein Dialogfeld „TMP Importer“ zum Importieren von TextMesh Pro-Ressourcen aufgefordert werden, wählen Sie „Import TMP Essentials“ (TMP Essentials importieren) aus.
Wählen Sie Datei -> Buildeinstellungen aus. Wählen Sie Universelle Windows-Plattform und dann Plattform wechseln aus. Wenn vom Unity-Editor gemeldet wird, dass Sie zunächst einige Komponenten herunterladen müssen, müssen Sie diese herunterladen und installieren. Folgen Sie dem Screenshot unten, um die Buildeinstellungen zu konfigurieren. Stellen Sie sicher, dass nur neben AOASampleScene ein Häkchen verfügbar ist. Alle anderen Szenen sollten nicht eingeschlossen werden.
Wählen Sie Build und dann einen Ausgabeordner aus. Sie können jetzt ein VS-Projekt im Ausgabeordner generieren.
Erstellen und Bereitstellen der App
Öffnen Sie die von Unity generierte .sln
-Datei. Ändern Sie die Buildkonfiguration wie folgt.
Als Nächstes müssen Sie die IP-Adresse des Remotecomputers konfigurieren, um die App bereitzustellen und zu debuggen.
Klicken Sie mit der rechten Maustaste auf das App-Projekt, und klicken Sie anschließend auf Properties (Eigenschaften). Navigieren Sie auf der Eigenschaftenseite zu Configuration Properties -> Debugging (Konfigurationseigenschaften -> Debuggen). Ändern Sie den Wert für Machine Name (Computername) in die IP-Adresse Ihres HoloLens-Geräts, und klicken Sie auf Apply (Übernehmen).
Schließen Sie die Eigenschaftenseite. Klicken Sie auf Remote Machine (Remotecomputer). Die Erstellung und Bereitstellung der App auf Ihrem Remotegerät sollte nun beginnen. Stellen Sie sicher, dass Ihr Gerät aktiv ist.
Nach dem Unity-Begrüßungsbildschirm sollte ein weißer Begrenzungsrahmen angezeigt werden. Sie können Ihre Hand verwenden, um den Begrenzungsrahmen zu verschieben, zu skalieren oder zu drehen. Platzieren Sie den Rahmen so, dass das Objekt bedeckt ist, das Sie erkennen möchten.
Öffnen Sie das Handmenü, und wählen Sie Lock SearchArea (SearchArea sperren) aus, um jede weitere Bewegung des Begrenzungsrahmens zu verhindern. Wählen Sie Start Search (Suche starten) aus, um die Objekterkennung zu starten. Wenn das Objekt erkannt wird, wird ein Gittermodell für das Objekt gerendert. Details zu einer erkannten Instanz werden auf dem Bildschirm angezeigt, z. B. der aktualisierte Zeitstempel und das Verhältnis der Oberflächenbedeckung. Wählen Sie Stop Search (Suche beenden) aus, um die Nachverfolgen zu beenden. Alle erkannten Instanzen werden entfernt.
Die App-Menüs
Sie können mit dem Handmenü auch weitere Aktionen ausführen.
Primäres Menü
Start Search/Stop Search (Suche starten/Suche beenden) : Startet oder beendet den Objekterkennungsprozess.
Toggle Spatial Mapping (Räumliche Zuordnung umschalten) : Rendering der räumlichen Zuordnung anzeigen/ausblenden. Diese Option kann unabhängig davon zum Debuggen verwendet werden, ob der Scan beendet ist.
Tracker Settings (Einstellungen für die Nachverfolgung) : Schaltet die Aktivierung des Menüs mit den Einstellungen für die Nachverfolgung um.
Search Area Settings (Einstellungen für den Suchbereich) : Schaltet die Aktivierung des Menüs mit den Einstellungen für den Suchbereich um.
Start Tracing (Ablaufverfolgung starten) : Erfassen von Diagnosedaten und Speichern dieser Daten auf dem Gerät. Weitere Informationen finden Sie im Abschnitt Debuggen von Erkennungsproblemen und Erfassen von Diagnosen.
Upload Tracing (Ablaufverfolgung hochladen) : Hochladen von Diagnosedaten in den Object Anchors-Dienst.
Menü für Nachverfolgungseinstellungen
High Accuracy (Hohe Genauigkeit) : Ein experimentelles Feature, das verwendet wird, um eine genauere Position zu erzielen. Wenn Sie diese Option aktivieren, werden während der Objekterkennung mehr Systemressourcen benötigt. Das Objektgittermodell wird in diesem Modus in rosa gerendert. Wählen Sie diese Schaltfläche erneut aus, um zurück in den normalen Nachverfolgungsmodus zu wechseln.
Relaxed Vertical Alignment (Gelockerte vertikale Ausrichtung) : Wenn diese Option aktiviert ist, kann ein Objekt in einem nicht vertikalen Winkel erkannt werden. Nützlich zum Erkennen von Objekten auf Rampen.
Allow Scale Change (Skalierungsänderung zulassen) : Ermöglicht der Nachverfolgung das Ändern der Größe des erkannten Objekts basierend auf Umgebungsinformationen.
Coverage Ratio Slider (Schieberegler für das Abdeckungsverhältnis) : Passt den Anteil der Oberflächenpunkte an, die übereinstimmen müssen, damit die Nachverfolgung ein Objekt erkennt. Niedrigere Werte ermöglichen der Nachverfolgung eine bessere Erkennung von Objekten, die für die HoloLens-Sensoren schwierig zu erkennen sind, z. B. dunkle Objekte oder stark reflektierende Objekte. Höhere Werte verringern die Häufigkeit falscher Erkennungen.
Menü für Suchbereichseinstellungen
Lock Search Area (Suchbereich sperren) : Begrenzungsrahmen des Sperrbereichs, um eine versehentliche Bewegung durch die Hände zu verhindern.
Auto-Adjust Search Area (Suchbereich automatisch anpassen) : Ermöglicht dem Suchbereich, sich selbst während der Objekterkennung neu zu positionieren.
Cycle Mesh (Gittermodell durchlaufen) : Durchläuft die Visualisierung der geladenen Gittermodelle innerhalb des Suchbereichs. Mit dieser Option können Benutzer das Suchfeld für schwer zu erkennende Objekte ausrichten.
Problembehandlung
Tipps
Wenn Ihr Objekt nicht erkannt wird, können Sie die folgenden Schritte ausprobieren:
- Überprüfen Sie, ob Sie das richtige Modell für das Objekt verwenden.
- Visualisieren Sie den Suchbereich, und stellen Sie sicher, dass er das Zielobjekt abdeckt.
- Versuchen Sie,
MinSurfaceCoverage
zu verringern. - Klicken Sie im Windows-Geräteportal auf Views -> 3D Views (Ansichten > 3D-Ansichten), und vergewissern Sie sich, dass die Überprüfung beendet ist.