Diese Seite beschreibt Funktionalität, die sowohl in der Unreal Engine als auch Unreal Editor für Fortnite (UEFN) auftaucht.
Die Seite wurde ursprünglich für die Unreal Engine verfasst, darum sind manche Beschreibungen und Screenshots eventuell anders als im UEFN.
Klicke hier um zur Haupt-Dokumentation von UEFN zurückzukehren.
Bloom ist ein reales Lichtphänomen, das den Realitätseindruck eines gerenderten Bildes bei moderaten Kosten für die Render-Performance erheblich steigern kann. Bloom ist mit dem bloßen Auge zu erkennen, wenn du auf sehr helle Objekte schaust, die sich auf einem viel dunkleren Hintergrund befinden. Selbst hellere Objekte verursachen noch andere Effekte (Schlieren, Streulichter), aber diese sind nicht vom klassischen Bloom-Effekt abgedeckt. Da unsere Displays (TV, TFT usw.) normalerweise HDR (High Dynamic Range) nicht unterstützen, können wir nicht wirklich sehr helle Objekte rendern. Stattdessen simulieren wir die Effekte, die im Auge passieren (Netzhautuntergrundstreuung), wenn Licht auf den Film trifft (Filmuntergrundstreuung) oder vor der Kamera (Milchglasfilter). Der Effekt ist zwar nicht immer physikalisch korrekt, kann aber dazu beitragen, die relative Helligkeit von Objekten anzudeuten oder dem auf dem Bildschirm angezeigten LDR-Bild (Low Dynamic Range) mehr Realismus zu verleihen.

Bloom kann mit einem einzigen Gaußschen Weichzeichner implementiert werden. Um die Qualität zu verbessern, kombinieren wir mehrere Gaußsche Weichzeichner mit unterschiedlichen Radien. Um eine bessere Performance zu erzielen, führen wir die sehr umfangreichen Weichzeichnungen in einer viel niedrigeren Auflösung aus. In UE3 hatten wir drei Gaußsche Weichzeichner in den Auflösungen 1/4, 1/8 und 1/16. Nun haben wir mehrere Weichzeichner mit den Namen Weichzeichner1 bis 5 in den Auflösungen 1/2 (Weichzeichner1) bis 1/32 (Weichzeichner5).
Wir kombinieren die Weichzeichner unterschiedlich, um mehr Kontrolle und höhere Qualität zu erreichen. Um die beste Performance zu erzielen, sollten die hochauflösenden Weichzeichnungen (kleine Anzahl) klein sein und umfangreichen Weichzeichnungen sollten hauptsächlich die niedrigauflösenden Weichzeichnungen (große Anzahl) verwenden.
Eigenschaft | Beschreibung | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Intensität | Skaliert die Farbe des gesamten Bloom-Effekts (linear). Mögliche Anwendungen: mit der Zeit verblassen oder verdunkeln. | ||||||||||
Schwellenwert | Definiert, wie viele Luminanzeinheiten eine Farbe haben muss, um Bloom zu bewirken. Neben dem Schwellenwert gibt es einen linearen Bereich (eine Einheit breit), in dem die Farbe den Bloom nur teilweise beeinflusst. Damit alle Farben der Szene zum Bloom beitragen, muss ein Volumen von –1 verwendet werden. Mögliche Anwendungen: Optimierung für einige nicht echte HDR-Inhalte, Traumsequenz. ![]() ![]() |
||||||||||
#1#2#3#4#5 Tönung | Modifiziert die Helligkeit und Farbe für jeden Bloom. Durch die Verwendung einer schwarzen Farbe wird der Durchlauf nicht schneller, aber das lässt sich ändern. | ||||||||||
#1#2#3#4#5 Größe | Die Größe in Prozent der Bildschirmbreite. Wird durch eine Zahl begrenzt. Wenn du eine größere Zahl benötigst, verwendest du stattdessen den Weichzeichner mit der nächstniedrigeren Auflösung (höhere Zahl).
|
Bloom-Faltung
Mit dem Bloom-Effekt Faltung kannst du benutzerdefinierte Bloom-Kernformen mit einer Textur hinzufügen, die physikalisch realistische Streuung und und Beugung des Lichts innerhalb der Kamera oder des Auges, die zu Bloom führen, durch eine mathematische Faltung eines Quellbildes mit einem Kernbild modelliert wird.


