Table of Contents

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

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. Verdeckungsgeometrien platzieren

[Optional] Feinjustierung der Geometrieposition basierend auf Panoramabildern

Feinjustierung der Verdeckung basierend auf Panoramabildern

Zuweisen von Verdeckungsmaterialien zu Geometrien

Ändern Sie das Material der Geometrie in ein Verdeckungsmaterial, z.B. das in Unity enthaltene SpatialMappingOcculusion. Feinjustierung der Verdeckung basierend auf Panoramabildern

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.

Vor dem Zuschneiden

Nach dem Zuschneiden und Reduzieren der Polygonanzahl:

Nach dem Zuschneiden

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

Verdeckungsmodell importieren

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.

Verdeckungsmodell passt

Zuweisen von Verdeckungsmaterialien zum Modell

Ändern Sie das Material des Modells in ein Verdeckungsmaterial, z.B. das in Unity enthaltene SpatialMappingOcculusion.

Material des Verdeckungsmodells ändern

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.

Verwandte Themen