Mit dem LiDAR-Punktwolken-Plugin können Sie Punktwolken in die Unreal Engine importieren, visualisieren und bearbeiten. Das Plugin unterstützt außerdem eine Vielzahl von Techniken zur Färbung und Schattierung. Dank der zahlreichen Optimierungen und der dynamischen LOD-Skalierung (Detaillierungsgrad) können Sie mit großen Datensätzen arbeiten, ohne dass es zu nennenswerten Performance-Einbußen kommt, selbst zur Laufzeit.
Unterstützte Punktwolken-Dateiformate
Eine Punktwolke ist eine Gruppe von Datenpunkten, bei der jeder Punkt durch seine XYZ-Koordinaten und optional durch seine Farbe definiert ist. Die Unreal Engine unterstützt die folgenden Punktwolken-Dateiformate:
| Erweiterung | Beschreibung |
|---|---|
*.xyz, *.pts, *.txt |
Allgemeine Typen von ASCII-Punktwolken-Dateiformaten, die folgendes enthalten können:
Die Notation kann als Fließkommazahl (wie 0.00892855) oder wissenschaftlich (wie 8.92855E-03) erfolgen. |
*.las, *.laz |
LAS ist ein öffentliches Dateiformat für den Austausch von dreidimensionalen Punktwolken-Daten zwischen Benutzern. Obwohl dieses Format in erster Linie für den Austausch von LiDAR-Punktwolken-Daten entwickelt wurde, unterstützt es den Austausch beliebiger dreidimensionaler X, Y, Z-Tupletts. Dieses binäre Dateiformat ist eine Alternative zu proprietären Systemen sowie zu allgemeinen ASCII-Dateiaustauschsystemen und wird häufig verwendet. LAZ-Dateien sind komprimierte LAS-Dateien. Sie sind viel kleiner, aber ihr Import ist auch proportional langsamer. Die Unreal Engine unterstützt 8-Bit-, 12-Bit- und 16-Bit-LAS/LAZ-Dateien. |
*.e57 |
E57 ist ein kompaktes Open-Source-Dateiformat, das 3D-Bilddaten wie Punktwolken, Bilder und Metadaten speichert und austauscht. |
Importieren und Exportieren von Punktwolken
Um ein Asset aus einer Punktwolke zu importieren, können Sie eine der beiden folgenden Methoden verwenden:
-
Ziehen Sie eine Punktwolke, die in einem unterstützten Dateiformat gespeichert ist, in Ihren Content Browser.
-
Klicken Sie im Content Browser auf Add/Import, navigieren Sie dann zur gewünschten Datei und wählen Sie sie aus.
Beim Importieren werden Meter in Unreal-Einheiten (UU) konvertiert, wobei 1 UU = 1 cm ist. Um einen benutzerdefinierten Importmaßstab zu verwenden, öffnen Sie die Project Settings für das LiDAR-Punktwolken-Plugin und ändern Sie den Wert von Import Scale.
Sie können ein Asset aus einer Punktwolke in ASCII oder LAS exportieren, indem Sie das vorhandene Unreal Export-Tool verwenden. Klicken Sie im Content Browser mit der rechten Maustaste auf das Asset und wählen Sie dann Asset Actions > Export.
Beim Exportieren werden Unreal-Einheiten wieder in Meter konvertiert (indem der Wert mit 0,01 multipliziert wird). Um einen benutzerdefinierten Exportmaßstab zu verwenden, öffnen Sie die Project Settings für das LiDAR-Punktwolken-Plugin und ändern Sie den Wert von Export Scale.
Performance
Die Performance wird in erster Linie durch das globale Punktebudget bestimmt, das die maximale Anzahl der Punkte festlegt, die zu einer Zeit angezeigt werden können. Die Verwendung eines gemeinsamen Budgets gegenüber einem Budget pro Komponente erlaubt das effiziente Rendern vieler Assets zur gleichen Zeit, da das System die optimalen Punkte aus allen sichtbaren Komponenten auswählt. Ein höheres Punktebudget bedeutet höhere Qualität bei höheren Performancekosten. Das globale Punktebudget spart VRAM und verbessert die Framerate, reduziert aber nicht die gesamte RAM-Nutzung.
Sie können das globale Punktebudget über Konsolenvariablen einstellen. Je höher das Punktebudget, desto dichter ist die Punktwolke.
Weitere Informationen finden Sie im Abschnitt Konsolenvariablen auf der Seite LiDAR-Punktwolken-Plugin-Referenz.
On-Demand-Streaming
Wenn Sie eine Punktwolke öffnen, lädt die Unreal Engine nur die notwendigen Header-Informationen und streamt die eigentlichen Massendaten nach Bedarf. Dies führt zu einem schnellen Laden der Assets und senkt den gesamten RAM-Verbrauch.
Die neu importierten Assets werden im Speicher des Systems gehalten und können die Funktionalität des Streamings erst nutzen, wenn sie gespeichert werden. Sobald sie gespeichert sind, gibt der Editor den Speicher für dieses Asset frei.
Das Laden einer großen Anzahl von Punktwolken-Dateien in die Engine erfordert immer noch eine erhebliche Menge an RAM, wenn die Daten der Punktwolken geparst und als Assets der Unreal Engine verarbeitet werden. Diese öffentlich zugänglichen LiDAR-Daten der Stadt Montreal, die in die Unreal Engine geladen wurden, haben zum Beispiel die folgenden Performance-Indikatoren:
| Einzelne LAS-Dateien | ~684 Kacheln mit insgesamt 253 GB auf der Festplatte |
| Unreal RAM-Nutzung | ~3,5 GB bei einem Budget von 1 Million Punkten |
| Framerate | 120 fps, mit einem globalen Budget von 1 Million Punkten |
| Gesamtanzahl der Punkte | Durchschnittlich 14,3 Millionen Punkte pro Kachel á 1 km x 1 km * 621 Dateien = ~8,9 Milliarden Punkte |
Clipping-Volumen
Wenn Sie nur eine Sektion Ihrer Daten anzeigen möchten, den Rest aber nicht löschen wollen, können Sie einen Lidar Clipping Volume-Actor verwenden. Wenn das LIDAR-Punktwolken-Plugin aktiviert ist, finden Sie diesen Actor unter Place Actor > Volume > Lidar Clipping Volume.
Bild für Großansicht anklicken.
Sie können die Eigenschaften eines Clipping-Volumens in seinem Details-Panel konfigurieren.
Bild für Großansicht anklicken.
Es gibt zwei Modes, aus denen Sie wählen können:
-
Clip Outside verbirgt alle Punktwolkendaten, die außerhalb des Clipping-Volumens liegen.

