Table of Contents

Verdeckung mit EasyAR Mega in Unity umsetzen

Verdeckung (Occlusion) ist eine Schlüsseltechnologie zur Verbesserung des Immersionsgefühls bei der Verschmelzung von AR und Realität. Dieser Artikel erklärt, wie Sie mit EasyAR Mega in Unity Verdeckungseffekte erzielen.

Voraussetzungen

Implementierungsmethoden für Verdeckung

  • Offline-Modellierung: Erstellen Sie im Block-Koordinatensystem geometrische Objekte, die 1:1 mit realen Objekten (wie Wänden, Säulen oder großen Geräten) übereinstimmen. Alternativ können Sie durch Beschneiden und Reduzieren der Polygonanzahl von Block-Dichtemodellen optimierte Modelle erhalten.

  • Laufzeitausrichtung: Richten Sie das Block-Koordinatensystem zur Laufzeit über Cloud-Lokalisierung mit dem realen Raum aus und laden Sie die entsprechenden Geometrien.

  • Materialaustausch: Weisen Sie diesen Geometrien spezielle Verdeckungsmaterialien zu.

  • Visuelle Effekte: Wenn die GPU virtuelle Objekte rendert, werden verdeckte Pixel automatisch durch den Depth-Test entfernt. Dadurch folgen virtuelle Objekte der Verdeckungslogik des physischen Raums.

Verwendung von Geometrien als Verdeckung

Folgen Sie diesen Schritten, um Verdeckungsgeometrien zur Szene hinzuzufügen und deren Wirkung zu überprüfen.

Platzieren der Verdeckungsgeometrien

Platzieren Sie integrierte oder selbst erstellte Geometrien als Verdeckung an der korrekten Position im Block-Koordinatensystem, basierend auf dem Mega Block-Dichtemodell. Verdeckungsgeometrien platzieren

[Optional] Feinjustierung basierend auf Panoramabildern

Verdeckung mit Panoramabildern anpassen

Zuweisen von Verdeckungsmaterialien

Ändern Sie das Material der Geometrie zu einem Verdeckungsmaterial, z.B. Unitys SpatialMappingOcculusion. Verdeckung mit Panoramabildern anpassen

Simulation mit EIF-Daten oder Ausführung auf dem Gerät

Passen Sie die Platzierung des Verdeckungsmodells basierend auf dem Ergebnis an.

Verwendung von beschnittenen und reduzierten Dichtemodellen als Verdeckung

Folgen Sie diesen Schritten, um ein beschnittenes und polygonreduziertes Mega Block-Dichtemodell als Verdeckung zu importieren.

Export in Mega Blocks

Wählen Sie im Inspector-Bereich unter Mega Blocks die Exportfunktion.

Export auswählen

Exportoptionen anpassen

Passen Sie die Exportoptionen wie folgt an:

Exportoptionen

Nummer 1 im Bild zeigt die LOD-Stufe. Niedrigere Stufen bedeuten einfachere Modelle mit weniger Polygonen. Für höchste Präzision wählen Sie Stufe 2, für weniger Präzision bei reduzierter Polygonanzahl Stufe 1 oder 0.

Nummer 2 im Bild ist die Option zum Exportieren von Texturen. Da wir nur ein Weißmodell für die Verdeckung benötigen, sind keine Texturen erforderlich.

Modell beschneiden und Polygonanzahl reduzieren

Bearbeiten Sie das exportierte Modell in einer 3D-Software (z.B. Blender): Schneiden Sie es zu, reduzieren Sie die Polygone und speichern Sie es als Glb.

Tipp

Beispiel: Verwenden Sie Blenders "Decimate Modifier".

Vor dem Beschneiden

Nach Beschneidung und Polygonreduktion:

Nach dem Beschneiden

Verdeckungsmodell in Unity importieren und unter Block-Node platzieren

Verdeckungsmodell importieren

Transform anpassen

Setzen Sie Position und Rotation des Modells auf 0.

Das Verdeckungsmodell sollte nun mit dem Dichtemodell übereinstimmen, da das Block-Koordinatensystem bei der Bearbeitung beibehalten wurde.

Modellübereinstimmung

Verdeckungsmaterial zuweisen

Weisen Sie ein Verdeckungsmaterial zu (z.B. Unitys SpatialMappingOcculusion).

Material ändern

Simulation mit EIF-Daten oder Ausführung auf dem Gerät

Testen Sie das Ergebnis in der Simulation oder auf einem Gerät.

Erwartete Verdeckungseffekte

Die Verdeckungsqualität wird beeinflusst durch:

  • Präzision der Lokalisierung
  • Genauigkeit der Modellplatzierung
  • Modellgenauigkeit (bei komplexen Geometrien)

Abweichungen im Zentimeterbereich bei Drift sind normal.

Hohe Polygonanzahl beeinträchtigt die Leistung. Verwenden Sie Verdeckung nur in notwendigen Bereichen und bevorzugen Sie einfache Geometrien.

Verwandte Themen