Erstellen von 3D-Inhalten, die exakt mit der realen Welt übereinstimmen
Dieses Dokument beschreibt, wie Sie virtuelle Objekte exakt an einem bestimmten Ort im realen Raum platzieren können, um sie in einer AR-Erfahrung exakt mit dem realen Raum auszurichten.
Vorbereitung
- Stellen Sie anhand der Dokumentation Ist meine Lokalisierungsbibliothek einsatzbereit? sicher, dass die Lokalisierungsbibliothek korrekt erstellt und der Mega Block hinzugefügt wurde.
- Fügen Sie in der Szene ein Mega-Tracking-Ziel hinzu.
- Bereiten Sie die 3D-Assets vor, die in Ihrem Unity-Projekt verwendet werden sollen.
Anmerkung
Die folgenden Inhalte und Tools gelten nur für den Prozess der Entwicklung von Unity-Anwendungen mit EasyAR Mega.
Wenn Sie Mini-Programme entwickeln, lesen Sie bitte Erstellen und Hochladen von Annotationen mit dem Unity-Editor (Mini-Programm-Entwicklung).
Wenn Sie keine Unity-Anwendung entwickeln, aber die Mega-Mapping-Ergebnisse anzeigen möchten, lesen Sie bitte Vorschau der texturierten 3D-Mesh in der Mega-Bedienungsanleitung.
Wenn Sie keine Unity-Anwendung entwickeln, aber die Lokalisierungswirkung durch Simulation überprüfen möchten, lesen Sie bitte Vorschau des Simulationslaufs in der Mega-Bedienungsanleitung.
Dieser Artikel setzt voraus, dass die folgenden Unity-Pakete bereits in Ihr Projekt importiert wurden:
com.easyar.sensecom.easyar.mega
Block realdaten
Bei der entwicklung von Mega können verschiedene realdaten zur unterstützung der platzierung von 3D-inhalten verwendet werden:
Block-gittermodell

Panorama (mit raummodell-verdeckung)

Anmerkung
Einige daten unterstützen keine panoramabilder.
LCC 3D gaussian splatting

Anmerkung
LCC 3D-gaussian-splatting-daten sind nur verfügbar in anwendungsszenarien, in denen die daten mit den domain-geräten erfasst und die kartierung abgeschlossen wurde.
Editor-tool aktivieren
Zuerst müssen Sie im Editor ein Mega Tracking Target hinzufügen, dann das Tracking Target auswählen und auf die Schaltfläche Create Editor Tool klicken.

Tipp
Wenn die Anwendung das Tracking Target lieber über ein Skript als im Editor erstellen soll, können Sie die Platzierung zuerst im Editor durchführen, dann das Tracking Target und/oder seine untergeordneten Objekte aufzeichnen und zur Laufzeit das Tracking Target über das Skript konfigurieren und die untergeordneten Objekte unter dem Tracking Target einbinden.
Überprüfen Sie die Serviceinformationen und verbinden Sie sich mit dem Service.

Wichtig
Vor dem Verbinden müssen Sie die Berechtigungen des API Key überprüfen.
- Wenn der Typ des Service
Blockist, müssen Sie sicherstellen, dass der verwendete API Key die Berechtigung für den Zugriff auf den ServiceMega Blocksowie den ServiceSpatialMaphat. - Wenn der Typ des Service
Landmarkist, müssen Sie sicherstellen, dass der API Key die Berechtigung für den Zugriff auf den ServiceMega Landmarkhat.

Wenn die Berechtigungen nicht ausreichen, wird eine Fehlermeldung über das fehlgeschlagene Authentifizierung beim Verbinden des Service angezeigt.

Wenn die Quelle der target-Daten korrekt konfiguriert ist, können Sie nach einer erfolgreichen Verbindung zum Service das letzte Aktualisierungsdatum der Daten und die Steuerungsoberfläche für die Block-Editor-Daten sehen.