In diesem Beispiel erzeugt die Bloom-Technik ein Kontinuum von Reaktionen, das von sternförmigen Ausbrüchen bis zu diffus leuchtenden Regionen reicht.
Der Kern stellt die Reaktion des optischen Geräts auf eine einzelne Punktquelle in der Mitte des Sichtfelds dar. Jedes Pixel in der Quelle trägt einen Teil seiner Helligkeit zu den Nachbarpixeln bei, wie es das Kernbild vorgibt. Je heller das Quellpixel ist, desto sichtbarer ist der Bloom, den er erzeugt. Unter der Haube wird diese energiesparende Streuung als Faltungsoperation formuliert und durch die Verwendung einer schnellen Fourier-Transformation (FFT) beschleunigt.
Die Bloom-Faltung wurde zur Verwendung in der In-Game- oder Offline-Kinematografie oder auf High-End-Hardware entwickelt, während der Bloom Standard für die meisten Spieleanwendungen verwendet werden sollte. Bei der Bewertung des Kompromisses weist der Bloom Standard einen signifikanten Performance-Vorteil auf, ist aber nicht konservativ (er kann zu einer allgemeinen Aufhellung des Bildes führen) und ihm fehlt die visuelle Komplexität der Bloom-Faltung.
Um die Bloom-Faltung zu aktivieren, navigierst du zum Abschnitt Objektiv im Nachbearbeitungsvolumen und wählst neben Methode im Auswahlfeld Faltung aus.

Eigenschaft | Beschreibung |
---|---|
Faltungskern | Hier kannst du die Textur auswählen, die den Kern definiert. |
Erweiterte Eigenschaften | |
Faltungsmaßstab | Dies gibt die relative Größe des Bild des Faltungskerns in Einheiten des Viewports an, der Standardwert ist 1. Wird hauptsächlich zur Verringerung der Größe des Blooms verwendet. |
Faltungsmitte | In UV-Koordinaten, der Standardwert ist (1/2, 1/2). Im Idealfall ist das Bild des Faltungskerns eine perfekt zentrierte Antwort auf eine hellere Quelle, aber im Allgemeinen sind kleine Anpassungen erforderlich. Versetzungen hier führen zu vollständigen Versetzungen des Bloom-Bildes. |
Faltungs-Boost | Verstärkt die Intensität der ausgewählten Pixel vor dem Anwenden des Faltungs-Bloom-Filters. Dies besteht aus einem Mindestwert, einem Höchstwert und einem Multiplikator. Das Helligkeitsdelta oberhalb des Mindestwerts wird durch den Multiplikator verstärkt. Standardmäßig ist dieser Boost deaktiviert und sollte mit Vorsicht verwendet werden. |
Faltungspuffer | Impliziter Pufferbereich als Bruchteil der Bildschirmgröße, um sicherzustellen, dass der Bloom nicht um das Bild herumläuft. Das Erhöhen dieses Werts wirkt sich nachteilig auf die Performance aus. |
Optimale Vorgehensweise bei Kernbildern
Der zusätzliche Realismus, den die bildbasierte Faltung generiert, ist das Ergebnis ihrer Fähigkeit, ein visuell interessantes, nicht symmetrisches Kernbild zu verwenden. Wenn du deine Kernbilder erstellst und sie für die Verwendung mit der Bloom-Faltung einrichtest, solltest du einige Dinge beachten.
- Das Kernbild sollte vollständig auf der GPU vorhanden und in voller Auflösung verfügbar sein, ansonsten wird möglicherweise eine Version des Bildes mit niedriger Auflösung verwendet und führt zu einer erheblichen
Verschlechterung der Qualität. Dazu legst du für das Kernbild die folgenden Eigenschaften im Textur-Editor fest:
- Mips-Gen-Einstellung: Keine Mipmaps
- Niemals Streamen: **aktiviert
- Bloom ist ein Ganzbildfilter, d. h. bei Bloom-Faltung sollte der wärmste Teil des Bildes deutlich heller sein als der Rest des Bildes (das .exr-Format eignet sich hierfür gut), da der Filter sonst einen starken Unschärfeeffekt auf dem Bildschirm erzeugt.
- Das System erwartet den wärmsten Punkt in der Mitte deines Kernbilds. Dies kann jedoch angepasst werden, indem du die Steuerelemente Faltungsmitte verwendest.
- Eine gute Bloom-Kernstruktur sollte den größten Teil des Kernbildes ausfüllen. Wenn du dir das Standard-Kernbild in Photoshop anschaust, siehst du, dass alle radialen Linien, die von der Mitte abweichen,
sich über einen großen Teil des Bildes ausbreiten.
- Größere Änderungen am Verhalten der Faltung sollten durch eine Änderung des Kernbildes vorgenommen werden, wobei kleinere Anpassungen über die erweiterten Eigenschaften der Bloom-Faltung vorgenommen werden.
Bloom-Schmutzmaske
Der Effekt Bloom-Schmutzmaske verwendet eine Textur, um den Bloom in einigen definierten Bildschirmbereichen aufzuhellen. Dies kann verwendet werden, um einen Kriegskamera-Look, einen beeindruckenden HDR-Effekt oder Kameraunregelmäßigkeiten zu erzeugen.


