Reflection Catcher - GlossyIndirect Pass und Alpha

Moinsen,
Ich hab schon im Blenderforum gefragt, aber dort weiss offensichtlich auch keiner mehr als ich - daher mal zusätzlich hier die Frage an Blender-User:
Laut diverser Tutorials kann man einfach den GlossyIndirect Pass rausschreiben und hat dann seine Reflections isoliert. KLappt aber bei mir nicht. Jedenfalls nicht, wenn ich über einen FileOutput-Node gehe. Dann ist der Hintergrund des Layers komplett schwarz. Mix ich den Layer über einen MixNode mit einer voll transparenten Ebene, wird alles transparent (wiewohl es im ViewerNode korrekt angezeigt wird).
Speichere ich das Bild direkt aus dem Blender Renderwindow, ist alles so, wie es sein soll: Refelections auf transparentem Hintergrund.
Bin ich nur zu doof, ist das wirklich ein Bug?
Getestet in der 3.3.1 und der 3.6.1
ReflectionCatcher_SaveFail.zip (114 KB)

GlossInd sollte dir einen normalen Reflection Pass liefern. Woher die Transparenz beim Speichern aus dem RenderViewer kommt, weiß ich auch nicht. Ich kann es zwar bestätigen, aber im FrameBuffer hat dieser Pass gar keinen Alpha. Ein dedizierter ReflectionCatcher wäre mir nicht bekannt (was nichts heißen muss) :slight_smile:
Gibt es einen Link zu so einem Tutorial?

Gesendet von meinem BAH2-L09 mit Tapatalk

Seit der 3 beinhaltet der ShadowCatcher wohl auch die Reflections.
Allerdings wollt ich halt Shadow und Reflection in der Post reincompen. Ich verbuchs mal als Bug, dass der GlossyIndirect nur beim speichern aus dem RenderViewer Transparenz beinhaltet und beim FileOutput auf schwarz gelegt wird. Mit GlossyIndirect auf schwarz kann man ja letzlich auch so richtig gar nix anfangen. wie soll man das denn auf einen helleren Background compen?
Tutorials hier:

//youtu.be/HK4qj3A7IZM

//youtu.be/cr4828-YfSU

Ja, habe ich mittlerweile auch gesehen. Finde ich aber strange, Shadow und Reflection im gleichen Pass zu haben.

Ok? Empfinde ich genau umgekehrt :wink:

Also um ehrlich zu sein, sieht genau so ein RelfectionPass aus, wie ich ihn seit jeher kenne. In den verlinkten Tutorials wird doch auch genau dieser verwendet.

Beauty Pass

Reflections Physical Render

Reflections Corona

Jo, und alle haben das Problem, dass man keine dunklen Reflections compen kann und tricksen bis zum umfallen. Nach meinem Verständnis sollte man den ReflectionsPass per Overlay übers Bild compen können, geht aber nicht wegen des schwarzen Hintergrundes.

das geht schon mit “negativ multiplizieren”, aber wenn alle probleme damit haben, dann wird schon irgendwas damit sein…

Es gibt ja durchaus die Möglichkeit, dass auf einer Fläche -sagen wir mal 50% Grau- helle (z.B. weiss) UND dunkle (z.B. schwarz) Refections erscheinen. Wie bekommst Du das denn hin, wenn der Hintergrund, also dort wo KEINE Reflections sind, schwarz ist? Woher soll der BlendMode denn wissen, was Reflection ist und was nicht?
Ich bin offen für jede Lösung, aber eine ohne Alpha fällt mir nicht ein.
(“Screen”, also “neg. multiplizieren” hellt ja nur auf, dunkelt aber nicht ab)

wie wo was? .. ich steh grad aufm Schlauch.

Dunkle Bilder - negativ multiplizieren
Heller Bilder Multiplizieren

Du kannst auch deinen dunklen Reflectionpass invertieren und multiplizieren, aber dann werden auch die Farben invertiert und mit ner Farbtonsättigung musst du das dann invertiert gegendrehen, aber uach das würde gehen.

..und linear abwedeln und so noch, was halt passt.
Dann kannst du doch das zusammencompen.

Es gibt doch viele andere Multipasses die auch alle auf schwarz sind wie glows, fx, etc.
Die kannst du doch auch alle dazurechnen.

Wo arbeitest du eigentlich - PS, AE, DaVinci, Fusion…

> zeig doch mal dein Comp Endergebnis und was daran nicht stimmt - dann gibt es evtl fix ne Lösung