Tipp
Wenn die Quelle der target-Daten leer gelassen wird, können Sie nach einer erfolgreichen Verbindung zum Service eine Liste der Block-Daten im Service sehen. Nach Auswahl des zu verwendenden Blocks gelangen Sie ebenfalls zur Steuerungsoberfläche für die Block-Editor-Daten, und die Quelle der target-Daten wird automatisch ausgefüllt.

Die Daten des Editor-Tools werden unter dem Knoten EasyAR.Mega.EditorTool gespeichert. Das Löschen dieses Knotens entspricht dem Löschen der Daten des Editor-Tools.

Vorsicht
Sie dürfen den Inhalt des Knotens EasyAR.Mega.EditorTool nicht direkt ändern, insbesondere dürfen Sie die Transform dieses Knotens nicht ändern. Andernfalls kann das Editor-Tool nicht ordnungsgemäß funktionieren oder die Position des Inhalts beim Tracking kann falsch angezeigt werden.
Block 模型 laden
Klicken Sie auf das erste Auswahlfeld unter den Blockdaten. Dadurch wird der Ladevorgang der Block-Editor-Daten gestartet. Nach dem Laden können Sie das Mesh des aktuellen Blocks im Scene-Fenster sehen.

Tipp
- Das Block-Mesh ist mit dem Block-Tracking-Zielraum ausgerichtet. Sie können direkt 3D-Inhalte auf dem Modell platzieren.
- Das Block-Mesh wechselt die LOD (Level of Detail) basierend auf der Kameraposition. Stellen Sie beim Verwenden eine Internetverbindung her, um Fehlern beim LOD-Wechsel vorzubeugen.
- Das Block-Mesh wird unter dem Tool-Knoten gespeichert und existiert nur im Editormodus. Es wird nicht in die endgültige App gepackt.
3D-Inhalt unter dem Block-Knoten einfügen
Nach dem Laden des Block-Modells wird der 3D-Inhalt als untergeordneter Knoten unter dem Block-Knoten in der Szene eingefügt.

Vorsicht
- 3D-Objekte dürfen nicht unter dem Knoten
EasyAR.Mega.EditorToolplatziert werden. Dieser Knoten ist nur für Editor-Tools vorgesehen und wird in einigen Fällen automatisch gelöscht oder neu erstellt.
Wichtig
- 3D-Objekte müssen unter dem Block-Knoten platziert werden, um sicherzustellen, dass die virtuelle Inhalte zur Laufzeit an der richtigen Position gerendert werden.
Präzises Platzieren von 3D-Inhalten
Indem Sie die folgenden Schritte ausführen, können Sie virtuelle Inhalte genau im realen Raum platzieren.
Anhand des Block-Rastermodells platzieren
Im Szenario positionieren und drehen Sie den 3D-Inhalt relativ zum Block-Mesh, bis er sich an der gewünschten Position und in der gewünschten Ausrichtung befindet.
Tipp
- Nachdem der Editor in den Play-Modus wechselt, ist das Block-Mesh weiterhin verfügbar, wechselt jedoch nicht mehr die LOD basierend auf der Kameraposition.
- Das Block-Mesh wird unter dem Werkzeugknoten gespeichert und existiert nur im Editormodus. Es wird nicht in die endgültige App gepackt.
[Optional] Platzierung basierend auf Panoramabildern
Durch Klicken auf das Kontrollkästchen Panorama Preview Marker können die Panorama-Markierungen angezeigt werden.

Anmerkung
- Einige Daten unterstützen keine Panoramabilder.
Durch Klicken auf eine beliebige Panorama-Markierung können Sie Inhalte an dieser Position im Panorama platzieren. Sie können durch Klicken auf verschiedene Panorama-Markierungen das Panorama wechseln, um sicherzustellen, dass die 3D-Inhalte aus allen Blickwinkeln korrekt positioniert sind.