Um die Bloom-Schmutzmaske zu aktivieren, navigierts du zum Abschnitt Objektiv im Nachbearbeitungsvolumen und aktiviere die Option für Schmutzmaskentextur. Verwende die Auswahl „Textur", um die Textur auf deine Schmutzmaske anzuwenden.

Eigenschaft | Beschreibung |
---|---|
Schmutzmaskentextur | Verwende das Auswahlfeld, um eine Texture2D zuzuweisen, die für deine Schmutzmaske verwendet werden soll. Denke daran, dass diese Eigenschaft nicht mit anderen Nachbearbeitungsvolumen gemischt werden kann. |
Schmutzmaskenintensität | Skaliert die Farbe des gesamten Bloom-Schmutzmaskeneffekts (linear). Diese Eigenschaft wird zur Optimierung der Schmutzmaskenhelligkeit verwendet. |
Schmutzmaskentönungsfarbe | Wird verwendet, um die Textur der Schmutzmaske abzudunkeln oder einzufärben. Dies kann verwendet werden, um die Helligkeit und Farbe der Schmutzmaske zu optimieren. |
Optimale Vorgehensweisen beim Schmutzmaskenbild
Wenn du deine Schmutzmaskentexturen erstellst und sie für die Verwendung mit der Bloom-Schmutzmaske einrichtest, solltest du einige Dinge beachten.
- Die Textur sollte vollständig auf der GPU vorhanden und in voller Auflösung verfügbar sein. Dazu legst du folgende Eigenschaft im Textur-Editor fest:
- Mips-Gen-Einstellung: Keine Mipmaps
- Niemals Streamen: **aktiviert
- Diese Nachbearbeitungseigenschaft kann nicht mit anderen Nachbearbeitungsvolumen in deinem Level gemischt werden kann.
- Beim Erzeugen deiner Schmutzmaskentextur solltest du Folgendes beachten:
Beispiel einer in einem Fahrzeugspiel verwendeten Schmutzmaskentextur.
- Es wird empfohlen, eine Bildgröße zu verwenden, die keine Zweierpotenz ist. Dies vermeidet die Erstellung und das Streaming von Mips, so dass diese automatisch festgelegt werden sollten. Wenn du jedoch eine Zweierpotenz der Texturgröße verwendest, musst du diese in den Eigenschaften des Textur-Editors festlegen.
- Du kannst Textur mit niedriger Auflösung verwenden, da dies normalerweise ausreicht, um Schmutz oder Kratzer auf der Kamera darzustellen und diese werden wahrscheinlich ohnehin unscharf und verschwommen sein. Wenn du Kompressionsartefakte erhältst, kannst du versuchen, ein Bild mit höherer Auflösung zu verwenden.
- Du kannst die Textur mit Photoshop (oder einer ähnlichen Bildbearbeitungssoftware) erstellen, indem du Objektivunschärfe verwendest.
- Verwende chromatische Aberration (Farbsaum) in der Textur, um das Aussehen der Schmutzmaske zu verbessern.