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.
Überblendmodi beschreiben, wie der Output des aktuellen Materials mit dem überblendet wird, was im Hintergrund bereits gezeichnet ist. Technisch ausgedrückt, kannst du damit steuern, wie die Engine dieses Material (Quellfarbe) mit dem, was sich bereits im Frame-Puffer (Zielfarbe) befindet, kombiniert, wenn dieses Material vor anderen gerendert wird.
Optionen für den Überblendmodus befinden sich im Detail-Panel mit dem Rest der Basis-Materialeigenschaften:
Dieses Dokument verwendet eine zwischen der Kamera und einer Mauer platzierten Kugel, um die verschiedenen Überblendmodi zu demonstrieren Indem du den Überblendmodus des Materials auf der Kugel änderst, kannst du sehen, wie das Objekt mit den Pixeln hinter ihm verschmilzt.
Undurchsichtig
Der Überblendmodus „Undurchsichtig" ist die einfachste Variante und wahrscheinlich die, die du am meisten verwenden wirst. Er definiert eine Oberfläche, durch die Licht weder hindurchgeht noch durchdringt. Dies ist perfekt für die meisten Kunststoffe, Metalle, Stein und die meisten anderen Oberflächenarten. Aus der Perspektive der Kamera verdeckt die goldene Kugel die Wand dahinter vollständig.
Maskiert
Der Überblendmodus „Maskiert" wird verwendet, wenn du die Sichtbarkeit selektiv binär (ein/aus) steuern musst. Denke zum Beispiel an ein Material, das einen Maschendrahtzaun oder ein Gitter simuliert. Es wird einige Bereiche geben, die gefüllt sind, während andere unsichtbar sind. Solche Materialien sind perfekt für den Überblendmodus „Maskiert".
Nachstehend siehst du ein Diagramm mit maskiertem Material mit einer schwarz-weiß gestreiften Textur, die mit dem Input Opazitätzsmaske verbunden ist. Die weißen Bereiche der Maske werden gerendert, währen die schwarzen Bereiche unsichtbar sind. Bei der Verwendung eines maskierten Materials gibt es keine Zwischenstufen der Opazität.
Hier siehst du Material aus der Perspektive der Kamera:
Es ist wichtig, den Unterschied zwischen transparent und nicht gerendert im Auge zu behalten. Eine transparente Oberfläche, wie z. B. Glas, interagiert weiterhin mit Licht in Form von Reflektionen (Glanz). Pixel, die den Modus „Maskiert" ausgewählt werden, werden einfach nicht gezeichnet; du siehst keine Reflektionen in diesen Bereichen. Wenn du Reflektionen oder spiegelnde Aspekte beibehalten möchtest, solltest du den Überblendmodus „Transluzent" verwenden oder erwägen, ein Schichtmaterial zu erstellen.
Da diese Funktionen außerdem nicht im maskierten Bereich rendern, werden sie überhaupt nicht berechnet, was zu Performance-Einsparungen auf der GPU führt.
Opazitäts-Clip-Maske
Beim Verwenden des Überblendmodus „Maskiert" muss du besonders auf die Eigenschaft Clip-Wert der Opazitätsmaske achten. Diese Eigenschaft enthält einen Skalarwert von 0–1, der steuert, welcher Wert der Opazitätsmasken-Textur als Unterbrechungspunkt verwendet wird, jenseits dessen alle dunkleren Pixel nicht gerendert werden.

