Mischmodi beschreiben, wie die Ausgabe des aktuellen Materials mit dem überblendet wird, was bereits im Hintergrund gezeichnet wird. Technisch ausgedrückt ermöglicht es Ihnen, zu steuern, wie die Engine dieses Material kombiniert (Quellfarbe) mit dem, was sich bereits im Frame-Puffer befindet (Zielfarbe), wenn dieses Material vor anderen Pixeln gerendert wird.
Die Optionen für den Mischmodus finden Sie im Details-Panel mit dem Rest der Basis Material Properties:
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“.
Unten sehen Sie ein maskiertes Materialdiagramm mit einer schwarz-weiß gestreiften Textur, die in den Input Deckkraftmaske gesteckt 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 zu kennen. 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 Sie Reflexionen oder spiegelnde Aspekte beibehalten möchten, sollten Sie den transluzenten Mischmodus verwenden oder ein Layered Material.
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-Clipmaske
Bei der Verwendung des maskierten Mischmodus müssen Sie besonders auf die Eigenschaft Clip-Wert der Deckkraftmaske. Diese Eigenschaft enthält einen skalaren Wert von 0-1, der steuert, welcher Wert der Opazitätsmaskentextur als Grenzwert verwendet wird, über den hinaus alle dunkleren Pixel nicht gerendert werden.
Clip-Wert der Opazitätzsmaske (Ziehe den Schieberegler, um eine Vorschau anzuzeigen.)
Im obigen Beispiel hat das Material seine Eigenschaft Zweiseitig festgelegt auf True (markiert), weshalb man das Innere der Box sehen kann.
Auch wenn hier ein interaktives Beispiel gezeigt wird, ist die Eigenschaft Clip-Wert der Deckkraftmaske nicht dafür vorgesehen, zur Laufzeit geändert zu werden.
Durchscheinend
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.
Dieser Mischmodus funktioniert, indem er einen Opazität-Wert oder Textur nimmt und diese so auf die Oberfläche anwendet, dass schwarze Bereiche vollständig transparent und weiße Bereiche vollständig undurchsichtig sind und die unterschiedlichen Abstufungen dazwischen entsprechende Transparenzstufen ergeben. 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.
Additive
Der Überblendmodus „Additiv“ nimmt einfach die Pixel des Materials und fügt sie zu den Pixeln des Hintergrunds zu. Dies ist sehr ähnlich zum Lineares Ausweichen (Hinzufügen)-Mischmodus in Photoshop. 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 beim durchscheinenden Mischmodus beachtet dieser Mischmodus keine Spiegelung (d. h. Reflexionen). 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 in der Verwendung vom Mischmodus AlphaComposite stattdessen, der die Sättigung und Sichtbarkeit in hellen Szenen verbessern kann.
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 obigen Diagramm ist das Material Shading Model eingestellt auf Unbeleuchtet und den Mischmodus auf Modulieren. 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.
Alpha Composite
Der Mischmodus AlphaComposite kann steuern, wie Teile des Materials gemischt werden. Mit einigen Materialeinstellungen und einer entsprechenden Logik können Sie mithilfe der Opazitäts-Input des Materials steuern, welche Teile additiv und welche Teile durchscheinend gemischt werden. AlphaComposite funktioniert, indem die zugrunde liegende Szenenfarbe mit dem Kehrwert der Opazität des Materials multipliziert wird, sodass Bereiche mit hoher Opazität gesättigter und voller erscheinen als Bereiche mit höherer Opazität, wenn das Material zur Szenenfarbe hinzugefügt wird.
Alpha Holdout
Der Mischmodus AlphaHoldout kann das Alpha eines Materials „heraushalten“, indem Sie ein Loch durch die Objekte direkt dahinter im Ansichtsbereich 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 Netz 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 Empfangsfläche MUSS entweder die Mischmodi „Translucent“, „Additive“, „Modulate“ 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 sehen Sie ein transparentes Loch durch die Empfangsoberfläche, wodurch die dahinter liegenden Objekte 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 für den Mischmodus
| Modus | Beschreibung |
|---|---|
Undurchsichtig | Endgültige Farbe = Quellfarbe. Das bedeutet, dass das Material auf dem Hintergrund gezeichnet wird. Dieser Überblendmodus ist mit der Beleuchtung kompatibel. |
Maskiert | Endgültige Farbe = Quellfarbe, wenn OpacityMask > OpacityMaskClipValue, andernfalls wird das Pixel verworfen. Dieser Überblendmodus ist mit der Beleuchtung kompatibel. |
Durchscheinend | Endgültige Farbe = Quellfarbe * Deckkraft + Zielfarbe * (1 - Deckkraft). Dieser Mischmodus ist NICHT kompatibel mit dynamischer Beleuchtung. |
Zusatzstoff | Endgültige Farbe = Quellfarbe + Zielfarbe. Dieser Mischmodus ist NICHT kompatibel mit dynamischer Beleuchtung. |
Modulieren | Endgültige Farbe = Quellfarbe x Zielfarbe. Dieser Mischmodus ist NICHT kompatibel mit dynamischer Beleuchtung oder Nebel, es sei denn, es handelt sich um ein Aufklebermaterial. |
AlphaComposite (vormultipliziertes Alpha) | Endgültige Farbe = Quellfarbe + Zielfarbe * (1 - Quellopazität). |
AlphaHoldout | Endgültige Farbe = Zielfarbe * (1 - Quelldeckkraft). Dieser Mischmodus ist NICHT kompatibel mit dynamischer Beleuchtung. |