Neueste Meldungen
TutorialsUnreal Engine

Runtime Virtual Texturing in Unreal Engine einrichten: Schritt-für-Schritt-Anleitung

Runtime Virtual Texturing (RVT) erzeugt Shading-Daten in Unreal Engine zur Laufzeit auf der GPU und legt sie im Cache ab. Dieser Leitfaden erläutert den Einrichtungsablauf vom RVT-Asset bis zu den Materialeinstellungen und zeigt, worauf Sie achten sollten.

Visualisierung mit aufeinandertreffenden Terrain- und Wegmaterialien rund um einen modernen PavillonKI-Bild
Symbolbild, mit KI erzeugt.Bild: 3dsınıfı / FCA AI

Kurz gesagt

  1. RVT erzeugt Shading-Daten zur Laufzeit auf der GPU und legt sie für große Bereiche im Cache ab.
  2. Für die Einrichtung werden ein RVT-Asset, ein RVT Volume sowie Materialien zum Schreiben und Auslesen der Daten benötigt.
  3. Landscape, Landscape Splines und Static Meshes eignen sich unter anderem für den Einsatz mit RVT.
  4. RVT und SVT sind für unterschiedliche Anforderungen gedacht: SVT lädt Daten von der Festplatte, RVT erzeugt sie zur Laufzeit.

Was erfahren Sie in diesem Leitfaden?

Runtime Virtual Texturing (RVT) ist in Unreal Engine ein Verfahren, das Texturen ähnlich wie herkömmliches Mapping nutzt, die Texel-Daten jedoch zur Laufzeit auf der GPU erzeugt. Da Shading-Daten für große Bereiche im Cache abgelegt werden, eignet sich RVT für Landscape-Flächen, an das Terrain angepasste Splines und geschichtete Materialien. Dieser Leitfaden behandelt den Ablauf: ein RVT-Asset mit der Szene verknüpfen, das Volume im passenden Bereich platzieren, Materialien für das Schreiben und Auslesen von Daten einrichten und Szenenkomponenten RVT zuweisen.

RVT ist nicht für jede Art von Textur die einzige Option. Unreal Engines anderes Virtual-Texturing-Verfahren, Streaming Virtual Texturing (SVT), eignet sich für große Texturen, die auf der Festplatte vorbereitet und von dort geladen werden. Beispiele dafür sind Lightmaps und detaillierte Artist-Texturen. RVT ist dagegen auf Szenarien wie prozedurale oder geschichtete Materialien und Blends in Landscape ausgerichtet, deren Daten zur Laufzeit erzeugt werden können.

Voraussetzungen und Vorbereitung

Die Dokumentation von Epic Games nennt für diese Einrichtung weder eine aktuelle oder minimale Unreal-Engine-Version noch einen Kontotyp. Es gibt jedoch einen Kompatibilitätshinweis zur Versionsgeschichte: Der in Unreal Engine 4.23 verfügbare Materialtyp „Base Color, Normal“ wurde in 4.24 entfernt; Assets, die diesen Typ verwendeten, wurden automatisch in den neuen Materialtyp konvertiert. Dabei handelt es sich nicht um eine Versionsanforderung, sondern um einen Hinweis zur Umstellung eines älteren Materialtyps. Da auf Plattformen ohne Unterstützung für Virtual Texturing gegebenenfalls ein alternatives Material-Setup nötig ist, sollte beim Einrichten der Materialien auch eine Fallback-Option berücksichtigt werden.

Für die Szene werden grundsätzlich folgende Elemente benötigt:

  • Ein Runtime Virtual Texture-Asset (RVT Asset).

  • Ein Runtime Virtual Texture Volume, das dieses Asset in der Szene platziert.

  • Materialien, die für das Schreiben in und/oder das Sampling aus dem RVT vorbereitet sind.

  • Geeignete Szenenkomponenten, die dem RVT-Asset zugewiesen sind und innerhalb der Volume-Grenzen liegen.

Das RVT-Asset ist das Konfigurationselement, das Materialien und Szenenkomponenten miteinander verbindet, die Daten an das Virtual Texture senden. Das Volume bringt das Asset in die Szene. Mit den richtigen Material- und Komponentenzuweisungen können Szenenelemente Daten in die Textur schreiben.

Einrichtung: Schritt für Schritt

1. RVT-Asset erstellen und Typ festlegen

Öffnen Sie im Content Browser das Rechtsklickmenü oder klicken Sie auf Add New. Erstellen Sie unter Materials & Textures ein Asset vom Typ Runtime Virtual Texture. Legen Sie nach dem Öffnen des Assets dessen Größe, Tile-Größe und die unterstützten Materialeigenschaften fest.

Wählen Sie den Materialtyp entsprechend den Daten, die im RVT gespeichert werden sollen. Eine Option, die nur Base Color speichert, erfüllt einen anderen Zweck als eine Option, die Base Color, Normal, Roughness und Specular gemeinsam speichert. Eine YCoCg-basierte Base-Color-Kodierung kann Farbverschiebungen und Banding reduzieren, die bei weichen Farbübergängen sichtbar werden können. Laut Epic Games ist ihr Speicherbedarf jedoch 25 Prozent höher; auch das Sampling und Decoding der Virtual-Texture-Daten verursachen zusätzliche Performance-Kosten. Berücksichtigen Sie bei der Auswahl daher neben dem visuellen Ergebnis auch den Ressourcenverbrauch.