Comp für Stills mach in Affinity, Animationen in BMD Resove/Fusion. Eigentlich müsstest Du mir nur erklären, woher das Programm der Wahl wissen soll, ob der dunkle Pixel nun grade zum Hintergrund gehört (der weg soll) oder zur dunklen Reflection (der da bleiben soll).
Mal ein ganz theoretisches Extrem: eine 100% schwarze Reflection auf irgendwas drauf compen. Wie soll das gehen, ohne Alpha?

Was er meint ist, das wenn der Background schwarz ist und Teile der Reflections auch, dann weiss der Blendmode jedweder Art nicht, wellche schwarzen Pixel nun Background oder Reflections sind, da du keine Matte für die Reflections hast.
Ein möglicher Workaround wäre, die Objekte in einem weiteren RenderLayer mit einem EmissionMat zu belegen, so dass alle Reflections weiss sind. Diesen Pass könnte man dann als Basis für einen Alpha nehmen, der die “echten” Reflections freistellt.
Ist alles aufwendig, aber n guter Compositing Artist verdient ja nur deshalb gut, weil er aus unserem Scheiss was vorzeigbares zaubert :wink:

1 „Gefällt mir“

ah ja- danke - jetzt hab ichs verstanden - theroetisch sollte mein ansatz von oben klappen - bild invertieren - multiplizieren und über farbtonsättiung 180grad die invertation zurückdrehen…

ROFL - leider trifft weder das Eine noch das andere auf mich zu… :slight_smile:

Öööhhh…krass! Das funzt! zumindest bekomm ich damit die Reflections auf jedweden Hintergrund drauf (Solange da nichts rein schwarzes bei ist - aber das ist ja nun eher ein theoretischer Fall). RICHTIG geil wär’s jetzt, wenn ich am Ende auch noch ein PNG mit transparentem Hintergrund hin bekäme.

Wenn ich mich nicht irre, dann wird Licht (auch in den Spiegelungen) additiv berechnet. Es gibt also quasi keine “schwarzen” Spiegelungen. An dunklen Stellen spiegelt sich eben kein Licht. Das ist wie mit den Schatten: die sind ja auch nur das Nichtvorhandensein von Licht. :wink:

Maske basteln und ausstanzen. als farbton sättig sw , tonwertkorrektur anziehen, das als alphamaske verwenden und damit freistellen.
Und wenn dein bg nicht ganz schwarz ist, eben mit allen efekten die du hast itgendwie gegensteuern :slight_smile: .. irgendwo so halt.

..jetzt versteh ich wieso die alle damit nicht klarkomen…die kommen mit der passumarbeitung nicht zurecht.

> das quält mich jetzt aber auch schon seit 20 jahren und ich hab immer wieder passes mit denen ich verückt werde, letztens erst wieder richtig mit nem glow-pass…

Dann würde man auf weißen Flächen nie farbige Spiegelungen sehen. Ich kann Dir Photos meiner Wandfliesen im Bad schicken, in denen sich einwandfrei die dunklen Fugen der Bodenfliesen spiegeln…

Definitiv. :smiley:
Einfach is’ aber auch wirklich anders… mit Alpha wär’s sooo simpel.

Und warum sollte sich farbiges Licht nicht auf weißen Flächen spiegeln?

Vielleicht recherchierst du mal, warum weiße Flächen weiß erscheinen.

Dann hilf mir auf die Sprünge, bitte. Ich bin ja immer offen, wenn’s was zu lernen gibt.

Bitte verlang’ nicht von mir, dass ich für Dich die Infos auf Google suche und Dir dann hier präsentiere. Etwas Eigeninitiative ist gefragt. :wink:

Aber ich hab’ speziell für Dich ein Beispiel-Compositing erstellt:

In allen Renderings ist der Reflection-Kanal additiv auf den Diffus-Kanal berechnet = Composite.

Je diffuser eine weiße Fläche, desto weniger spiegeln sich darin Objekte. Extrem diffus bedeuted ja, dass das Licht extrem gestreut wird. Somit ist keine zielgerichtete Spiegelung von Licht möglich, was zur Folge hat, dass keine Objektkonturen erkennbar werden.

Ist eine weiße Fläche sehr glatt, so können auch zielgerichtete Strahlen eine sichtbare Spiegelung von Objekten erkennbar machen. Dann wird aber auch weniger Licht diffus gestreut! Schließlich kann nicht mehr als 100% Licht reflektiert werden.

In beiden Fällen wird das Licht (bzw. der Reflection-Pass) additiv hinzugerechnet (wie eben in der Natur auch). Da ein Rendering nur eine Annäherung an die reale Physik sein kann, kann es leicht passieren, dass mehr als 100% Licht von einem Material reflektiert wird, wenn die Materialparameter nicht realistisch eingestellt sind. Aber im Grunde passt das schon so in meinem Beispielrendering zur Demonstration.