Um Blender mit zusätzlichen Funktionen zu erweitern, gibt es grundsätzlich zwei Wege: Python-Add-ons und Open-Shading-Language-Skripte. Beides sind keine Plug-ins im eigentlichen Sinn, können den Umfang der Software aber dennoch massiv erweitern. Dank der Im- und Export-Funktionalitäten von Blender kann man sich die Funktionen mancher Add-ons auch zunutze machen, ohne viel mit dem Programm in Kontakt kommen zu müssen- so geschehen bei der Previsualisierung von "Avatar". Dort wurde Blender nur eingesetzt, um über das 2.4x-Add-on „Trees from Curves“ Bäume aus Bezier-Kurven zu generieren. Dieser Artikel behandelt ausschließlich Python-Add-ons und stellt dabei eine Auswahl an besonders nützlichen Erweiterungen vor.
Die offizielle Blender-Version ist bereits mit einer Vielzahl von Add-ons ausgestattet. Zahlreiche Import- und Export-Formate sowie die Render-Engine Cycles sind standardmäßig aktiviert, der Rest kann manuell zugeschaltet werden über File → User Preferences → Add-ons. In der DP-Ausgabe 05/14 wurde bereits die Nützlichkeit der Add-ons „Animall“ und „Import Images as Planes“ beschrieben. Es warten aber noch viele weitere Perlen darauf, mit einem Klick aktiviert zu werden.
Das Add-on „Sapling“ erstellt prozedurale Bäume aus diversen Parametern. Es handelt sich dabei um einen Port der Standalone-Software „Arbaro“ (http://arbaro.sourceforge.net/). Links oben finden Sie ein Feld für die Suche nach bestimmten Add-ons, geben Sie hier „Sapling“ ein. Aktivieren können Sie Add-ons über einen Klick auf das Häkchen an der rechten Seite neben dem Symbol eines rennenden Strichmännchens. Auf diese Art aktivierte Add-ons können bis zum Schließen der Session genutzt werden. Wenn Sie ein oder mehrere Add-ons dauerhaft nutzen wollen, können Sie die aktuell aktivierten Add-ons links unten über „Save User Settings“ dauerhaft speichern. Diese bleiben dann auch beim nächsten Start von Blender aktiviert.
Nutzen können Sie den Sapling Tree Generator über Shift+A beziehungsweise Add → Curve → Add Tree. Die Einstellungen finden Sie links unten im Toolshelf oder in einem Pop-up, das mit der Taste F6 geöffnet werden kann. Einige Presets erleichtern den Einstieg, kümmern sich aber nur um die Basisform. Eine Dicke für den Stamm (Bevel) und Blätter müssen erst noch aktiviert werden. Auf Wunsch kann sogar ein Rig angelegt werden, das optional mit einer Wind-Animation versehen werden kann.
Es existieren noch viele weitere Add-ons, die bestimmte Objekte erzeugen können, zum Beispiel für Edelsteine, Zahnräder und Schrauben. Diese sind in „Extra Objects“ zusammengefasst. Hier findet sich auch der berühmte „Utah Teapot" für alle, die nicht immer nur den Affenkopf als Testobjekt nutzen wollen.
Effizienter mit Nodes arbeiten
Es finden sich auch zahlreiche Add-ons, die den Workflow verbessern oder einfach nur Funktionen nachreichen, die man bei Blender schmerzlichst vermisst. Der „Node Wrangler“ ist hier ein Beispiel. Damit wird die Arbeit mit Nodes deutlich flüssiger, auch wenn man dafür eine Reihe von neuen Shortcuts lernen muss. Dafür wird das Verbinden von Nodes und der Austausch von Sockets deutlich vereinfacht, zum Beispiel muss nur noch ein Strich gezogen werden, um die Ausgabe zweier Nodes zu mischen oder zwei Nodes zu verbinden- ohne die Sockets anwählen zu müssen. Dazu kommen Batch-Operationen für viele Nodes gleichzeitig, die Möglichkeit einen Node einfach auszutauschen oder sämtliche Einstellungen eines Node auf einen anderen zu kopieren. Der Node Wrangler rüstet Cycles auch mit einem „Viewer Node“ für Farbausgaben auf Basis eines Shadeless-Materials aus. Die Tastenkombination dafür ist die gleiche wie im Compositor: Strg + Umschalt + Linksklick auf den zu inspizierenden Node. Das Material des ausgewählten Objekts wird dann durch ein Shadeless-Material ersetzt, wodurch sich das Aussehen von Texturen ohne Nebeneffekte wie Spiegelungen untersuchen lässt. Eine ausgiebige Dokumentation findet sich im Blender Wiki unter http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Nodes/Nodes_Efficiency_Tools
We build to destroy
Ohne Features für Chaos und Zerstörung sind 3D-Programme einfach nicht vollständig. In Blender werden dafür gleich zwei Add-ons mitgeliefert, wobei „Cell Fracture“ die modernere Variante ist. Mit Cell Fracture lässt sich ein Mesh in kleinere Teile „zertrümmern“, wobei die Teile auch gleich die richtigen Masse-Einstellungen für die Bullet-Engine erhalten. Sprich: Nach dem Zertrümmern kann gleich mit der Physik weiter gemacht werden. UVs der Außenhülle bleiben erhalten, während die inneren Stücke mit einem anderen Material versehen werden können. Zum Erstellen der Bruchkanten werden verschiedene Optionen angeboten, es lassen sich Partikel oder die Vertices des Meshes selbst respektive eines anderen Meshes verwenden oder man zeichnet die Bruchkanten einfach selbst mit dem Grease-Pencil auf das Objekt. Nachdem man ein Objekt angewählt hat, erscheint der Cell-Fracture-Button im Toolshelf unter dem Reiter Tools → Edit.
Werkzeugkasten für 3D-Druck
3D-Druck ist groß im Kommen. Blender hat dafür einen ganzen Werkzeugkasten als Add-on an Bord – die „3D Print Toolbox“. Diese gliedert sich in fünf Bereiche. Erstens lassen sich Statistiken errechnen, wie zum Beispiel das Volumen und die Oberfläche des Objekts inklusive aller Modifier. Zweitens können Tests gefahren werden, die auf beim 3D-Druck typische Gefahren hinweisen, wie etwa eine zu geringe Wandstärke oder Überhänge. Bei gefundenen Problemen wird der Nutzer direkt auf die entsprechenden Stellen aufmerksam gemacht. Drittens können manche Fehler mit den Cleanup-Tools automatisch behoben werden, wie zum Beispiel isolierte Flächen, die keine Dicke haben und daher sowieso nicht gedruckt werden. Verzerrte Flächen lassen sich triangulieren. Viertens kann das Objekt auf definierte Dimensionen oder ein definiertes Volumen skaliert werden, was benötigt wird wenn Limitierungen des 3D-Druckers eingehalten werden sollen. Fünftens kümmert sich das Add-on auch gleich noch um den Export in verbreitete Formate wie STL. Der Entwickler der 3D Print Toolbox hat ein umfangreiches Training erstellt, das über den Blender e-Store (http://www.blender3d.org/e-shop/product_info_n.php?products_id=160) bezogen werden kann und in der Blender Cloud verfügbar ist (https://cloud.blender.org/training/3d-printing/).
Add-on-Ökosystem
Die mitgelieferten Erweiterungen sind natürlich nur ein kleiner Teil der tatsächlich verfügbaren. Das offizielle-Add-on-Verzeichnis (wiki.blender.org/index.php/Extensions:2.6/Py/Scripts) listet nicht nur die Dokumentation zu allen Haupt-Add-ons, sondern auch Doku- und Download-Möglichkeiten zu Add-ons, die sich noch in der Review-Phase befinden (Contrib) oder die es noch nicht bis zum Review geschafft haben oder von externen Gruppen gepflegt werden (External). Dann gibt es noch die unzähligen Add-ons, die über was Web verstreut sind. Für diese versucht die Seite „Blender Addon List“ (http://blenderaddonlist.blogspot.de/) eine Übersicht zu erstellen. Seit kurzem können auf dem „Blender Market“ Add-ons käuflich erworben werden. Bei diesen besteht die Aussicht, dass sie wie die mitgelieferten Add-ons noch für lange Zeit gepflegt werden. Add-ons von extern müssen erst installiert werden. Dies geschieht über File → User Preferences → Addons → Install from File. Je nach Add-on besteht der Download lediglich aus einer .py-Datei oder einer gepackten .zip-Datei. Entpacken Sie letztere nicht, sondern wählen Sie sie einfach im Blender-Dateibrowser aus, der bei „Install from File“ erscheint. Im Folgenden sollen aus dem Dickicht drei Perlen herausgegriffen werden.
Kamera-Kalibrierung mit BLAM
Wer ein 3D-Objekt in ein Foto integrieren oder ein Foto für Camera Mapping nutzen will, sollte ein paar Daten zur Hand haben: die Höhe der Kamera über dem Boden während der Aufnahme und die Brennweite. Dann kann der Prozess zügig durchgeführt werden. Hat man die Werte gerade nicht zur Hand, hilft nur Probieren- oder im Foto finden sich Linien, die senkrecht zueinander stehen. In diesem Fall kann das Add-on „BLAM“ Abhilfe schaffen. Sie müssen nur 4 Linien mit dem Grease-Pencil nachzeichnen und BLAM errechnet Brennweite und Perspektive. Auch einfache Werkzeuge für Reconstruction sind mit von der Partie. Das Add-on sowie Dokumentation und Tutorials findet sich auf https://github.com/stuffmatic/blam .
Partikel nachrüsten mit Molecular
Der Partikelsimulation von Blender fehlt für Kollisionen untereinander ein Radius um die Partikel. Ein solcher ist nur in der SPH-Physik implementiert, diese ist aber für Flüssigkeiten gedacht. Das Add-on „Molecular“ rüstet diese Funktionalität für sämtliche andere Physik-Typen wie Newtonian oder Boids nach. Dadurch lassen sich die Partikel in Blender für die Simulation von Sand, Dreck et cetera nutzen. Zusätzlich liefert Molecular ein System für simulierte Federn respektive Stoßdämpfer zwischen den Partikeln. Die damit realisierbaren Effekte reichen von Festkörpern, die zertrümmert werden können, bis hin zur Cloth-Simulation über Partikel. Als Inspiration für das Add-on diente Lagoa Multiphyiscs, das inzwischen in Softimage integriert ist. Anwender sollten aber keine Wunder erwarten, Molecular ist im Vergleich zu seinem großen Bruder sehr langsam.
ARewO
ARewO ist wie viele Add-ons aus der Not heraus entstanden. Ziel war es, wie mit dem Array Modifier Objekte schnell duplizieren zu können. Die Animation der Objekte sollte aber erhalten bleiben und auf Wunsch um jeweils einige Frames versetzt werden können. Anders als der Array-Modifier nutzt ArewO Instances, sodass die Duplikate mit Cycles fast ohne Overhead gerendert werden können. Die Größe kann anhand einer F-Curve verändert werden, weshalb sich ARewO auch für Sound-Visualisierungen eignet und wie beim Array-Modifier ist auch die Möglichkeit gegeben, die Instanzen entlang eines Pfads anzuordnen. Der große Nachteil liegt allerdings in der Natur des Add-ons – nach dem Ausführen lassen sich die Parameter zwar noch verändern, aber sobald man an der Szene weiter gearbeitet hat, können keine Änderungen mehr vorgenommen werden. Damit scheidet auch die Animation der Addon-Parameter selbst aus. ARewO kann über http://blenderdiplom.com/de/downloads/543-arewo-ist-endlich-in-die-gui-implementiert.html bezogen werden, mehr zur Geschichte des Add-ons erfahren Sie im Interview mit Frederik Steinmetz.
Ausblick
Add-ons bieten Blender-Anwendern die Möglichkeit, die Software mit neuen Funktionen auszustatten und Workflows zu optimieren. Für Entwickler ist es deutlich einfacher, Add-ons zu schreiben, als direkt am „Kern“ von Blender zu arbeiten. Die Blender-Entwickler haben dem Rechnung getragen, indem sie seit Version 2.67 die Möglichkeit anbieten, in Python eigene Nodes zu implementieren. Seither haben sich einige Projekte daran gemacht, über eigens dafür definierte Nodes parametrische Modellierung in Blender möglich zu machen. Es gibt derzeit mehrere Add-ons mit diesem Ansatz. Welches Add-on irgendwann das Rennen machen und mit Blender ausgeliefert wird ist noch ungewiss.
Dieser Artikel erschien im Magazin Digital Production, Ausgabe 1406. Herunterladen können Sie ihn hier als PDF. Darüber hinaus gibt es noch ein Interview mit Frederik Steinmetz, dem Entwickler des Add-ons ARewO.