Clip-Wert der Opazitätzsmaske (Ziehe den Schieberegler, um eine Vorschau anzuzeigen.)
In dem Beispiel oben ist die Eigenschaft Zweiseitig des Materials auf Aktiviert (markiert) festgelegt und deshalb kannst du das Innere der Box sehen.
Außerdem ist die Eigenschaft Clipwert der Opazitätzsmaske trotz des hier gezeigten interaktiven Beispiels nicht dafür vorgesehen, zur Laufzeit geändert zu werden.
Transluzent
Der Überblendmodus „Transluzent" wird für Objekte verwendet, die eine gewisse Form von Transparenz erfordern. Dies unterscheidet sich vom Überblendmodus „Maskiert" dadurch, dass er verschiedene Stufen der Transluzenz zulässt.
Bei diesem Überblendmodus wird eine Opazität oder eine Textur auf die Oberfläche angewendet, so dass schwarze Bereiche vollständig transparent und weiße Bereiche vollständig undurchsichtig sind und die verschiedenen Abstufungen dazwischen zu entsprechenden Transparenzstufen führen. Im Beispiel wird ein Schwarz-Weiß-Farbverlauf mit dem Input „Opazität" verbunden. Das Ergebnis ist eine Kugel, die am oberen Rand des Meshes vollständig transparent ist und am unteren Rand allmählich volle Opazität erreicht.
Ein wichtiger Aspekt bei der Verwendung von transluzenten Materialien ist, dass sie derzeit keine Spiegelung unterstützen. Das bedeutet, dass du keine Reflektionen entlang der Oberfläche siehst. Solche Reflektionen können jedoch mit Hilfe einer Cubemap in einem ähnlichen Knotennetzwerk vorgetäuscht werden. Die Cubemap-Textur wird einfach über die Basisfarbe gelegt.
Additiv
Der Überblendmodus „Additiv" nimmt einfach die Pixel des Materials und fügt sie zu den Pixeln des Hintergrunds zu. Dies ist dem Überblendmodus Linear abwedeln (Hinzufügen) in Photoshop sehr ähnlich. Das bedeutet, dass es keine Verdunkelung gibt; da alle Pixelwerte addiert werden, wird Schwarz einfach als transparent dargestellt. Dieser Überblendmodus ist nützlich für verschiedene Spezialeffekte, wie z. B. Feuer, Dampf oder Hologramme.
Wie der Überblendmodus „Transluzent" beachtet dieser Überblendmodus Spiegelungen nicht (d. h. Reflektionen). Da die Überblendung additiv ist, wirst du sie wahrscheinlich ohnehin nicht verwenden, aber es ist möglich, einen reflektionsähnlichen Effekt zu simulieren, indem du die Cubemap-Methode verwendest, die oben im Abschnitt „Transluzent" gezeigt wurde.
Im folgenden Bild wurde der Szene eine zweite Kugel hinzugefügt. Beachte, dass dort, wo sich die zwei Kugeln überlappen, die Pixel addiert und somit aufgehellt werden.
Ein Nachteil von additiven Materialien ist, dass sie auf hellen Hintergründen oft schwer zu erkennen sind. Eine Seitenansicht der Kugeln demonstriert dies.
Eine Lösung besteht darin, stattdessen den Überblendmodus AlphaComposite mit einer Textur zu verwenden, die einen vormultiplizierten Alphakanal aufweist. Dies verbessert die Sättigung und Sichtbarkeit in hellen Szenen.
Modulieren
Der Überblendmodus „Modulieren" multipliziert den Wert des Materials mit den Pixeln des Hintergrunds. Dieses Verhalten ist dem Überblendmodus „Multiplizieren" in Photoshop sehr ähnlich und erzeugt einen Verdunkelungseffekt.
Im Diagramm oben ist das Schattierungsmodell des Materials auf Unbeleuchtet und der Überblendmodus auf Modulieren festgelegt. Ein Constant3-Vektor ist mit dem Input „Emissiv" verbunden, um die Oberflächenfarbe zu definieren.
Beachte erneut, dass bei mehreren Kugeln die sich überlappenden Pixel miteinander multipliziert werden und dunkler erscheinen.
Der Überblendmodus „Modulieren" ist am besten für bestimmte Partikel-Effekte geeignet. Es ist jedoch Vorsicht geboten, da er keine Beleuchtung oder separate Transluzenz unterstützt.
AlphaComposite
AlphaComposite wird in Materialien verwendet, die Texturen mit vormultipliziertem Alpha enthalten, was bedeutet, dass die RGB-Farbkanäle vor dem Speichern des Bildes mit dem Alphakanal vormultipliziert wurden. Der Überblendmodus „AlphaComposite" ist eine nützliche Alternative zu den Überblendmodi „Additiv" oder „Transluzent" bei hell gefärbten Partikeln und VFX.
Verglichen mit der additiven Überblendung besitzen AlphaComposite-Materialien eine bessere Sichtbarkeit und erhalten mehr Farbsättigung vor hellen Hintergründen. In hellen Bereichen des Materials ist die Wahrscheinlichkeit geringer, dass das Material aufgrund von Additivablagerungen zu reinem Weiß verblasst.
Das folgende Video zeigt ein AlphaComposite-Material mit einem Opazitätsparameter. Bei niedrigen Opazitätsstufen funktioniert das Material eher wie eine additive Überblendung, während es bei Opazitätsstufen von 0,5 und höher einer transluzenten Überblendung ähnelt und einen interessanten Übergangseffekt an den Rändern der Maske erzeugt.
Referenzen
- Die VFX von Diablo – Julian Love (Springe zu 20:00)
- AlphaComposite Forumthread.
AlphaHoldout
Mit dem Überblendmodus „AlphaHoldOut" kannst du den Alphawert eines Materials „heraushalten" und so ein Loch durch die Objekte direkt dahinter im Ansichtsraum stanzen. Das folgende Bild zeigt das Kamera- und Szenenlayout für eine AlphaHoldout-Implementierung.
- Die Kamera.
- Ein statisches Mesh im Vordergrund fungiert als „Lochstanz"-Objekt. Das AlphaHoldout-Material wird auf dieses Mesh angewendet. Dieses Material muss das Schattierungsmodell unbeleuchtet verwenden.
- Eine empfangende Oberfläche (durch die du ein Loch stanzen möchtest) wird hinter dem AlphaHoldout-Objekt platziert; in diesem Fall eine Backsteinmauer. Das Material auf der empfangenden Oberfläche MUSS entweder den Überblendmodus „Transluzent", „Additiv", „Moduliert" oder „AlphaComposite" verwenden. Ein AlphaHoldout-Material kann nicht auf ein undurchsichtiges Material einwirken.
- Der Hintergrund der Szene, der durch das Loch sichtbar sein wird.
Aus der Perspektive der Kamera siehst du ein transparentes Loch durch die empfangende Oberfläche, wodurch die Objekte dahinter sichtbar werden.
Da das AlphaHoldOut-Material sich auf einem separaten Asset vom Typ „Statisches Mesh" befindet, kannst du es auf einfache Weise im Editor umherbewegen oder im Spiel animieren.
Formeln zu Überblendmodi
| Modus | Beschreibung |
|---|---|
| BLEND_Opaque | Endgültige Farbe = Quellfarbe. Dies bedeutet, dass das Material auf dem Hintergrund gezeichnet wird. Dieser Überblendmodus ist mit der Beleuchtung kompatibel. |
| BLEND_Masked | Endgültige Farbe = Quellfarbe, wenn OpacityMask > OpacityMaskClipValue, andernfalls wird das Pixel verworfen. Dieser Überblendmodus ist mit der Beleuchtung kompatibel. |
| BLEND_Translucent | Endgültige Farbe = Quellfarbe * Opazität + Zielfarbe * (1 – Opazität). Dieser Überblendmodus ist NICHT mit der dynamischen Beleuchtung kompatibel. |
| BLEND_Additive | Endgültige Farbe = Quellfarbe + Zielfarbe. Dieser Überblendmodus ist NICHT mit der dynamischen Beleuchtung kompatibel. |
| BLEND_Modulate | Endgültige Farbe = Quellfarbe * Zielfarbe. Dieser Überblendmodus ist NICHT mit der dynamischen Beleuchtung oder Nebel kompatibel, es sei denn, es handelt sich um Dekormaterial. |
| BLEND_AlphaComposite | Endgültige Farbe = Quellfarbe + Zielfarbe * (1 – Quell-Opazität). |
| BLEND_AlphaHoldout | Endgültige Farbe = Zielfarbe * (1 – Quell-Opazität). Dieser Überblendmodus ist NICHT mit der dynamischen Beleuchtung kompatibel. |