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!