Das Plugin „Impostor Baker“ bietet eine Möglichkeit, vereinfachte Darstellungen von komplexer Geometrie für die Verwendung beim Fern-Rendering als Detaillierungsgrad-Meshs (LOD) zu verwenden. Es gibt drei Haupttypen von Imposters, die Sie mit dem „Imposter Baker“ generieren können:
Full Sphere Impostor zum Erfassen und Rendern von Ansichten aus allen Winkeln rund um das Objekt.
Upper Hemisphere Impostor, um nur Ansichten von oberhalb des Geländes zu erfassen und darzustellen. Diese Option bietet eine bessere Qualität für Objekte, die normalerweise auf dem Gelände liegen und von unten nicht aus großer Entfernung betrachtet werden können. Dadurch werden Verarbeitungsressourcen gespart, da nicht verwendete Ansichten nicht gerendert werden.
Traditional Billboards LOD verwendet die ältere Technik der Aufnahme von Bildern in festen horizontalen Winkeln und ein einzelnes Bild von oben, um die Draufsicht darzustellen. Diese Bilder werden jeweils auf einer eigenen Sprite-Karte platziert und basieren auf dem Betrachtungswinkel. Abgewandte Karten werden durch einen Dithering-Effekt ausgeblendet.
Die ersten beiden Arten von Imposter basieren auf der gleichen Technik. Das Werkzeug erfasst eine bestimmte Anzahl von Ansichten um das Objekt herum. Beim Rendern sucht das Impostor-Material nach den drei aufgenommenen Frames, die der aktuellen Kameraansicht am nächsten sind, und mischt sie, um eine Darstellung zu erhalten, die dem tatsächlichen Blickwinkel besser entspricht. Diese drei Frames werden auf einer einzigen Sprite-Ebene gerendert.
Imposter bieten eine flüssigere und realistischere Simulation der 3D-Geometrie, indem sie immer einen einzelnen gemischten Sprite-Frame aus der Perspektive des Betrachters rendern, im Vergleich zu Billboards, die spezielle Sprite-Ebenen mit fester Perspektive verwenden, die aus manchen Winkeln nicht ganz korrekt aussehen. Das folgende Video demonstriert diese Differenzierung.
Links: Impostor; Rechts: Billboards.
In Fortnite Battle Royale (FNBR) verwenden wir „Upper Hemisphere Imposters“ für alle unsere Bäume, wenn Nanite deaktiviert ist. Dies bietet eine bessere Qualität für unsere über die Insel verteilten Bäume, die aus der Ferne betrachtet werden.
Vergleich von Imposters mit Billboards
Die Differenzierung zwischen einem Imposter und einem Billboard besteht darin, dass Imposter eine Sprite-Karte verwenden, die acht Dreiecke mit neun Scheitelpunkten enthält, und eine Reklametafel acht Karten verwenden, die 72 Dreiecke mit 81 Scheitelpunkten enthalten. Dies bedeutet, dass bei Billboard-Darstellungen die achtfache Anzahl an Scheitelpunkten und Dreiecken zur Darstellung erforderlich ist wie bei einem Imposter.
Impostors lassen sich im Allgemeinen viel schneller rendern als Billboards, da sie weniger Scheitelpunkte enthalten, obwohl der Pixel-Shader für Impostors aufgrund der Überblendung der drei nächsten Frames teurer ist – beim Impostor-Rendering für Mobilgeräte wird auf eine einzelne Frame-Sampling zurückgegriffen. Bei Billboards kommt es für ihre maskierten Materialien immer noch zu noch höheren Überziehungen. Der Hauptvorteil bei der Verwendung von Billboards besteht darin, dass Sie eine höhere Auflösung in der Textur erzielen, da nur neun Ansichten erfasst werden (in einem 3x3-Raster).
Für Vegetation in der Ferne verwenden wir einen Wert von 12 für die XY-Frame-Verteilung des Imposters. Wir tun dies für die meisten Assets in Fortnite Battle Royale. Dies ergibt 12 Frames mal 12 Frames, also werden insgesamt 144 Frames verwendet.
Aktivieren des „Imposter Baker“-Plugins
Bevor Sie beginnen, aktivieren Sie das Plugin ImposterBaker in der Unreal Engine für Ihr Projekt. Dazu öffnen Sie den Plugins-Browser über das Bearbeiten-Menü . Das Plugin befindet sich unter der Kategorie BUILT-IN > Mesh.
Änderungen am „Impostor Baker“-Plugin in Unreal Engine 5.5 und höheren Versionen
Der „Impostor Baker“ verfügt über neuere Funktionen, die die Verwendung vereinfachen und gleichzeitig mehr Anwendungsfälle abdecken. Diese Verbesserungen umfassen:
Impostor Baker kann nun mit GBuffer rendern, ohne dass ein Materialschalter auf dem Material-Asset platziert werden muss.
Impostor Baker kann jetzt alle von Materialien verwendeten Farb-Maps und Skalar-Maps ausrendern und die Skalar-Maps in jeder von Ihnen angegebenen Kombination kanalpacken.
Impostor Baker enthält jetzt einen vollständigen Asset-Editor zum Rendern und Optimieren von Werten, die automatisch als „Voreinstellungen“ in Daten-Assets gespeichert werden können.
Sie können jetzt Textur- und Mesh-Daten mit nur einem Klick automatisch direkt im Quell-Asset speichern.
Impostor Baker enthält jetzt einen Batch-Renderer, der mit der angegebenen Vorgabe Impostors für mehrere Meshs rendern und alle speichern kann.
Sie können jetzt direkt im Impostor-Editor oder der resultierenden Material-Instanz zwischen No Parallax, Single BumpOffset Parallax und Full Iteration Parallax umschalten.
Verwendung des Impostor-Editors
Der folgende Abschnitt beschreibt die verschiedenen Abschnitte des Impostor Baker-Editors.
Impostor-Editor-Widget
Mit dem Widget „Impostor Editor“ haben Sie die volle Kontrolle zum Anpassen und Erstellen Ihres Impostors.
Voreingestelltes Widget
Durch das Generieren von Impostors mithilfe des Voreinstellung-Widgets können Sie mehrere Impostors gleichzeitig generieren und speichern.
Um auf eines dieser Widgets zuzugreifen, klicken Sie mit der rechten Maustaste auf ein beliebiges Statisches Mesh-Asset im Inhaltsbrowser und wählen Sie die Option Scripted Asset Actions > Impostor Baker aus.
Preset DataAsset
Preset DataAsset enthält alle Standardeinstellungen, die beim Öffnen des Impostor-Editors initialisiert werden. Dies spart Zeit, wenn Sie viele Impostors wiederholt rendern, indem die Einstellungen konsistent gehalten werden (Beschreibungen der einzelnen Einstellungen finden Sie weiter unten).
Sie können Ihre aktuelle Einstellungen-Voreinstellung mit der Schaltfläche darüber wie folgt ändern:
Load Settings: Wendet die Einstellungen vom DataAsset auf den Impostor-Editor an.
Apply to DataAsset: Wendet die aktuellen Impostor-Editor-Einstellungen auf das DataAsset an.
New DataAsset: Erstellt ein neues DataAsset im unter Asset Saving angegebenen Pfad.
Sie können angeben, welches DataAsset standardmäßig verwendet werden soll, wenn Sie den Impostor-Editor oder den Preset-Renderer in der Datei DefaultEditor.ini Ihres Projekts starten (zu finden unter \(Ihr Projekt-Stammverzeichnis)\config\DefaultEditor.ini). Fügen Sie die folgenden Informationen in die .ini-Datei ein Datei:
[/ImpostorBaker/BP/EUW_Impostor_Editor.EUW_Impostor_Editor_C]
DefaultSettingsAssetPath=/Game/ImpostorPresets
[/ImpostorBaker/BP/EUW_Generate_Impostor_using_Preset.EUW_Generate_Impostor_using_Preset_C]
DefaultSettingsAssetPath=/Game/ImpostorPresetsÄndern Sie dann den DefaultSettingsAssetPath, sodass er auf ein Daten-Asset verweist, das Sie in Ihrem Projekt erstellt haben (oder das standardmäßig mit dem Plugin installiert wurde).
Bake Settings
Die Sektion Bake Settings enthält die Haupteinstellungen, die sich auf die Impostor-Generierung auswirken.
| Bake Settings | Beschreibung |
|---|---|
Statisches Mesh | Legt fest, für welches Statisches Mesh-Asset ein Impostor generiert werden soll. |
FramesXY | Legt fest, wie viele Sub-Frames auf jeder Achse generiert werden sollen. Ein Wert von 16 würde zum Beispiel 16x16=256 Sub-Frames erstellen. |
Farb-Maps zum Rendern | Legt fest, welche vollständige Farb-Map der Impostor-Baker für Ihren Impostor rendert. Die Mehrheit der Imposters benötigt nur BaseColor und Normal. Die vollständige Liste der Farb-Map-Output-Optionen lautet wie folgt:
|
Kanalweise gepackte Masken | Bietet das Rendering von benutzerdefinierter skalierbarer Zuordnung und Paketieren der Ergebnisse in verschiedenen Farbkanälen in einer einzigen Textur. Die Optionen sind:
|
Impostor-Typ | Bestimmt den Typ des zu rendernden Impostor. Die Optionen sind:
|
Auflösung | Die Texturauflösung, die für die resultierende Textur verwendet werden soll. Epic Games verwendet eine Auflösung von 2048 für seine Projekte, wie z. B. Fortnite Battle Royal. |
Material-Einstellungen
Die Sektion Materialeinstellungen enthält die Einstellungen, für welches Material Ihr Impostor verwendet wird, und verschiedene Einstellungen, die auf das resultierende Material anzuwenden sind.
| Material-Einstellungen | Beschreibung |
|---|---|
Hemisphere-Material | Diese Option bestimmt, welches Parent-Material für Ihren Impostor verwendet werden soll. Normalerweise ist es nicht notwendig, dies zu ändern. Die Einstellung zeigt den korrekten Standard für jeden Typ basierend auf dem ausgewählten Impostor-Typ in den Bake-Einstellungen an. |
Sharing Model Override | Bietet Ihnen eine Möglichkeit, das aktuelle Freigabemodell in ein beliebiges verfügbares Schattierungsmodell zu ändern. |
Parallax-Modus | Schaltet zwischen drei Modi um:
|
Konstante Spiegelnd | Legt den für „glänzend“ zu verwendenden Wert fest, wenn im „Channel Packed“-Masken-Array keine Glanz-Map gerendert wird. Diese Option ist ausgeblendet, wenn eine Glanz-Map gerendert wird. |
Konstante Rauheit | Legt den für die Rauheit zu verwendenden Wert fest, wenn im „Channel Packed“-Masken-Array keine Rauheitskarte gerendert wird. Diese Option ist ausgeblendet, wenn eine Rauheitskarte gerendert wird. |
Konstante Opazität | Legt den für die Opazität zu verwendenden Wert fest, wenn in den „Channel Packed“-Masken keine Opazitätskarte gerendert wird. Diese Option ist ausgeblendet, wenn eine Opazitätskarte gerendert wird. |
Untergrundfarbe | Legt den zu verwendenden Wert für die Untergrundfarbe fest, wenn keine Untergrundfarb-Map gerendert wird. Diese Farbe wird mit der Basisfarbe multipliziert und mithilfe des Distanzfeld-Alpha (das in der Opazitätsmaske in BaseColor Alpha gespeichert ist) maskiert. Diese Option ist ausgeblendet, wenn eine Subsurface-Map gerendert wird. |
Streuungsmaske Min. | Dadurch wird der Mindestwert festgelegt, bei dem die Streuung wirksam wird. Dadurch kann das Distanzfeld-Alpha als „Subsurface Scattering“ für diesen Impostor verwendet werden. Dies hat den zusätzlichen Vorteil, dass etwas Selbstschatten wiederhergestellt wird, der sonst bei der Streuung fehlt. |
Streuungsmaske Länge | Hier wird der Wert festgelegt, wie breit der Kanten-Gradient für die streuende Maske ist, die mit dem Distanzfeld-Alpha erstellt wurde. Dies hat den zusätzlichen Vorteil, dass etwas Selbstschatten wiederhergestellt wird, der sonst bei der Streuung fehlt. |
Maskenversatz | Dieser Wert vergrößert oder verkleinert den Versatz der Maske, die mit dem Distanzfeld-Alpha erstellt wurde. |
Billboard Settings
Die Billboard-Einstellungen werden nur angezeigt, wenn der Impostor-Typ (befindet sich unter den Bake-Einstellungen) auf Traditionelle Billboards festgelegt ist. „Imposter Type“ bietet einige Einstellungen, um Billboards speziell anzupassen.
| Billboard Settings | Beschreibung |
|---|---|
XY am Mesh-Pivot zentrieren | Diese Einstellung ist standardmäßig deaktiviert. Wenn sie deaktiviert ist, wird das Statisches Mesh mit der Kamera aufgenommen, die sich um das Zentrum seiner Grenzen dreht. Dies stellt normalerweise sicher, dass das Objekt innerhalb des aufgenommenen Frames bleibt. In manchen Fällen (insbesondere bei Bäumen) liegt der tatsächliche Mittelpunkt der Grenzen möglicherweise nicht genau am Drehpunkt, wo sich normalerweise der Baumstamm befindet. Dies kann zu einem Artefakt führen, bei dem Sie kurz den Geist leicht versetzter Baumstämme nebeneinander sehen, während die Kamera um die entstehenden Billboards rotiert. Das Aktivieren dieser Einstellung erzwingt, dass die Aufnahme um den Mesh-Drehpunkt auf der XY-Position zentriert wird, was dieses Artefakt korrigiert. Diese Einstellung kann zu Problemen führen, wenn sie auf Meshs verwendet wird, deren Drehpunkt nicht nahe im Zentrum liegt. |
Referenzebene Oben | Verschiebt die Referenz-Ebene der obersten Karte. Der Wert wird von 0 bis 1 normalisiert, wobei 0,5 den Mittelpunkt des Meshs darstellt. Wenn Sie diese Einstellung ändern, positionieren Sie die oberste Karte am breitesten Teil des Statisches Mesh. Für dieses Beispiel mit einem Kieferbaum wird die oberste Karte etwas nach unten gedrückt, was Artefakte reduziert. |
Referenzebene Seiten | Diese Einstellung funktioniert ähnlich wie „Reference Plane Top“, verschiebt jedoch stattdessen die Seitenebenen entlang ihrer Normalen. Normalerweise gibt es keinen Grund, diese Einstellung anzupassen, es sei denn, Sie nehmen ein sehr dichtes Objekt auf, das überall den größten Teil der Grenzen einnimmt, und Sie haben Parallax-Optionen aktiviert. |
Sprite Scheitelpunkt-Shader verwenden | Diese Einstellung sollte nur aktiviert sein, wenn Parallax-Optionen aktiviert werden. Sie bewirkt, dass die UVs über die Grenzen der Geometrie hinausgehen, was das Clipping anzeigt. Das folgende Beispiel zeigt einen extremen Fall, bei dem Sie das Clipping um den unteren Rand des Mesh sehen können. Verwenden Sie diese Einstellung sparsam, weil ihr Effekt das maskierte Überziehen verschlimmert. |
Es gibt zusätzliche Instanzwerte für Billboard-Material, die weitere Einstellungen steuern, die nicht im Blueprint verfügbar sind. In fortgeschritteneren Fällen können diese Einstellungen jedoch dennoch angepasst werden. Die Hauptkategorien sind Dithering-Einstellungen, die das Dithering des Übergangs definieren, und Vertex Shader-Einstellungen, die den Schwellenwert definieren, ab dem Karten entfernt werden, wenn sie beginnen, sich von der Kamera abzuwenden.
Einstellungen zum Speichern von Assets
Die Einstellungen Asset Saving-Einstellungen definieren, wo das Asset gespeichert wird.
| Einstellungen zum Speichern von Assets | Beschreibung |
|---|---|
Neuer Asset-Pfad | Der Ordnerspeicherort für Texturen und Materialien. Standardmäßig ist der Pfad relativ zum Statisches Mesh. Wenn der Pfad relativ ist, können Sie den Pfad mit |
Neues Asset Textur Präfix | Dies ist das Präfix, das dem Namen des neuen Textur-Assets vorangestellt wird. |
Neues Asset MIC Präfix | Das ist das Präfix vor dem Namen des neuen Material-Instanz-Konstante-Assets. |
Relativen Pfad verwenden | Legt den Pfad relativ zum Quell-Mesh fest. Wenn dies False ist, sollte der Pfad mit |
Der Name des Statisches Mesh-Assets wird immer an das angegebene Präfix angehängt, gefolgt vom Namen der einzelnen Karten. Wenn Sie beispielsweise ein Statisches Mesh mit dem Namen S_Tree_01 haben, wäre die resultierende Basisfarbe T_Impostor_S_Tree_01_BaseColor, basierend auf den im obigen Bild angezeigten Werten.
Erweiterte Einstellungen
Die Einstellungen Erweitert-Einstellungen enthalten Werte, die Sie nicht oft bearbeiten müssen.
| Erweiterte Einstellungen | Beschreibung |
|---|---|
Mit GBuffer erfassen | Wenn diese Option aktiviert ist, wird der GBuffer verwendet, um die Impostor-Daten aufzunehmen. Dies funktioniert für alle undurchsichtigen und maskierten Materialien, jedoch nicht bei transluzenten Materialien. Wenn das Quell-Mesh durchscheinende Materialien enthält, warnt Sie der Impostor-Editor mit einem roten Text im Viewport. Frühere Versionen dieses Plugins mussten zuerst die Materialfunktion „Impostor Capture Switch“ in jedem Material platzieren. Dies ist nicht mehr erforderlich, kann aber in einigen Fällen dennoch wünschenswert sein. Ein beispielhafter Anwendungsfall wäre, wie wir dies in Fortnite Battle Royale verwenden, um ein Material zu ändern und bestimmte weltbasierte Farbeffekte zu entfernen, sodass das Imposter-Material nach der Generierung dynamisch eingefärbt werden kann. |
Orthographisch | Wenn diese Option auf True gesetzt ist, erfolgt die Aufnahme mit orthografischem Rendering. Diese Einstellung sollte fast nie geändert werden. Perspektivisches Rendern ist fast nie erforderlich, da das Material mit Parallaxe später eine genaue Perspektive wiederherstellt. Es gibt jedoch bestimmte Materialeffekte, wie z. B. Fresnel, die mithilfe der orthogonalen Darstellung nicht richtig erfasst werden können. In diesen Fällen kann diese Einstellung deaktiviert werden. |
Kamera-Abstand | Wird nur verwendet, wenn „Orthographic“ deaktiviert ist. Legt die Entfernung der Aufnahme fest. |
Szenenerfassungsauflösung | Die Auflösung, mit der jeder Sub-Frame aufgenommen werden soll. Der Wert dieser Einstellung wird automatisch auf die nächste Zweierpotenz gerundet, da bestimmte Teile des Prozesses eine Mip-Map-Kette der Szenenerfassungstexturen erfordern (insbesondere das Generieren der Sprite-Geometrie-Ausschnitte am Ende). Legen Sie diesen Wert auf mindestens die doppelte Auflösung jedes Sub-Frames in der endgültigen Textur fest, damit das Ergebnis super-gesampelt wird. Wenn zum Beispiel die endgültige Textur 4096 mit 16 XY-Frames ist, ist jeder Sub-Frame 256x256. Die standardmäßige Szenenerfassungsauflösung von 512 bedeutet, dass die Sub-Frames mit 200 % Bildschirmprozentsatz gerendert werden, was zu besseren Anti-Aliasing-Ergebnissen führt. |
Boden in Vorschauszenen anzeigen | Schaltet die Anzeige eines Boden-Mesh im Viewport um. Hat keine Auswirkungen auf die Ergebnisse. |
Impostor wirft Schatten | Schaltet um, ob der Impostor im Vorschau-Viewport Schatten wirft. Dies hat keine Auswirkungen auf den Aufnahmeprozess oder die daraus erstellten Assets. |
Shader-Debugmodus | Schaltet ein Debug-Overlay auf dem Material um, die das Raster aller aufgenommenen Frames anzeigt und die Position des Kamerastrahls durch dieses Raster sowohl für die Kamera als auch für das Sonnenlicht (durch Anzeigen eines gerasterten Schattens) genau bestimmt. Das aktuelle „Dreieck“, das die drei nächstgelegenen Ansichts-Frames enthält, wird ebenfalls angezeigt und an dieser Position durch die Misch-Gewichtung eingefärbt. |
Debug-Werte anzeigen | Zeigt eine neue Kategorie von Detaileinstellungen namens Debug an, die verschiedene interne Debug-Informationen des Impostor-Editors anzeigen (z. B. die verwendeten „Material Instance Dynamics“, verschiedene Statistiken zu Grenzen und Pivots usw.). Nur nützlich zum Debuggen von Problemen. |
Renderziele anzeigen | Zeigt eine neue Kategorie mit Detaileinstellungen namens Render Targets an, in der alle verschiedenen Arrays von Renderzielen für die unterschiedlichen Karten und MIPS zur Szenenerfassung angezeigt werden. Möglicherweise nützlich, um gelegentlich zu untersuchen. |
Manuell S RGB Retainer Box | Der Impostor-Editor rendert derzeit die FPreviewScene ohne Gamma-Kurve aufgrund eines Bugs. Dieses Kontrollkästchen aktiviert einen Workaround, der ein UMG-Retainer-Widget zum Anwenden einer sRGB-Kurve verwendet und ist standardmäßig aktiviert. |
Vorschau-Modi
Sie können den Viewport auf verschiedene Arten steuern, um eine Vorschau Ihrer Impostors anzuzeigen. Standardmäßig wechselt der Viewport zwischen dem Quell-Mesh und dem gerenderten Impostor gemäß dem konfigurierbaren Wert Swap by Distance, aber Sie können es auch so festlegen, dass beide in einer Side-by-Side-Ansicht angezeigt werden und Impostor Only erzwungen wird:
Die Side-by-Side-Ansicht ist in Kombination mit den Einstellungen für den Ansichtsmodus nützlich, mit denen Sie etwaige Unterschiede zwischen dem Quell-Mesh und dem Impostor finden und anzeigen können. Diese Ansicht ist insbesondere dann nützlich, wenn Sie versuchen, einen konstanten Glanz- oder Rauheitswert anzunähern, ohne diese Werte zu erfassen.
Unten sehen Sie ein Beispiel des Viewports, der die Normalen des Impostors und des ursprünglichen Quell-Meshs zusammen zeigt:
Sie können das Sonnenlicht drehen, indem Sie die L-Taste gedrückt halten und mit der Maus klicken und ziehen. Sie können die Kamera umkreisen, indem Sie mit der linken Maustaste klicken und ziehen, oder sie vorwärts und rückwärts bewegen, indem Sie mit der rechten Maustaste klicken und ziehen oder das Mausrad verwenden:
Parent-Materialien
Das grundlegende Parent-Material für Impostors finden Sie hier im Inhaltsbrowser unter Engine/Plugins/ImposterBaker Content/Materials/Parents. Öffnen Sie die Datei mit dem Namen M_Imposter, um sie zu untersuchen.
Der Kern des Impostor-Verhaltens, einschließlich eines Satzes von „Channel Packed Masks“, ist hier in einer Funktion zusammengefasst:
Die Sektion, die die Werte für das konstante Glanzlicht übergibt, befindet sich direkt rechts von der im vorherigen Bild gezeigten Funktion, wie unten dargestellt. Diese Funktion behandelt auch das eingebaute „Subsurface Scattering“, das durch das Distanzfeld-Alpha maskiert wird:
Optionale Farb-Maps
Die zusätzlichen optionalen Farb-Maps, die Sie rendern können (Emissive, Subsurface, Tangent), sind mit dieser Funktion bereits mit dem Material verbunden. Das Werkzeug legt automatisch einen statischen Schalter um, um die richtigen zu aktivieren, wenn sie gerendert werden:
Sie können dem Material zusätzliche Farb-Maps hinzufügen, wie etwa die Lit-Textur (die derzeit nirgends verbunden ist), oder zusätzliche Skalar-Maps zusätzlich zu den vier, die Sie mit der enthaltenen Channel Packed-Textur erhalten, indem Sie die unten gezeigte Funktion verwenden (die im Material unterhalb der in den obigen Bildern beschriebenen Funktionen vorhanden ist, nur getrennt):
Skalare Maps
Die zusätzlichen Skalar-Maps, die Sie rendern können, wie etwa „Roughness“, „Specular“, „Clear Coat“ und andere, sind bereits mithilfe dieser Materialfunktion verbunden, die auch automatisch statische Schalter umlegt, um die Texturen zu aktivieren, die zusammen mit ihrem entsprechenden Farbkanal gerendert werden.
Das Parent-Material für die traditionellen Billboards befindet sich im Inhaltsbrowser unter Engine/Plugins/ImposterBaker Content/Materials. Öffnen Sie die mit dem Namen M_Billboard_01_Inst.
/Script/Engine.Material/ImpostorBaker/Materials/Parents/M_Billboard_01_Inst
Es ist genauso aufgebaut wie das Impostor-Material oben. Sie können sich anhand dieser Bilder das Layout des traditionellen Billboard-Materials ansehen. Die Materialfunktionen werden auf die gleiche Weise benannt, enthalten jedoch _Billboard im Namen. Die Logik ist ebenfalls im Wesentlichen ähnlich, nur die internen Details der Funktion sind unterschiedlich.
Rendering ohne GBuffer
Zum Aufnehmen von Transluzenz oder für Sonderfälle, in denen Sie während der Aufnahme bestimmte Funktionen deaktivieren müssen, müssen Sie Capture using GBuffer deaktivieren und die Materialfunktion ImpostorCaptureSwitch am Ende des Diagramms platzieren, das das Mesh verwendet:
Wenn Sie Capture using GBuffer deaktivieren, die Materialfunktion ImposterCaptureSwitch jedoch nicht einschließen, wird der aufgenommene Imposter falsch und mit zahlreichen Artefakten gerendert. Dies liegt daran, dass das Material Basisfarbe und Beleuchtung als Tiefe interpretiert, die dann Parallaxe auf den Output anwendet und viele Rendering-Fehler erzeugt.
Um den Kontext über die Dringlichkeit dieses Problems zu verstehen, berücksichtigen Sie, dass das direkte Zitat des Entwicklers wie folgt lautet:
„Wenn Sie die Option „Capture using GBuffer“ deaktivieren, die obige Funktion jedoch NICHT in die Materialien aufnehmen, sieht der aufgenommene Imposter im Grunde wie ein dampfender Ball aus künstlicher Traurigkeit aus, da das Material Basisfarbe und Beleuchtung als Tiefe interpretiert und mit der Parallaxe fortfährt, ihn in eine Pixelsuppe aus zerstörter Vergessenheit zu verwandeln.
Der traurige Impostor leidet heute unter einem schlimmen Fall des Hochstapler-Syndroms; seine Einstellungen sind nicht einmal gültig.“
Generieren mehrerer Impostors mithilfe der Voreinstellungen
Sie können Impostors für mehrere Statisches Meshs generieren, indem Sie diese auswählen, mit der rechten Maustaste klicken und im Kontextmenü Scripted Asset Actions > Impostor Baker > Generate Impostor Using Preset auswählen.
Wenn Sie Ihre Einstellungsvorgabe festgelegt und entschieden haben, welche Aktion ausgeführt werden soll, wenn ein Statisches Mesh bereits beim letzten LOD einen Impostor hat, klicken Sie auf Generate and Save Impostors.
Wenn Sie Present Dialogue festgelegt haben, wird der Vorgang pausiert, wenn ein bereits vorhandener Imposter erkannt wird. Dieser Vorgang bleibt pausiert, bis Sie im Popup-Dialog eine Auswahl treffen und die auszuführende Aktion auswählen, sei es das Ersetzen des letzten LOD, das Hinzufügen eines neuen LOD oder das vollständige Überspringen dieses Schritts. Dies kann auch im Impostor-Editor erfolgen.
Der Modus „Full Iterative Parallax“
Der Modus Full Iterative Parallax ist in der Lage, ein Rendering zu erzeugen, das fast nicht vom ursprünglichen Mesh zu unterscheiden ist, solange der Impostor die Daten für alle Kanäle aufnimmt, die das Original verwendet. Er wählt das beste Strahlergebnis für jedes Pixel aus einem Nachbar-Frame aus, um es im Wesentlichen um die Ecken der Nachbarn herum zu verfolgen. Diese Option wird Depth Derived Weights genannt.
Hier ist ein Beispiel, in dem einzelne Parallaxe mit iterativer Parallaxe unter Verwendung des Farbkalibrators verglichen wird, während die Glanz-, Rauheits-, Klarlack- und metallische Karten in einer einkanaligen Textur aufgenommen werden. Dies ist ein sehr anspruchsvoller Test, der Artefakte des Überblendens verstärkt.