In diesem kurzen Tutorial zeige ich euch eine Methode, um den Distanzwert eines Punktes im Render zu ermitteln. Das kann nützlich sein, um Compositing-Effekte basierend auf exakten Werten umzusetzen, zum Beispiel um Masken zu erstellen, die nur jenseits einer bestimmten Entfernung aktiv sind.
Videotranskript
Hallo zusammen! Wie ihr vielleicht wisst, ermöglicht der Depth Render Pass im Compositing, die Entfernung von Objekten zur virtuellen Kamera als 32-Bit-Graustufenbild zu erhalten.

Vor einiger Zeit habe ich ein Tutorial veröffentlicht, in dem ich über diese Daten gesprochen habe und wie man sie mit oder ohne Normalisierung nutzt, um Nebel oder andere distanzbasierte Effekte zu erzeugen.
In diesem kurzen Tutorial zeige ich euch eine Methode, um den Distanzwert eines Punktes im Render zu ermitteln. Das kann nützlich sein, um Compositing-Effekte basierend auf exakten Werten umzusetzen, zum Beispiel um Masken zu erstellen, die nur jenseits einer bestimmten Entfernung aktiv sind.


Hier ist der entscheidende Punkt: Wenn ihr ein Bild im Image Editor geöffnet habt und mit der rechten Maustaste auf einen Punkt klickt, zeigt Blender die RGBA-Werte dieses Pixels in der unteren Leiste an. Besonders hilfreich für diesen Zweck ist der Alpha-Kanal. So könnt ihr das ursprüngliche Render sehen, die gewünschten Punkte finden, darauf klicken und den Distanzwert im Alpha-Feld ablesen. Ich zeige euch gleich, wie das funktioniert.

Vor dem Rendern aktiviere ich im Reiter View Layer des Properties Editors den Depth Pass. In diesem Reiter ist die Tiefeninformation als Z gekennzeichnet.

Nach dem Starten des Renders verbinde ich im Compositor Editor den Depth-Ausgang des Render Layers Node mit dem Alpha-Eingang des Viewer Node.

Dann öffne ich einen Image Editor und darin das Viewer-Bild.

Wenn ich nun mit der rechten Maustaste auf das Bild klicke, erhalte ich die Distanzwerte im Alpha-Feld, in Blender-Einheiten, von der Kamera aus, für jeden Punkt im Bild. Ein Rechtsklick auf einen Punkt im World Background gibt einen Wert von 10 Milliarden zurück, was extrem hoch ist und die praktisch unendliche Entfernung des virtuellen Universums darstellt.

Diese Methode funktioniert sowohl mit dem Depth Pass im Originalzustand als auch in der normalisierten Version. Der Unterschied besteht darin, dass der nicht normalisierte Wert die tatsächliche Entfernung in Blender-Einheiten zwischen den Objekten und der virtuellen Kamera darstellt, während der normalisierte Wert von 0 bis 1 reicht, wobei 0 dem nächstgelegenen Punkt zur Kamera entspricht und 1 dem am weitesten entfernten. Diese Aspekte habe ich im eingangs erwähnten Tutorial besprochen.

Wenn der Depth Pass nicht normalisiert ist, liefert ein Klick auf einen der Grabsteine einen Wert von etwa 3585. Um eine Maske zu erstellen, die für alle Objekte zwischen der virtuellen Kamera und diesem Wert weiß ist und in allen anderen Fällen schwarz, muss ich lediglich in den Compositor Editor zurückkehren und einen Math Less Than Node zum Node-Setup hinzufügen, den Depth-Ausgang mit dem ersten Value-Eingang des neuen Nodes verbinden und den zweiten Wert auf etwa 3585 setzen.


Das war’s auch schon mit diesem kurzen Tutorial! Bis bald!