19. Oktober 2021 Tutorial, Blender, PCB, 3D

PCBs rendern (Teil 3) - Finale Schritte

Florian Winkler

In dieser Tutorial-Reihe möchten wir das Vorgehen erklären, wie man aus 3D Modellen von PCBs realistische Render erzeugen kann. Im letzten Teil der Tutorial Reihe werden Tipps und Tricks betrachtet, die zu einem besseren Render Ergebnis führen.

Auf GitHub stellen wir ein Beispielprojekt zur Verfügung. Dort könnt ihr die Blender Dateien herunterladen, welche ein fertiges Setup mit Modell, dazugehörigen Texturen und Shader Einstellungen beinhalten.

Bevel

Die meisten SMD Bauteile besitzen eine sehr einfache Geometrie: Es sind eckige Quader. Durch die perfekte Form, wirken Render oft unrealistisch. Auch der JST-Stecker der Zynq-Feather besitzt viele scharfe Kanten. In der Realität sind die Kanten von Steckern, IC-Gehäusen oder SMD-Bauteilen mehr oder weniger abgerundet aufgrund von Ungenauigkeiten und nicht perfekten Bedingungen bei der Herstellung.

Mit Hilfe einer Bevel Node können einem Material ganz einfach solche Rundungen hinzugefügt werden, ohne die Geometrie eines oder sogar mehrerer Objekte beeinflussen zu müssen. Dazu kann die Node mit dem Normal Eingang eines Shaders verbunden werden. Über den Radius kann die Größe der Rundung eingestellt werden. Allgemein sollten für IC-Gehäuse kleine Radius Werte gewählt werden, da diese oft sehr eckig sind. Auf der anderen Seite weisen z. B. die Lötkontakte von SMD-Widerständen große Rundungen auf, weshalb hier größere Werte genommen werden sollten. Die nachfolgende Abbildung zeigt, wie eine Bevel Node im Shader Editor konfiguriert werden kann.

Auf dem ersten Blick ist ein Unterschied kaum erkennbar. Um den Effekt besser betrachten zu können, dient die nachfolgende Abbildung. Dort werden zwei Render übereinander gelegt, die einmal mit und ohne Bevel ausgestattet sind. Die Bildausschnitte können verschoben werden, um sich die Unterschiede näher anzuschauen.

Das Verwenden von Bevel Nodes wurde uns von einem Twitter Follower in einem seiner Youtube Videos empfohlen: youtube.com/watch?v=7ratnf0rIVU

Beschriftungen

IC-Gehäuse besitzen oft eine Beschriftung. Diese enthält z. B. eine Produktnummer, den Namen des Herstellers oder ähnliches. Als nächstes soll es deshalb darum gehen, wie eine solche Beschriftung auf einem Bauteil in Blendern umgesetzt werden kann. Dafür wird eine Textur benötigt, welche die Beschriftung als Schwarz-Weiß-Bild beinhaltet. Die Beschriftungen sind häufig in den Datenblättern der Bauteile abgebildet und können als Screenshot oder mit Hilfe eines Bildbearbeitungsprogramms aus der PDF-Datei des Datenblatts entnommen werden. Anschließend muss eine UV Map eingerichtet werden, die die Textur auf die Oberseite des IC-Gehäuse projiziert. Alle anderen Flächen können außerhalb der Bildtextur liegen. Damit die Beschriftung nicht auf den anderen Flächen vorhanden ist, muss die Extension der Image Texture Node im Shader Editor auf Extended gesetzt werden (der Standardwert ist Repeat).

Im Beispiel der Zynq-Feather soll einem RAM-IC eine Beschriftung hinzugefügt werden. Der nachfolgende Screenshot zeigt, wie die UV Map eingestellt wurde.

Nachdem die UV-Map korrekt eingerichtet wurde, muss das Material des Bauteils angepasst werden. Da die IC beim Export häufig dieselben Materialien zugewiesen bekommen, muss zunächst eine Kopie des Materials erstellt werden. Dadurch treffen die nachfolgenden Änderungen nur auf das ausgewählte Bauteil zu.

Bei der Herstellung von ICs werden die Beschriftungen häufig durch einen Laser auf die Oberfläche des Gehäuses aufgetragen. Durch den Einsatz eines Lasers sind die Schriftzüge etwas heller als das sonst schwarze Gehäuse und weniger rau. Um dies zu berücksichtigen kann mit der zuvor eingerichteten Textur die Base Color und die Roughness des Materials gesteuert werden. Für die Base Color kann eine Mix Node verwendet werden, die die schwarze Farbe des Gehäuses mit der dunkelbraunen Farbe der Beschriftung mischt. Die Roughness kann mit Hilfe der Map Range Node kontrolliert werden. Dabei werden die Werte der Textur von 0.0 (schwarz) bis 1.0 (weiß) auf den Wertebereich von 0.4 (eher glatt) bis 0.8 (rau) abgebildet. Die Einstellungen für das Material des RAM-ICs werden im nachfolgenden Screenshot zusammengefasst.

Für Nahaufnahmen lohnt es sich außerdem die raue Oberfläche eines IC-Gehäuses durch zusätzliches Displacement darzustellen. Um die Unebenheiten zu erzeugen, kann eine Noise Texture verwendet werden. Die dafür notwendigen Nodes werden in der nachfolgenden Abbildung gezeigt.

Rauschen beheben (Denoising)

Als letztes wird das finale Ergebnis beleuchtet: das gerenderte Bild. Beim Cycles Render-Modus besitzt dieses Rauschen. Je nachdem wie die Zahl der Samples ist gewählt wird, ist das Rauschen stärker oder schwächer. Bei einer großen Anzahl von Samples sinkt das Rauschen, allerdings nimmt die Zeit für das Rendering zu. Auch bei sehr hohen Samples ist das Rauschen noch sichtbar. Aus diesem Grund sollte ein Denoising eingesetzt werden.

Um das Denoising einzurichten, muss in den View Layer Properties im Properties Fenster unter Passes die Checkbox Denoising Data angewählt werden. Ein weitere visuelle Verbesserung ist der Einsatz von Ambient Occlusion, was im selben Zuge mit aktiviert werden kann (siehe Screenshot).

Schließlich müssen die Render Layers im Compositor Fenster miteinander kombiniert werden, damit das Denoising und Ambient Occlusion auf das Renderergebnis angewendet werden. Die Einstellungen im Compositor werden durch den nachfolgenden Screenshot dargestellt.

Fazit

Das PCB Modell wurde nun zusätzlich mit Details ausgestattet, indem ICs mit Beschriftungen ausgestattet wurden und Materialien durch Rundungen realistischer wirken. Außerdem wurde das Rauschen im fertigen Render behoben. Somit ist das Ende der Tutorial Reihe über das Rendern von PCBs in Blender erreicht. Das Team von PCB Arts wünscht euch viel Erfolg beim Erstellen eigener Render!