Beschneiden und Schneiden von 3DGS-Szenen
Die drei Werkzeuge greifen in unterschiedlichen Phasen: Clipping-Volumen und Schnittebenen ändern nur das Endergebnis des Renderings, die Daten werden wie üblich geladen; ein Load-Volumen greift vor dem Laden, sodass ausgeschlossene Bereiche gar nicht gelesen werden.
| Werkzeug | Phase | Senkt Ladevolumen und Grafikspeicher | Genauigkeit der Grenze |
|---|---|---|---|
| Load-Volumen | Filtern vor dem Laden | Ja | Pro Node, konservative Grenze |
| Clipping-Volumen | Endgültiges Rendering | Nein | Pro Splat, exakte Grenze |
| Schnittebenen | Endgültiges Rendering | Nein | Pro Splat, exakte Grenze |
Clipping-Volumen
Ein Clipping-Volumen lässt sich frei skalieren, verschieben und drehen, was Entwicklern beim räumlichen Beschneiden einer LCC-Szene hilft.
- Ein einzelner Actor unterstützt bis zu 65536 Clipping-Volumen, in der kostenlosen Edition auf 50 begrenzt, siehe Editionen und Lizenzierung
- Die Formen Box und Kugel werden unterstützt, beide lassen sich skalieren, verschieben und drehen
Hinweis: Das Beschneiden wirkt nur auf das endgültige Rendering. Weggeschnittene Bereiche nehmen weiterhin wie gewohnt an Node-Traversierung, Laden und Upload in den Grafikspeicher teil. Beschneiden kann daher die geladene Menge oder den Grafikspeicherbedarf nicht senken; diese Kosten über die Methoden im Leitfaden zur Leistung steuern.
Schritte
- Einen LCCActor/LCC2Actor platzieren und die Szene laden.
LCC Clipping Volumein die Szene ziehen.

Ein LCC Clipping Volume in die Szene ziehen
- Das Clipping-Volumen an die Zielposition verschieben.
- Das Clipping Volume im Details-Panel des Actors dem Array
ClippingVolumeshinzufügen.

Das Inside-Beschneidungsergebnis eines Clipping-Volumens
Vorführung

Ein Clipping-Volumen verschieben und das Beschneiden in Echtzeit beobachten
Eigenschaften
| Eigenschaft | Beschreibung |
|---|---|
| bEnabled | Ob es aktiviert ist |
| Mode | Inside (innen beschneiden) oder Outside (außen beschneiden) |
| VolumeType | Box oder Sphere |
Blueprint-Methoden
LCCComponent → AddClippingVolume
LCCComponent → RemoveClippingVolume
Hinweis:
RefreshundSetUpdateComponentsind veraltet. Die Clipping-Daten werden jeden Frame gelesen, sodass eine Änderung an einer Eigenschaft oder das Verschieben eines Clipping-Volumens im nächsten Frame wirksam wird, ohne sie aufzurufen.

Ein Clipping-Volumen mit Blueprint-Nodes hinzufügen, entfernen und aktualisieren
Schnittebenen
Eine Schnittebene lässt sich frei skalieren, verschieben und drehen, um die Szene entlang einer Ebene zu schneiden.
- Ein einzelner Actor unterstützt bis zu 65536 Schnittebenen, in der kostenlosen Edition auf 50 begrenzt, siehe Editionen und Lizenzierung
- Schneiden nach oben oder nach unten wird unterstützt, und die Anzahl wird getrennt von den Clipping-Volumen gezählt
Hinweis: Das Schneiden wirkt nur auf das endgültige Rendering. Weggeschnittene Bereiche nehmen weiterhin wie gewohnt an Node-Traversierung, Laden und Upload in den Grafikspeicher teil. Schneiden kann daher die geladene Menge oder den Grafikspeicherbedarf nicht senken.
Schritte
- Einen LCCActor/LCC2Actor platzieren und die Szene laden.
LCC Section Planein die Szene ziehen.

Eine LCC Section Plane in die Szene ziehen
- Sie an die Zielposition verschieben.
- Die Section Plane im Details-Panel des Actors dem Array
SectionPlaneshinzufügen.
Vorführung

Eine Schnittebene verschieben und das Schneiden in Echtzeit beobachten
Eigenschaften
| Eigenschaft | Beschreibung |
|---|---|
| bEnabled | Ob sie aktiviert ist |
| Mode | Upside (nach oben schneiden) oder Downside (nach unten schneiden) |
Blueprint-Methoden
LCCComponent → AddSectionPlane
LCCComponent → RemoveSectionPlane
Hinweis:
RefreshundSetUpdateComponentsind veraltet, aus demselben Grund wie oben.

Eine Schnittebene mit Blueprint-Nodes hinzufügen, entfernen und aktualisieren
Load-Volumen
Ein Load-Volumen filtert die Daten, bevor sie in den Speicher gelangen: Die Node-Traversierung behält nur die Nodes, die es auswählt, und die Daten abgewiesener Bereiche werden gar nicht gelesen. Es ist damit das einzige der drei Werkzeuge in diesem Dokument, das Ladevolumen und Grafikspeicherbedarf wirklich senkt, was sich eignet, um aus einer großen Szene nur einen kleinen Teil zu verwenden.
- Box- und Kugelform werden unterstützt, beide lassen sich frei skalieren, verschieben und drehen
- Ein Load-Volumen kann gleichzeitig auf mehrere LCC-Actors in der Szene wirken
- Eine Funktion der Pro Edition; ohne Lizenz hat es keine Wirkung und die Daten werden im vollen Umfang geladen. Siehe Editionen und Lizenzierung
Hinweis: Das Filtern arbeitet pro Node, die Grenze ist daher grober als bei einem Clipping-Volumen. Wird eine exakte Grenze gebraucht, ein Clipping-Volumen mit derselben Transformation darüberlegen: Das Load-Volumen senkt das Ladevolumen, das Clipping-Volumen trimmt den Rand.
Schritte
- Einen LCCActor/LCC2Actor platzieren.
LCC Load Volumein die Szene ziehen.- Position, Rotation und Skalierung so anpassen, dass das Volumen den zu behaltenden Bereich umfasst.
- Das Load Volume im Details-Panel des Actors zum Array
LoadVolumeshinzufügen. - Die Szene laden.
Hinweis: Das Filtern greift beim Laden. Wird das Load-Volumen nach abgeschlossenem Laden geändert, ist ein erneutes Laden nötig, damit die Änderung sichtbar wird.
Eigenschaften
| Eigenschaft | Beschreibung |
|---|---|
| bEnabled | Ob es aktiviert ist |
| Mode | Inside (nur laden, was innen liegt) oder Outside (ausschließen, was innen liegt) |
| VolumeType | Box oder Sphere |
Die beiden Modi verwenden unterschiedliche Grenztests:
| Modus | Test | Verhalten an der Grenze |
|---|---|---|
| Inside | Ein Node wird nur geladen, wenn er vollständig im Volumen liegt | Randnodes fallen weg, der behaltene Bereich ist daher etwas kleiner als das Volumen |
| Outside | Ein Node wird ausgeschlossen, sobald er das Volumen überlappt | Randnodes fallen weg, der ausgeschlossene Bereich ist daher etwas größer als das Volumen |
Beide Modi sind bewusst konservativ, wodurch Bereiche nicht auftauchen und verschwinden, während die Kamera sich bewegt und die LOD zwischen Eltern- und Kind-Node wechselt.
Blueprint-Methoden
LCCComponent → AddLoadVolume
LCCComponent → RemoveLoadVolume