Verdeckung mit EasyAR Mega in Unity implementieren
Verdeckung (Occlusion) ist eine Schlüsseltechnologie, um das immersive Gefühl der Verschmelzung von AR und Realität zu steigern. Dieser Artikel erklärt, wie Sie den Verdeckungseffekt mit EasyAR Mega in Unity implementieren.
Vorbereitung
- Absolvieren Sie die Schnellstartanleitung mit den EasyAR Mega Unity-Beispielen.
- Sie sollten in der Lage sein, inhalte zu erstellen, die mit der realen Welt ausgerichtet sind.
Methoden zur Implementierung von Verdeckung
Offline-Modellierung: Erstellen Sie im Block-Koordinatensystem Geometrien im Maßstab 1:1, die physischen Objekten in der realen Welt (wie Wänden, Säulen, großen Geräten) entsprechen; oder optimieren Sie das Modell durch Zuschneiden und Reduzieren der Polygonanzahl des dichten Block-Modells.
Laufzeitausrichtung: Richten Sie zur Laufzeit das Block-Koordinatensystem über Cloud-Lokalisierung mit dem realen Raum aus und laden Sie die entsprechenden Geometrien.
Materialersetzung: Weisen Sie diesen Geometrien spezielle Verdeckungsmaterialien zu.
Visueller Effekt: Wenn die GPU andere virtuelle Objekte rendert, werden Pixel in verdeckten Bereichen automatisch aufgrund eines fehlgeschlagenen Tiefentests ausgeschnitten, wodurch virtuelle Objekte der Verdeckungslogik des realen physikalischen Raums folgen.
Verwendung von Geometrien als Verdeckung
Folgen Sie diesen Schritten, um Geometrien als Verdeckung in der Szene hinzuzufügen und den Effekt zu überprüfen.
Platzieren der Verdeckungsgeometrien
Verwenden Sie die integrierten Geometrien oder eigene Geometrien als Verdeckung und platzieren Sie sie basierend auf dem dichten Mega-Block-Modell an der korrekten Position im Block-Koordinatensystem.

[Optional] Feinjustierung der Geometrieposition basierend auf Panoramabildern

Zuweisen von Verdeckungsmaterialien zu Geometrien
Ändern Sie das Material der Geometrie in ein Verdeckungsmaterial, z.B. das in Unity enthaltene SpatialMappingOcculusion.

Simulation mit EIF-Daten oder Ausführung auf dem Zielgerät
Sie können die Platzierung des Verdeckungsmodells basierend auf dem Laufzeitergebnis feinjustieren.
Verwendung eines zugeschnittenen und polygonreduzierten dichten Modells als Verdeckung
Folgen Sie diesen Schritten, um das exportierte dichte Mega-Block-Modell zuzuschneiden und die Polygonanzahl zu reduzieren, um ein Weißmodell für die Verdeckung zu erhalten, und importieren Sie es als Verdeckung in die Szene.
Exportieren in Mega Blocks
Klicken Sie auf die Schaltfläche Export rechts neben Mesh, um das dichte Modell zu exportieren.

Exportoptionen anpassen
Achten Sie beim Export darauf, die Exportoptionen anzupassen.
Nummer 1 im Bild zeigt die LOD-Stufe. Je niedriger die Stufe, desto einfacher das Modell und desto geringer die Polygonanzahl. Wählen Sie die höchste Stufe, wenn maximale Genauigkeit benötigt wird.
Nummer 2 im Bild zeigt die Option zum Export von Texturen. Hier wird nur ein Weißmodell für die Verdeckung benötigt, Texturen sind nicht erforderlich.
Modell zuschneiden und Polygonanzahl reduzieren
Schneiden Sie das exportierte Modell in einer DCC-Software (z.B. Blender) zu, reduzieren Sie die Polygonanzahl und speichern Sie es als Glb.
Tipp
Im Beispiel wird der Decimate Modifier von Blender verwendet.

Nach dem Zuschneiden und Reduzieren der Polygonanzahl:

Verdeckungsmodell in Unity importieren und unter dem Block-Knoten in der Szene einhängen

Transform des Modells anpassen
Passen Sie den Transform des Modells an, sodass Position und Rotation alle auf 0 gesetzt sind.
Das Weißmodell für die Verdeckung sollte nun mit dem dichten Modell übereinstimmen, da die Definition des Block-Koordinatensystems beim Zuschneiden und Reduzieren der Polygonanzahl in der DCC-Software nicht verändert wurde.

Zuweisen von Verdeckungsmaterialien zum Modell
Ändern Sie das Material des Modells in ein Verdeckungsmaterial, z.B. das in Unity enthaltene SpatialMappingOcculusion.

Simulation mit EIF-Daten oder Ausführung auf dem Zielgerät
Simulieren Sie mit EIF-Daten oder führen Sie die Anwendung auf dem Zielgerät aus, um das Ergebnis zu überprüfen.
Erwartetes Ergebnis der Verdeckung
Der Verdeckungseffekt wird hauptsächlich durch folgende Punkte beeinflusst:
- Die Genauigkeit der Lokalisierungs- und Tracking-Funktion selbst
- Die Genauigkeit der Modellplatzierung
- Die Genauigkeit des Modells selbst (wenn es sich nicht um einfache Geometrien handelt)
Eine Fehlausrichtung von einigen Zentimetern bei Drift der Lokalisierung ist normal.
Verdeckungsmodelle mit zu vielen Polygonen können die Leistung beeinträchtigen. Es wird empfohlen, sie nur in notwendigen Bereichen zu verwenden und möglichst einfache Geometrien als Verdeckung einzusetzen.