Clip Inside verbirgt alle Punktwolkendaten innerhalb des Clipping-Volumens.

Sie können bis zu 16 Clipping-Volumen im Level verwenden. Wenn Sie überlappende Volumen haben, verwenden Sie die Priority-Einstellung, um zu bestimmen, welches Volumen Vorrang hat.
Ändern von Daten zur Laufzeit
Das LiDAR-Punktwolken-Plugin unterstützt das Einfügen, Entfernen und Ändern von Daten zur Laufzeit, einschließlich in der verpackten ausführbaren Datei.
Dabei gibt es einige Dinge zu beachten:
-
Die eingefügten Daten müssen innerhalb der Grenzen des Assets liegen. Andernfalls stört es das LOD-System.
-
Das Verschieben von Punkten führt nicht dazu, dass sie in benachbarte LODs verschoben werden. Es wird also empfohlen, Punkte nicht zu sehr zu bewegen.
-
Wenn Sie viele Punkte mehrfach einfügen, kann die LOD-Generierung ressourcenintensiv werden.
Um die oben beschriebenen Probleme zu entschärfen, können Sie das Asset der Punktwolke mit Grenzen initialisieren, die viel größer als nötig sind (z. B. 100.000 in jeder Achse) und das LOD-System im Wesentlichen vollständig deaktivieren, indem Sie die Einstellung Max Bucket Size in den Project Settings des Plugins auf eine sehr große Zahl wie 1.000.000.000 ändern.