2. RVT Volume zur Szene hinzufügen

Fügen Sie über das Modes-Panel ein Runtime Virtual Texture Volume hinzu. Die Grenzen des Volumes müssen den Actor umfassen, der in das RVT schreiben soll. Dabei handelt es sich meist um ein Landscape oder eine terrainähnliche Fläche. Auch Elemente, die aus dem RVT sampeln oder in das RVT schreiben, müssen innerhalb der Grenzen des betreffenden Volumes liegen.

Um Position und Skalierung anhand eines Actors anzupassen, verwenden Sie bei ausgewähltem Volume im Details-Panel den Bereich Transform from Bounds. Wählen Sie im Feld Source Actor einen Actor aus der Szene aus oder verwenden Sie die Pipette. Passen Sie anschließend mit der Schaltfläche Set Bounds die Grenzen des Volumes an. Wenn später weitere Komponenten hinzukommen, die in das RVT schreiben, kann dieser Schritt dabei helfen, auch diese in das Volume einzuschließen.

3. Materialien für das Schreiben und Auslesen von RVT-Daten vorbereiten

Das Übertragen von Daten in ein RVT und das Auslesen aus einem RVT werden mit Material Expressions eingerichtet. Verbinden Sie die bestehende Materiallogik mit der Expression Runtime Virtual Texture Output, um den RVT-Output des Materials zu erstellen. Um Daten aus dem RVT auszulesen, fügen Sie dem Material eine Expression Runtime Virtual Texture Sample hinzu, die mit dem zu verwendenden RVT-Asset verknüpft ist.

Wenn das gesampelte RVT-Asset über eine Material Instance geändert werden soll, kann Runtime Virtual Texture Sample Parameter verwendet werden. Der Materialtyp dieses Parameters muss mit dem Typ des zugewiesenen RVT-Assets übereinstimmen. Falls nach einer Änderung des Materialtyps des Assets Inkompatibilitäten in den Sampling-Nodes auftreten, kann die Funktion Fix Material Usage im Rechtsklickmenü des Assets die betreffenden Materialien und Material Functions finden und die Typen aufeinander abstimmen.

4. Szenenkomponenten dem RVT zuweisen

Wählen Sie die Komponente aus, die in das RVT schreiben soll, und fügen Sie im Details-Panel unter Render to Virtual Textures das entsprechende RVT-Asset zum Array hinzu. Einer Komponente können mehrere RVT-Assets zugewiesen werden. Für den Schreibvorgang muss das Asset einem RVT Volume in der Szene zugewiesen sein. Außerdem müssen die Materialien der Komponente entsprechend eingerichtet sein.

Epic Games nennt Landscape, Landscape Splines, Static Meshes und Instanced Static Meshes als geeignete Kandidaten. Da der Inhalt eines RVT nicht in jedem Frame vollständig aktualisiert wird, sind Komponenten mit statischer Beweglichkeit zu erwarten. Skeletal oder animierte Meshes sind für diesen Einsatz keine geeigneten Kandidaten.

5. Ergebnis und Abdeckung prüfen

Prüfen Sie gemeinsam, ob das RVT Volume die Zielfläche abdeckt, die Komponente dem richtigen RVT-Asset zugewiesen ist und das Material die erforderlichen Expressions zum Schreiben oder Samplen enthält. Objekte, die in das RVT schreiben, werden über die orthografische Projektion des Volumes entlang der negativen Z-Richtung verarbeitet. Position und Abdeckung des Volumes sind daher wichtige Bestandteile der Einrichtung.

Für Plattformen, die die Virtual-Texturing-Funktion nicht unterstützen, lässt sich mit Virtual Texture Feature Switch ein alternativer Materialpfad erstellen. Wenn eine abweichende Materiallogik speziell für RVT benötigt wird, kann die Expression Runtime Virtual Texture Replace einen Pfad definieren, der ausschließlich für den RVT-Output gilt. Das Ergebnis hängt von den Verbindungen im Materialgraphen ab; die Dokumentation bietet kein einheitliches Materialrezept für jedes Projekt.

Häufige Fehler

  • Das Volume deckt den Zielbereich nicht ab: Das RVT Volume muss die Komponenten einschließen, die Daten schreiben. Prüfen Sie den Bereich mit Transform from Bounds und Set Bounds.

  • Materialtypen nicht aufeinander abstimmen: Stimmen die Typen des RVT-Assets und der Sampling-Expression nicht überein, kann es bei Änderungen über eine Material Instance zu Problemen kommen.

  • Beliebige Szenenelemente in das RVT schreiben lassen: Animierte und Skeletal Meshes sind keine geeigneten Kandidaten. Beachten Sie, dass die RVT-Daten nicht in jedem Frame vollständig erneuert werden.

  • RVT und SVT für denselben Zweck einsetzen: RVT ist für Daten gedacht, die zur Laufzeit auf der GPU erzeugt werden; SVT für große Texturen, die auf der Festplatte vorbereitet und von dort geladen werden.

  • Speicher- und Performance-Kosten außer Acht lassen: YCoCg-Kodierung kann Farb-Artefakte reduzieren, bringt aber zusätzliche Speicher- und Sampling-Kosten mit sich.