Tipp
- Bei der Platzierung von Inhalten mit Panorama-Markierungen bleibt die Verdeckung durch mesh-basierte Raummodelle wirksam.
- Diese Funktion bleibt auch verfügbar, nachdem der Editor in den Play-Modus wechselt, jedoch kann die Genauigkeit der mesh-basierten Raummodellverdeckung durch die Deaktivierung des LOD-Wechsels beeinträchtigt werden.
- Panorama-Markierungen und Panoramadaten werden unter dem Werkzeugknoten gespeichert, existieren nur im Editor-Modus und werden nicht in die endgültige Anwendung gepackt.
[Optional] Platzierung basierend auf LCC 3D Gauss-Sprays
Anmerkung
Dieser Abschnitt gilt für den Anwendungsfall nach der Datenerfassung mit einem Qiyue-Gerät und der anschließenden Kartenerstellung. Die Ergebnisse der Kartenerstellung mit anderen Geräten enthalten keine LCC 3DGS-Daten.
Wenn Sie die Funktion LCC 3D Gauss-Sprays (Qiyue LCC) verwendet haben, können Sie die Position des Modells anhand der 3DGS anpassen. Die Verwendung von LCC-Daten finden Sie unter Laden von LCC-Daten und Ausrichtung mit Mesh.
Einfluss von Defekten in Live-Daten auf die Anordnung von Inhalten
Was tun, wenn das geladene Block-Modell nicht horizontal ist?
Wählen Sie im Hierarchy-Panel den Block-Knoten aus, den Sie anpassen möchten. Ändern Sie im Inspector-Panel die Rotation, bis die Ausrichtung des Modells im Unity-Editor korrekt aussieht.
Die Transformation des Block-Knotens im Weltkoordinatensystem wirkt sich nicht auf das lokale Koordinatensystem des Blocks aus und hat folglich keinen Einfluss auf das Renderergebnis des 3D-Inhalts als untergeordnetem Knoten des Blocks. Seine Transformation hat keine Beziehung zum endgültigen Anzeigebild.
Vorsicht
Sie dürfen die Transform von EasyAR.Mega.EditorTool unter dem Block-Knoten nicht ändern. Andernfalls kann es dazu kommen, dass das Editor-Tool nicht richtig funktioniert oder der Inhalt beim Tracking an der falschen Position angezeigt wird.
Was tun, wenn das geladene Block-Modell beschädigte oder fehlende Teile hat?
Beim 3D-Rekonstruktionsprozess können aufgrund unzureichender Abdeckung der Aufnahmeansichten im generierten dichten Modell beschädigte oder fehlende Teile auftreten.

Bei unvollständigen Modellen kann, wenn die Genauigkeit der 3D-Inhaltsausrichtung für die beschädigten/fehlenden Teile nicht sehr hoch sein muss, der 3D-Inhalt durch Klicken auf Panoramamarkierungen und Vergleich mit der Panoramabild platziert werden. Anschließend kann der Effekt durch Klicken auf verschiedene Panoramamarkierungen in der Nähe überprüft werden.

Wenn die Genauigkeit der 3D-Inhaltsausrichtung für die beschädigten/fehlenden Teile sehr hoch sein muss, muss die Karte durch Inkrementelle Aktualisierung oder Schadlose Vollaktualisierung ergänzt oder aktualisiert werden. Im Allgemeinen bedeutet eine solche Region, dass diese während des Bildaufnahmeprozesses nicht abgedeckt wurde. In solchen Regionen kann sich dies auf die Mega-Positionsbestimmung auswirken, und es reicht nicht aus, den 3D-Inhalt nur im Editor auszurichten.
Nächste Schritte
- Verifizieren Sie die Genauigkeit der Platzierung weiter, indem Sie die Simulation mit dem Sitzungsüberprüfungstool ausführen.
- Fügen Sie der Szene genaue Umgebungsabschattung hinzu, um die Realität des AR zu verbessern.





