Vector Displacement Maps (VDMs) beim Sculpting, Live Compositing in Viewport, Open Shading Language (OSL) auf der Grafikkarte. Eevee und Viewport mit Metal-Support unter Mac OS, eine Reihe von Geometry Nodes-Assets die mitgeliefert werden. Blender 3.5 ist das erste Release seit dem letzten Long Term Stable (LTS)-Release Blender 3.4. Damit gibt es natürlich wieder eine große Anzahl an Neuerungen, die wir in diesem Artikel beleuchten wollen.
Metal UI on Mac
Die gesamte UI von Blender und ebenso die Vorschau im Viewport funktioniert jetzt unter MacOS mit dem Metal-Backend. Und das bietet gegenüber dem bisher genutzten OpenGL eine deutlich bessere Performance und Stabilität, da letzteres von Apple keine Unterstützung mehr erfährt. Auch lassen sich Animationen dadurch flüssiger abspielen. Die Pathtracing-Engine Cycles hat zwar schon länger ein Metal-Backend, in Blender 3.5 wurde dabei aber an der Performanceschraube gedreht. Die hauptsächliche Neuerung dabei ist, dass es jetzt spezielle Kernel für Shader gibt. Der Renderprozess startet dabei schnell mit einem generalisierten Shader und im Hintergrund werden die spezialisierten Shader gebaut, die zum Einsatz kommen, wenn sie fertig sind. Diese Optimierung kann in den Benutzereinstellungen abgeschaltet werden.
OSL auf der GPU
Mit der Open Shading Language (OSL) können Shader zwischen Pathtracing-basierten Renderengines wie Cycles oder Arnold ausgetauscht werden. Dieses ansich sehr nützliche Feature war bisher jedoch dadurch beschränkt, dass OSL in Blender nur beim Rendering mit der CPU genutzt werden konnte. Es gibt dabei aber noch ein paar Limitierungen. Die Ambient Occlusion- und Bevel-Nodes funktionieren noch nicht, weil die Trace Funktion von OSL noch nicht implementiert ist für Nvidia Optics und einige Noise Funktionen wie zum Beispiel Gabor Noise oder Simplex Noise funktionieren ebenfalls noch nicht.
Light Tree
Für das Sampling von Lichtquellen benutzt Cycles jetzt einen sogenannten Light Tree, der das Rendering von Szenen mit vielen Lichtern verbessert, da diese jetzt deutlich effizienter abgetastet werden können. Dadurch wird das Rauschen im Bild pro Schritt deutlich reduziert, die einzelnen Samplingschritte brauchen dafür aber ein kleines bisschen länger. Am besten arbeitet der Light Tree in Szenen mit physikalisch korrekter Beleuchtung. Wenn man hingegen mit Tricks arbeitet, wie zum Beispiel Ray Visibility oder den Falloff einer Lichtwelle anpasst, dann stört das die Heuristik des Light Trees und seine Vorzüge verschwinden. Das ist auch einer der Gründe, warum man den Light Tree in im Sampling-Panel in den Render Properties unter Lights deaktivieren kann. Standardmäßig ist er in neuen Szenen eingeschaltet. Wenn man bei einer Szene den Light Tree einschaltet und das Ergebnis sieht unterschiedlich aus, dann liegt das meistens am Clamping, das ebenfalls nicht physikalisch korrekt ist. Wenn der Light Tree gut arbeitet, sollte es allerdings von alleine weniger Bedarf für Clamping geben. Meshes, die ein Material haben mit emissiver Komponente, haben jetzt eine neue Einstellung Emission Sampling. Diese ersetzt die bisherige Einstellung Multiple Importance Sample und steht standardmäßig auf Auto. Dann wird nämlich eine Heuristik verwendet, um anhand der Lichtintensität zu bestimmen ob dieses Mesh oder Polygon als Licht für das Sampling benutzt werden sollte. Bei geschlossenen Objekten oder Meshes, die nur auf einer Seite leuchten sollen, kann man die Einstellung auf Front Faces Only setzen, was das Rauschen im Light Tree nochmals reduzieren sollte. Leider wird der Light Tree noch nicht mit AMD-GPUs unterstützt, das soll in der nächsten Version von Blender nachgereicht werden.
Smarter bei High Key
Für überbelichtete Szenen oder solche, die mit High Key ausgeleuchtet sind, konnte die Renderzeit reduziert werden, indem weniger Samples für helle Bereiche angefragt werden. Das nutzt aus, dass in hellen Bereichen das Rauschen meistens weniger sichtbar ist als in dunklen Bereichen. Ein Nachteil ist, dass das Ergebnis jetzt verrauschter aussehen kann, wenn man im Nachhinein die Helligkeit im Compositing noch bearbeitet. Deswegen sollte man nun für gute Resultate unter Film - Exposure im Render Tab des Properties Editor die Intensität in einen passende Bereich bringen, um später Color Management auf dem Ergebnis zu machen. Spot- Lichtquellen können jetzt gestreckt oder gestaucht dargestellt werden, was bisher schon in Eevee der Fall war. Mit der Spread-Einstellung für Area-Lichtquellen kann man in Cycles den Effekt einer Softbox simulieren. Bei elliptischen oder kreisförmigen Lichtquellen war das bisher allerdings mit starkem Rauschen verbunden. In Blender 3.5 ist das Ergebnis in dem Fall jetzt deutlich klarer. Das heißt, man bekommt ein sauberes Renderring, egal welche Form von Area-Light man einsetzt.
Viewport Compositing
Compositing war bisher nur möglich, wenn man zuvor gerendert hatte. In Blender 3.5 gibt es jetzt eine Vorschau direkt im Viewport. Diese ist allerdings noch auf den Hauptrender- bzw Beauty-Pass beschränkt und es werden noch nicht alle Compositor Nodes unterstützt. Auch fehlen noch Masken und spezialisierte VFX-Features wie Corner Pin. Grundsätlich ist es aber schon möglich, einfaches Postprocessing in Echtzeit im Viewport durchzuführen, unabhängig von der Render Engine und mit der Möglichkeit, dabei gleichtzeitig auch noch Overlays anzuzeigen. Man könnte jetzt also modellieren und dabei gleichzeitig Compositing anwenden.
Modeling
Über den neuen Set Attribute Operator kann man jetzt generische Attribute, wie man sie z.B. in Geometry Nodes erzeugen kann, auch im Edit Mode bearbeiten. Das Interface dafür ist noch sehr einfach gehalten, in der Zukunft könnten mächtigere Werkzeuge folgen. Bei der Tessellierung von Quads gibt es immer zwei Lösungen und bisher war es nicht möglich, sich zwischen einer von beiden zu entscheiden. Mit dem neuen Flip Quad Tessellation Operator kann man jetzt zwischen der einen und der anderen Lösung hin- und herwechseln. Der Einsatz von Modifyern gestaltet sich im Edit Mode traditionell etwas langsamer als im Object Mode, da noch ein Zwischenkonvertierungsschritt anfällt. Dieser wurde in Blender 3.5 massiv beschleunigt. Er ist jetzt mehr als doppelt so schnell, je nach Mesh und CPU.
UV Editing
UV-Layouts können jetzt kopiert und eingefügt werden. Das funktioniert so, dass man verbundene Flächen auswählt und dann Copy-UVs durchführt. Danach wählt man andere Flächen aus, die die gleiche Topologie haben und dann lässt sich mit Paste-UVs das UV-Layout einfügen. Möglich ist das auch auf einem anderen Mesh, einem anderen UV-Kanal oder sogar in einer anderen Blender-Datei. Mittels Constrain to Image Bounds kann man verhindern, dass wenn man ein UV-Layout bearbeitet, Elemente über den Rand des Bildes hinausragen. In Blender 3.5 ist es jetzt Feature Complete, das heißt mit allen Operatoren einsetzbar. Die UV Sphere Projection und die UV Cylinder Projection handhaben die UVs an den Polen nun deutlich besser.
Import-Export
Die Unterstützung für das von Pixar entwickelte Dateiformat Open Scene Description Language (USD) wurde in Blender 3.5 um USDZ erweitert. Dabei handelt es sich um eine ZIP-komprimierte Version von USDm, die besonders bei AR- und VR-Anwendungen eingesetzt wird. Weiterhin sollen aus Blender exportierte USD-Dateien jetzt eine Überprüfung mit dem USD-Checker-Werkzeug bestehen. Dadurch wird sichergestellt, dass Exporte aus Blender 3.5 den USD-Spezifikationen entsprechen und nahtlos mit anderen Software-Werkzeugen verwendet werden können. Die Kameraparemeter werden jetzt in USD-Einheiten statt in Millimetern abgespeichert und beim Import werden USD-Shapes unterstützt. Dabei handelt es sich um Äquivalente zu den Blender Primitives, also geometrische Formen wie Quader, Kugeln, Zylinder und Kegel, die in USD parametrisch statt als Mesh abgespeichert werden können und zur Laufzeit erzeugt werden. Genutzt werden sie hauptsächlich im Bereich der Spieleentwicklung, wo sie als Hitboxen, Collider etc. Verwendung finden. In Blender werden sie als Mesh Primitives importiert. Der neue, in C++ geschriebene Importer für das OBJ-Dateiformat hat den alten, auf Python basierenden Importer auf Featurebene eingeholt, da er nun ebenfalls die Möglichkeit bietet, Meshes nach Objekten oder Gruppen aufzuteilen. Der OBJ-Exporter ist nun bis zu 1,6-mal schneller als zuvor. Beim Exportieren im glTF-Format kann die JPEG-Qualität nun ausgewählt werden, und die Benutzeroberfläche passt sich an, je nachdem, ob ins Binärformat glB- oder in das textbasierte glTF-Format exportiert wird. Darüber hinaus werden Custom Atributes nur noch exportiert, wenn sie mit einem Unterstrich beginnen. Dadurch wird sichergestellt, dass keine internen Attribute versehentlich exportiert werden.
Assets werden mitgeliefert
Wo andere Programme mehrere Gigabytes an Assets mitbringen, war bei Blender immer die Devise, dass man sich diese gesondert besorgen sollte, damit die Downloadgröße nicht ins Unermessliche steigt. Bei Blender 3.5 sind jetzt erstmals Assets mitgeliefert, konkret eine Reihe von Werkzeugen zum Erzeugen und Bearbeiten von Haaren. Diese basieren allesamt auf Geometry Nodes und sind daher rank und schlank genug, um die Downloadgröße nicht unnötig aufzublasen. Sehr praktisch dabei ist, dass man auf Geometry Nodes basierende Assets jetzt direkt in den Viewport ziehen kann, was dann entweder gleich ein neues Objekt erzeugt oder einen Geometry Nodes Modifier, wenn man sie auf ein Objekt zieht. Die Benutzeroberfläche zum Definieren eigener Asset-Bibliotheken wurde überarbeitet und man kann jetzt für jede Asset-Bibliothek eine eigene Standardmethode beim Import festlegen. So kann man eine Assetbibliothek haben, aus der alle Assets per Append herauskopiert werden, während die Assets einer andere Library standardmäßig verlinkt werden. Im Asset Manager selbst kann mit der neuen Kategorie “All” der Inhalt aller Bibliotheken gleichzeitig angezeigt werden. Das ist auch gleichzeitig der neue Standard, wenn man ein Asset Manager-Fenster öffnet.
Posen
Die Pose Library ist jetzt ebenfalls tiefer in den Asset Manager integriert und die alte Form aus der Zeit von vor Blender 3.0 wurde vollständig entfernt. Posen aus dieser Zeit werden von Blender jetzt nur noch als Actions mit benannten Markern erkannt und sollten in Pose Assets konvertiert werden. Das Tastenkürzel E (für Extrapolation) erlaubt es nun, Posen über 100% hinaus zu extrapolieren, was zum Übertreiben von Bewegungen praktisch ist. Oder man nutzt das Feature, um extrem karikaturhafte Gesichtsausdrücke zu erzeugen. Des Weiteren wurde die Möglichkeit hinzugefügt, eine Pose von einer anderen abzuziehen. Wenn man beim Blending die Strg-Taste drückt, wird eine Pose jetzt gespiegelt.
Geometry Nodes
Mit der neuen Image-Node lassen sich Bilder in einen Geometry Nodes-Tree einpflegen, über die Image Info-Node lassen sich Informationen wie Breite und Höhe eines Bildes in Pixeln abfragen. Da Bilder in Blender prinzipiell auch Videos sein können, kann man mit der Image Info-Node auch die Anzahl der Frames und die Bildwiederholrate von Videos auslesen. Zudem gibt es jetzt die Blur Attribute-Node, mit der man benachbarte Attribute vermischen und damit zum Beispiel ein unscharfes Bild oder eine glattere Geometrie erzeugen kann. Alle Mesh-Primitiven in Geometry Nodes geben nun eine UV-Map per Socket aus, anstatt sie als Attribut mit einem festgelegten Namen zu speichern.
Animieren
Beim Animieren in 3D müssen häufig Werte auf allen drei Achsen bzw. Kanälen gleichzeitig bearbeitet werden. Mit Blender 3.5 funktioniert das jetzt auch mit F-Curve Modifiern, was die Arbeit deutlich erleichtert. Konkret kann man Modifier jetzt auf alle selektierten Kanäle gleichzeitg anwenden. Dadurch lassen sich z.B. Bewegungen in mehrere Richtungen auf einmal einschränken. Motion Paths zeigen einem die Bewegung eines Objekts im Raum an. In Blender 3.5 wurde die Funktionalität der Motion Paths erweitert, indem nun die Länge der Pfade direkt in Frames angegeben werden kann. Früher war es nur indirekt möglich, die Länge zu steuern, beispielsweise über die Dauer der gesamten Szene oder zwischen zwei Keyframes. Im Graph Editor von Blender 3.5 erleichtert der neue Ease-Operator das Anordnen von Keyframes auf einer interpolierten Kurve. Dies ist besonders hilfreich beim Aufräumen von Motion Capture-Daten, da so flüssige Übergänge über mehrere Keyframes hinweg erzeugt werden können, ohne dass man zunächst die Zwischenkeyframes entfernen muss. Wenn man zum vorherigen oder nächsten Keyframe springt, werden jetzt Subframes mit einbezogen. Bisher war es so, dass wenn man auf Frame 2.5 war und bei Frame 2 war ein weiterer Keyframe, dieser beim Springen zum vorherigen Keyframe nicht beachtet wurde. In Blender 3.5 springt der Cursor in diesem Fall korrekt von Frame 2.5 auf Frame 2.
Motion Tracking
In Blender 3.5 wurde eine wichtige Neuerung beim Motion Tracking eingeführt: Das optische Zentrum eines Clips wird jetzt nicht mehr in Pixelkoordinaten angegeben, sondern in einem normalisierten Koordinatensystem von -1 bis 1. Diese Änderung hat den Vorteil, dass sich das Zentrum nicht mehr verändert, wenn sich z.B. die Auflösung des Clips ändert. Das ist besonders nützlich, wenn man mit einem niedrig aufgelösten Proxy arbeitet und diesen später durch einen höher aufgelösten Clip ersetzt. Durch diese Normalisierung entfällt auch der Knopf "Set Principal to Center", da die Pixelkoordinaten des Zentrums nicht mehr berechnet werden müssen. Die Umstellung hat auch Auswirkungen auf die Python-API, da nun auch intern normalisierte Koordinaten verwendet werden.
TD-Fest
Technical Directors (TDs) können sich freuen, dass Blender jetzt mit Python-Bindings für USD, OpenVDB, OpenImageIO, OpenColorIO und MaterialX kommt. Script- und Addon-Entwickler können jetzt also auf die Funktionen dieser mächten Bibliotheken zurückgreifen. Wer bei seinen Addons allerdings mit Meshes arbeitet, sollte Vorsicht walten lassen, da in Blender 3.5 das interne Mesh-Datenformat weiter refaktorisiert wurde. Diese Arbeiten haben in Blender 3.4 begonnen und werden in Blender 3.6 weitergehen, was bedeutet, dass Skripte und Addons graduell angepasst werden müssen. Ebenfalls angepasst werden müssen Skripte, die auf das BGL-Modul setzen. Denn dieses ist als Deprecated gekennzeichnet, mit dem GPU-Modul steht eine vollwertige Alternative zur Verfügung. Unter Apple Metal funktioniert in Blender 3.5 das BGL-Modul gar nicht mehr. Allgemein ist Blender jetzt kompatibel mit der VFX Reference Platform 2023. Dadurch haben sich aber auch die minimalen Systemanforderungen geändert. Bei Mc OS ist jetzt mindestens Version 10.15 notwendig, unter Linux eine Distribution mit mindestens glibc 2.28, wie z.B. Ubuntu 18.10. Nutzer von Windows benötigen mindestens Version 8.1.
Vector Displacement Maps (VDMs) beim Sculpting
Die Sculpting-Werkzeuge in Blender unterstützen jetzt Vector Displacement Maps (VDMs). Beim Sculpting werden normalerweise dreidimensionale Oberflächen auf verschiedene Arten bewegt oder verformt, das Delta wird in Form von Vektoren gespeichert. Mit VDMs ist es möglich, diese Vektoren in einem Bild zu kodieren und als Pinsel zu verwenden. Wenn man beispielsweise eine VDM einer Nase hat, kann man damit eine Oberfläche in die Form einer Nase bringen, als ob man sie aus der Fläche herauszieht. Oder man malt gleich mit Nasen wie in Fotoshop mit Brushes. Um Verwechslungen zu vermeiden, wurden im Sculpt-Modus die Tastenkombinationen Umschalt + R und Umschalt + D zum Definieren der Dichte auf die Taste R umgestellt. Früher kam es häufig vor, dass Nutzer versehentlich Umschalt + R drückten, wenn sie eigentlich mit Strg + R die letzte Operation wiederholen wollten, und dadurch unabsichtlich die Dichte bei Dynamic Topology oder den Haarwerkzeugen änderten.
Hin und wieder zurück
Wenn man aus Versehen oder mit voller Absicht aus der Kameraansicht oder einer Achsenansicht heraus rotiert, kann man diese Operation jetzt mit der rechten Maustaste abbrechen und landet wieder in der Kameraansicht bzw. schaut wieder entlang einer Achse. Das ist besonders praktisch, wenn man kurz aus einer Ansicht heraus möchte, um sich umzusehen oder ein Detail zu betrachten, danach aber in der vorherigen Ansicht weiterarbeiten will.
Fazit
Nach dem LTS-Release Blender 3.4 gibt es mit Version 3.5 endlich wieder ein Blender, das viele große Neuerungen beinhaltet, auch wenn viele davon noch nicht vollständig sind. Auf manche Dinge wie OSL auf der GPU oder Vector Displacement Maps beim Sculpting warten Blendernutzer schon seit mehr als einer Dekade und nun sind diese Features endlich da. Wer die neue Geometry Node “Image Info” zusammen mit dem neuen UV-Socket beim Grid Primitive und den Neuerungen bei Geometry Nodes im Modifierstack sowie Asset Manager am eigenen Leib erfahren möchte, dem sei unser Workshop in dieser Ausgabe wärmstens ans Herz gelegt.
Dieser Artikel erschien im Magazin Digital Production, Ausgabe 2303.