Auswirkungen auf Architektur- und Archviz-Workflows

In Architekturvisualisierungen mit Landscape lässt sich RVT für Materialübergänge zwischen Terrain, Splines und Szenenelementen in Betracht ziehen. Workflows, die auf großen Außenflächen eine visuelle Einheit zwischen terrainangepassten Wegen und anderen Oberflächenelementen herstellen, gehören zu den Einsatzbereichen, auf die dieses Verfahren abzielt. Die Quellen nennen jedoch weder eine Integration mit einer bestimmten Archviz-Software noch einen Performance-Gewinn in Prozent oder Hardwareempfehlungen.

Bei der Entscheidung für Büro- und Studierendenprojekte sollten Szenenmaßstab, Materialtyp, Unterstützung für Virtual Texturing auf der Zielplattform und Speicherbedarf gemeinsam berücksichtigt werden. Der zusätzliche Ressourcenverbrauch der YCoCg-Option lässt sich nicht von ihrem möglichen visuellen Nutzen trennen. Animierte Assets sollten ebenfalls nicht als geeignete Kandidaten für das Schreiben in RVT betrachtet werden. Nach der Einrichtung helfen Prüfungen des Material-Fallbacks auf verschiedenen Plattformen und der Volume-Grenzen dabei, mögliche Inkompatibilitäten im Workflow zu erkennen.

Nächste Schritte

Beschränken Sie den ersten Test auf ein Landscape und ein einzelnes RVT Volume. Prüfen Sie die Verbindungen zum Schreiben und Samplen im Material separat. Sobald der grundlegende Ablauf funktioniert, können Sie weitere Szenenkomponenten zum RVT hinzufügen und die Volume-Grenzen erneut kontrollieren. Sollen große, auf der Festplatte vorbereitete Texturen geladen werden, sollten Sie SVT in Betracht ziehen; geht es um Materialdaten, die zur Laufzeit erzeugt oder zusammengeführt werden, ist RVT eine passende Option.

Quellen und Lizenz

Dieser Leitfaden wurde auf Grundlage der von Epic Games veröffentlichten Dokumentationen Runtime Virtual Texturing und Virtual Texturing für Unreal Engine ins Türkische übertragen und angepasst. Beide Quellen sind als frei lizenziert gekennzeichnet. Da in den Quelltexten kein Lizenzname genannt wird, wird hier keine bestimmte Lizenzart angenommen.

Quellen

2 Quellen
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/runtime-virtual-texturing-in-unreal-engine
Zusammenfassung
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/virtual-texturing-in-unreal-engine
Zusammenfassung

Quelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.

Die Einschätzung von 3dsınıfı
3dEinschätzung der Redaktion

RVT ist besonders für Architekturvisualisierungen einen Blick wert, in denen Materialübergänge zwischen Terrain, Splines und statischen Szenenelementen eingerichtet werden. Es sollte jedoch nicht als allgemeine Performance-Lösung verstanden werden, die jedem Projekt hinzugefügt werden muss; die Quellen nennen weder eine minimale Hardwareanforderung noch einen bestimmten Geschwindigkeitsgewinn.

Für Büros und Studierende in der Türkei ist es am sinnvollsten, zunächst die Funktion an einem kleinen Teil der Szene zu prüfen. Bei der Wahl des RVT-Typs sollten Speicher- und Sampling-Kosten, die Unterstützung der Zielplattform sowie die fehlende Eignung animierter Assets berücksichtigt werden. Sollen große Texturen von der Festplatte geladen werden, ist auch SVT eine Option.

Häufige Fragen

Wofür wird Runtime Virtual Texturing in Unreal Engine verwendet?

RVT erzeugt Texel-Daten zur Laufzeit auf der GPU und legt Shading-Daten für große Bereiche im Cache ab. Es kann für Landscape-Materialien, Splines und Blends geschichteter Materialien verwendet werden.

Welche grundlegenden Elemente werden für die Einrichtung von RVT benötigt?

Benötigt werden ein RVT-Asset, ein RVT Volume, das es in der Szene platziert, geeignete Material Expressions und Szenenkomponenten, die dem RVT zugewiesen sind.

Was ist der Unterschied zwischen RVT und Streaming Virtual Texturing?

RVT erzeugt Daten zur Laufzeit auf der GPU. SVT ist dagegen für große Texturen gedacht, die auf der Festplatte vorbereitet und von dort geladen werden, etwa für Virtual-Texture-Lightmaps.

Kommentare und Forum sind auf Türkisch.Mitdiskutieren
+

Verwandte Meldungen