Kurz gesagt
- World Partition teilt die Welt innerhalb eines einzigen persistenten Levels in Zellen auf und lädt oder entlädt sie abhängig von den Streaming-Quellen.
- Eine Level Instance fasst mehrere Actors zu einem wiederverwendbaren Level-Layout zusammen; gespeicherte Änderungen werden auf die anderen Kopien übertragen.
- Die Dokumentation empfiehlt Packed Level Blueprint für statische Gebäude und detailreiche visuelle Arrangements.
- Der Level Streaming Mode kann zusätzlichen Aufwand verursachen; eine intensive Nutzung dieses Modus kann die Performance beeinträchtigen.
Dieser Leitfaden behandelt die in der Unreal-Engine-Dokumentation beschriebenen Workflows für World Partition und Level Instancing im Hinblick auf große Architektur- und Umgebungsszenen sowie wiederkehrende visuelle Komponenten. In der Quelldokumentation wird keine bestimmte Unreal-Engine-Version genannt; Menünamen und Verhalten werden daher so wiedergegeben, wie sie dort beschrieben sind. World Partition reduziert den Bedarf, große Welten manuell in Sublevels aufzuteilen, während Level Instancing ausgewählte Actor-Gruppen in wiederverwendbare Layouts verwandelt.
1. Große Welten mit World Partition vorbereiten
World Partition hält die Welt in einer einzigen persistenten Level-Datei und unterteilt den Bereich in Grid-Zellen, die zur Laufzeit geladen werden können. Abhängig von der Position von Streaming-Quellen wie dem Spieler werden die Zellen geladen oder entladen. So müssen zur Laufzeit nicht alle Bereiche der Szene geladen sein, sondern nur die, die gerade sichtbar sind oder mit denen interagiert wird.
Beim Start eines neuen Projekts aktiviert der Open-World-Kartentyp standardmäßig World Partition, One File Per Actor, Data Layers und Hierarchical Levels of Detail. Laut Quelldokumentation enthält die Beispielkarte ein 2 km x 2 km großes Terrain sowie eine Beleuchtungseinrichtung für Außenbereiche. Diese fertige Karte kann als Ausgangspunkt für eine weitläufige Umgebungsszene dienen.
Öffnen Sie
File › New Level.Wählen Sie den Kartentyp
Open Worldaus.Klicken Sie auf
Create, um die Karte zu erstellen.
Wenn Sie mit einem vorhandenen Level arbeiten, können Sie es über Tools › Convert Level konvertieren. Die Dokumentation beschreibt außerdem die Konvertierung mit WorldPartitionConvertCommandlet. Der folgende Befehl ist das in der Dokumentation angeführte Beispiel; die Projekt- und Kartennamen darin sind Beispielwerte.
UnrealEditor.exe QAGame -run=WorldPartitionConvertCommandlet Playground.umap -AllowCommandletRenderingDie Option -ReportOnly erstellt einen Bericht über eine mögliche Konvertierung, ohne Änderungen vorzunehmen; -ConversionSuffix fügt der zu Testzwecken konvertierten Karte das Suffix _WP hinzu. Da -DeleteSourceLevels Quell-Levels löschen kann, sollte diese Option nicht verwendet werden, solange ihre Auswirkungen unklar sind. Wenn Sie die Befehlszeilenoptionen und Konvertierungseinstellungen vorab prüfen, können Sie den Umfang des Vorgangs besser einschätzen.
2. Zellen-Streaming und Actor-Verhalten steuern
In einer Szene mit World Partition werden Actors anhand der Einstellung Is Spatially Loaded den Zellen zugeordnet. Sie befindet sich im Abschnitt World Partition des Details-Panels. Ist die Einstellung aktiviert, wird ein Actor geladen, sobald er in die Reichweite einer Streaming-Quelle gelangt – sofern er nicht einer deaktivierten Data Layer zugewiesen ist. Ist die Einstellung deaktiviert, wird der Actor geladen, sofern er nicht mit einer deaktivierten Data Layer verknüpft ist. Dieser Unterschied ist wichtig, wenn Sie planen, wann entfernte Umgebungselemente in der Szene verfügbar sein sollen.
Die Position der Streaming-Quellen und die Runtime-Grid-Einstellungen bestimmen, welche Zellen geladen werden. Der Player Controller dient standardmäßig als Streaming-Quelle; zusätzlich lässt sich die Komponente World Partition Streaming Source verwenden. Damit können beispielsweise Zellen rund um die Position, zu der der Spieler teleportiert wird, vorab geladen werden. Die Grid-Einstellungen finden Sie im Abschnitt World Partition Setup unter World Settings. Die in der Dokumentation gezeigten Werte für Zellgröße und Ladebereich sind keine allgemeingültigen Empfehlungen, sondern Beispiele dafür, wie die Einstellungen aussehen können.
| Einstellung | Beispielwert aus der Dokumentation | Auswirkung |
|---|---|---|
| Cell Size | 256 m x 256 m x 256 m | Legt die Zellgröße fest, die zum Erstellen von Streaming-Levels verwendet wird. |
| Loading Range | Radius von 768 m | Legt fest, bis zu welcher Entfernung von einer Streaming-Quelle Zellen geladen werden. |
Die World-Partition-Dokumentation weist darauf hin, dass die Verwendung mehrerer Runtime Grids die Performance beeinträchtigen kann. Testen Sie daher zunächst den Bedarf und das Streaming-Verhalten der Szene, bevor Sie die Anzahl der Grids erhöhen. Mit der Option Preview Grids lassen sich die Grid-Linien im Viewport anzeigen und visuell überprüfen.
3. Wiederkehrende Szenenlayouts als Level Instances anlegen
Eine Level Instance fasst eine Gruppe von Actors als Sublevel zusammen und ermöglicht es, mehrere Kopien dieses Layouts in der Szene zu platzieren. So lässt sich beispielsweise eine wiederkehrende Gebäudegruppe oder ein bestimmter Interessenschwerpunkt als einzelnes Layout verwenden. Werden Änderungen an einer Kopie gespeichert, werden sie auch auf die übrigen Kopien angewendet.
Wählen Sie im Viewport oder Outliner die Actors aus, die gemeinsam verwendet werden sollen.
Klicken Sie mit der rechten Maustaste auf einen der ausgewählten Actors und wählen Sie
Level › Create Level Instance.Legen Sie im geöffneten Fenster den Pivot-Typ fest. In der Dokumentation werden die Optionen
Center Min Z,CenterundPivot Actorerläutert.Bestätigen Sie die Einstellungen und speichern Sie die neue Level Instance.
Um das Layout zu bearbeiten, wählen Sie die Instance aus und verwenden Sie Level › Edit oder klicken Sie im Details-Panel auf Edit. Während der Bearbeitung werden die übrigen Actors ausgegraut dargestellt. Wenn Sie fertig sind, wählen Sie im Outliner den Level-Instance-Actor aus und speichern Sie die Änderungen über Commit Changes im Details-Panel. Um den Vorgang ohne Speichern zu verlassen, können Sie zweimal Esc drücken. Damit Änderungen auf die anderen Kopien übertragen werden, muss der Speichervorgang nach der Bearbeitung abgeschlossen werden.
Für statische Gebäude und detailreiche visuelle Arrangements kommt Packed Level Blueprint infrage. Klicken Sie mit der rechten Maustaste auf die ausgewählten Actors und wählen Sie Level › Create Packed Level Actor. Die Dokumentation beschreibt diesen Ansatz als Zusammenfassung statischer Meshes zu einem einzelnen, für das Rendering optimierten Blueprint Actor. Während ein Level-Instance-Actor Actor-Gruppen als wiederverwendbares Level-Layout behandelt, fasst Packed Level Blueprint statische Mesh-Arrangements zusammen.
4. Auswahl für den Architekturvisualisierungs-Workflow und häufige Fehler
Teams für Architekturvisualisierung können wiederkehrende Gebäudeteile oder Umgebungsanordnungen als Level Instances organisieren und dieselbe Komponente an mehreren Stellen einsetzen. Dass Änderungen an einer Instanz auf die anderen Kopien übertragen werden, kann dazu beitragen, wiederkehrende Layouts konsistent zu halten. Für weitläufige Umgebungsszenen bietet das Zellen-Streaming von World Partition die Möglichkeit, nur benötigte Bereiche zu verwalten, statt alles gleichzeitig zu laden. Die Quellen nennen jedoch weder bestimmte Hardware- oder Lizenzanforderungen noch Performance-Garantien; Tests im Maßstab des Projekts sind erforderlich. Außerhalb der World-Partition-Hauptwelt bieten Level Instances keine automatische Streaming-Verwaltung oder -Strategie.
Auch das Verhalten zur Laufzeit sollte berücksichtigt werden. Level Instances und Packed Level Blueprints können mit World Partition Data Layers verwendet werden. Im Embedded Mode werden die Actors von Instances, die One File Per Actor verwenden, zur Laufzeit dem World-Partition-Grid hinzugefügt. Die Dokumentation bezeichnet dies als standardmäßige und empfohlene Methode für den Content-Workflow. Einige Actors, die One File Per Actor nicht verwenden, können dagegen zur Laufzeit verschwinden. Wenn solche Actors benötigt werden, sollte der Level Streaming Mode in Betracht gezogen werden. Dieser verursacht jedoch zusätzlichen Streaming-Aufwand und wird wegen der möglichen Performance-Einbußen nicht für eine intensive Nutzung empfohlen.
Häufige Fehler
Die Beispielwerte aus der Dokumentation für Zellgröße und Ladebereich als feste Empfehlungen für jedes Projekt zu behandeln.
Nach der Bearbeitung
Commit Changesauszulassen, obwohl Änderungen an einer Level Instance auf die anderen Kopien übertragen werden sollen.Davon auszugehen, dass sich das Auflösen einer Level Instance rückgängig machen lässt. Laut Dokumentation ist dieser Vorgang nicht umkehrbar: Der Actor wird entfernt und die ursprünglichen Assets werden in die Szene eingefügt, die Quelle im Content Browser wird jedoch nicht gelöscht.
Den zusätzlichen Performance-Aufwand einer intensiven Nutzung des Level Streaming Mode außer Acht zu lassen.
Quellen
2 QuellenQuelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.
Für Architekturbüros und Visualisierungsteams in der Türkei können diese beiden Funktionen besonders bei weitläufigen Umgebungsszenen und wiederkehrenden Gebäudegruppen die Strukturierung erleichtern. Dass Änderungen an einer Level Instance auf die anderen Kopien übertragen werden, kann den Aufwand verringern, dieselbe Komponente an verschiedenen Stellen zu aktualisieren.
Die Dokumentation nennt jedoch keine bestimmten Hardware- oder Lizenzanforderungen und gibt auch keine idealen Zelleneinstellungen unabhängig vom Projektumfang vor. Statt die Beispielwerte für Grids direkt als Standard zu übernehmen, sollte daher das Streaming-Verhalten der Szene getestet und das Verhalten von Embedded Mode und Level Streaming geprüft werden. Außerdem sorgt es für einen sichereren Team-Workflow, vor Konvertierungen und nicht umkehrbaren Vorgängen Sicherungskopien anzulegen.
Häufige Fragen
Wofür wird Unreal Engine World Partition verwendet?
Das System teilt eine große Welt innerhalb eines einzigen persistenten Levels in Grid-Zellen auf. Abhängig von der Position der Streaming-Quellen werden die Zellen zur Laufzeit geladen oder entladen.
Was ist der Unterschied zwischen Level Instance und Packed Level Blueprint?
Eine Level Instance fasst Actor-Gruppen als wiederverwendbares Sublevel-Layout zusammen. Packed Level Blueprint führt dagegen statische Mesh-Arrangements in einem einzelnen Blueprint Actor zusammen.
Werden Änderungen an einer Level Instance auf die anderen Kopien übertragen?
Ja. Wenn die Änderungen gespeichert werden, werden sie auf die anderen Kopien übertragen. Nach der Bearbeitung sollte dazu im Details-Panel `Commit Changes` verwendet werden.


