Blender-Serie Teil 8: Geometry Nodes

  Ephraim   Lesezeit: 11 Minuten Auf Mastodon ansehen

Fortführung der Blender-Serie. Dieses Mal geht es um Geometry Nodes.

blender-serie teil 8: geometry nodes

Ende 2023 hatte ich eine Blender-Serie angefangen. Zwar war diese recht ausführlich, einige Themen fehlten jedoch noch komplett und später hatte ich nicht mehr sonderlich viel Zeit daran weiterzuschreiben (Realschulabschluss und mit Abitur anfangen). Heute soll es aber nach langer Zeit mal wieder einen neuen Artikel geben.

Da dieser Artikel nicht alles wiederholt, empfehle ich, vorher Teile eins bis sieben zu lesen. Im ersten Teil gibt es eine Übersicht über die Artikel der Serie.

2024 erschienen die Versionen 4.1 bis 4.3, alle diese Versionen haben eines gemeinsam: Neben haufenweise anderen Features wurden die Geometry Nodes jedes Mal merklich verbessert.

Erstmals erschienen Geometry Nodes mit Version 2.92, damals basierte das System noch darauf, dass man mit jedem Node (auf Nodes bin ich bereits in Teil 6 eingegangen) ein Attribut mitgibt, auf den man sich dann später wieder beziehen kann.

Dieses System wurde dann mit Version 3.0 komplett überarbeitet. Statt Attributen wird jetzt auf einzelne Nodes gesetzt, die man miteinander verbindet, was letztlich den Aufbau vereinfacht.

Ein einfacher Node-Tree, der Kugeln auf dem Standardcube verteilt.

Jetzt kann man zwar argumentieren, dass man in dem alten System weniger Nodes benötigt hat, weshalb es einfacher war, allerdings sind Attribute nicht sonderlich einsteigerfreundlich und übersichtlich.

Einen Nachteil, den das neue System jedoch dadurch hat, ist, dass unglaublich viele Nodes benötigt werden. Gezählt habe ich zwar nicht, aber es gibt bestimmt ein paar Hundert Nodes (150? 250?). Um dennoch den Überblick nicht zu verlieren, sind die Nodes im Menü in mehreren Unterkategorien geordnet, was die Folge hat, dass das Menü komplett überfüllt ist.

Da man nach einer Weile das Menü aber ohnehin nur über die Suche verwendet, ist das nicht weiter schlimm. Nur am Anfang ist es recht anstrengend, mit der schieren Anzahl an Nodes klarzukommen.

Praxis

Alles schön und gut. Aber was kann man denn mit Geometry Nodes machen? Die Antwort darauf ist leider: alles. Es gibt kaum Grenzen, die aufgelegt werden. Mittlerweile werden sogar Simulationen über Geometry Nodes gemacht. Aber auch das Modellieren wird immer mehr von Geometry Nodes übernommen, da ein prozedurales System an vielen Stellen deutlich angenehmer ist, als wenn man die Dinge per Hand macht und später nicht mehr anpassen kann.

Das ist ein Beispiel, wie man Geometry Nodes gut einsetzen kann. Die Basis ist ein Cube und ein Modell der Geschenke am Fallschirm. In dem Cube wird ein Volume erstellt, in dem mit dem nächsten Node Points verteilt werden. Points sind nicht sichtbar, sie sind nur dafür da, etwas an ihrer Stelle zu platzieren. Das geschieht dann auch, als Instanz wird das Modell des Geschenks genutzt, das dann zufällig ein wenig in alle Richtungen gedreht wird.

Fertig!

Tutorial

Anmerkung: Ich beziehe mich in dem Tutorial auch auf das Wissen der vorherigen Teile. Wenn du wirklich Interesse hast, mit Blender anzufangen, solltest du diese zuerst lesen. Insbesondere Teil 6 ist wichtig, da in diesem das Prinzip der Nodes erklärt wird.

Zweite Anmerkung: Ich nenne immer nur den Namen der Nodes, diese können über die Suche gefunden werden. Dazu einfach das Add Menü öffnen und anfangen zu tippen.

Doch kann ich den Artikel natürlich nicht beenden, ohne auch ein richtiges Tutorial zu geben, da man am besten durch das eigene Handeln lernt.

Das Ziel ist, eine Wiese mit einem Baum in der Mitte zu erstellen. Unter dem Baum sollen jedoch keine Gräser wachsen, da im Schatten nicht viel wächst.

Nehmen wir also einfach die Standardszene (ich nehme Blender 4.3, spätestens ab Version 4.0 funktioniert das Ganze aber definitiv), fügen eine Plane hinzu und skalieren diese um das Fünffache. Damit die Gräser dennoch in der passenden Größe dargestellt werden, wenden wir diese Skalierung gleich mit Strg+A → Scale an.

Nun können wir in den Workspace (oben in der Leiste) »Geometry Nodes« wechseln. Dort erst mal auf New klicken, damit wir einen neuen Node Tree haben.

So sollte es jetzt etwa aussehen

Als nächsten Schritt fügen wir einen »Distribute Points on Faces« und einen »Join Geometry« Node hinzu, die wir zwischen die beiden Ursprungs Nodes setzen. Anstatt der Fläche sollte es jetzt viele kleine Punkte geben. Wenn wir jetzt den Socket von »Geometry Input« nehmen und ebenfalls mit Join Geometry verbinden, erscheint die Fläche wieder, da jetzt beide Objekte zusammen angezeigt werden sollen.

Jetzt wollen wir aber keine Punkte, sondern Gras. Also fügen wir einen Cube Node hinzu und verkleinern ihn deutlich (ich habe ihm die Werte 0.05, 0.02 und 0.45 gegeben). Als Nächstes einen Instance on Points Node, den wir zwischen dem Distribute und dem Join Node fallen lassen. Nun muss noch der Mesh-Output des Cube Nodes mit dem Instance Input verbunden werden und wir haben Gras auf der Wiese.

Da jetzt alles noch ziemlich regelmäßig aussieht, fügen wir einen »Random Value« Node hinzu und verbinden ihn mit dem Rotation-Input des »Instance on Points« Nodes, wobei wir ihn erst von Float auf Vector stellen müssen. Da jetzt alles zu viel gedreht wird, müssen wir die Max-Werte anpassen. Bei den oberen beiden Werten sollte dabei etwas Kleines wie 0.1 stehen, unten kann auch eine höhere Zahl stehen:

grün sind die Achsen im Koordinatensystem, die mit dem Wert beeinflusst werden

Nachdem das alles gemacht ist, sollten die Grashalme alle leicht anders gedreht sein, so wie es auch bei einer echten Wiese der Fall ist.

Als nächsten Schritt machen wir uns an das Entfernen der Grashalme um den Würfel in der Mitte der Wiese.

Dazu benötigen wir folgende Nodes:

  • Object Info: Gibt Informationen eines Objektes aus.
  • Position: Gibt die Position eines Dinges, in dem Fall der Grashalme, aus. Zieht seine Informationen aus den Verbindungen des Node-Trees.
  • Vector Math: »Berechnungen« mit Koordinaten
  • Math Berechnungen mit einzelnen Werten.
  • Delete Geometry: Entfernt Geometry. Da er erst einmal alles entfernt, muss es über den Selection-Input (dieser unterstützt die Werte 1 und 0) gesteuert werden.

In dem Object Info Node gibt es eine Box, in der ein Objekt angegeben werden kann. Entweder können wir dafür die Pipette nehmen oder wir klicken in das Feld und wählen den Cube aus. Dieser stellt den »Baum« dar.

Den Vector Math Node müssen wir jetzt zu Distance und den Math Node zu Less Than ändern. Dadurch wird alles entfernt, was dichter als dieser Wert vom Würfel entfernt ist.

Der Location Socket des Object Info Nodes und der Output des Position Nodes werden mit dem Distance Node verbunden, den wir wiederum mit dem oberen Input des Math Nodes verbinden (wenn wir den unteren nehmen, wächst das Gras nur im Baum). Dieser wird mit dem Selection-Input des Delete Geometry Nodes verbunden.

Der Delete Geometry Node muss jetzt zwischen den Nodes »Distribute Points on Faces« und »Instance on Points« verbunden werden. Die Verbindung der beiden Nodes lässt sich mit gedrückter Strg-Taste und der linken Maustaste entfernen.

Das Ergebnis sollte nun in etwa dieses sein:

Wenn der Würfe nun verschoben wird (markieren und mit G verschieben), verschiebt sich auch der Bereich, in dem kein Gras wächst.

Natürlich lässt sich daran noch viel machen. Mittels eines »Set Material« Nodes könnte man das Gras zum Beispiel noch einfärben. Auch das Gras selbst ließe sich noch deutlich feiner gestalten und vieles mehr. Wenn du weiter mit Geometry Nodes arbeiten willst, empfehle ich, folgende Dinge mal auszuprobieren:

  • Mit Kurven und Geometry Nodes lässt sich viel machen. Dazu einfach auf der Kurve Nodes anlegen und mit einem Curve to Points Node Points darauf verteilen. Kurven lassen sich gut anpassen, weshalb sie ideal dafür geeignet sind.
  • Volumen: Wie in meinem Beispiel oben zu sehen, lassen sich über Volumes ganz einfach Objekte in einem anderen verteilen. Ebenfalls in vielen Bereichen praktisch.
  • Simulationen: Eine Simulation-Zone macht die Änderungen, die in ihr stattfinden, in jedem Frame – animiert, also ganz automatisch. Dieses Thema würde ich allerdings erst empfehlen, wenn du dich sicher im allgemeinen Umgang mit Geometry Nodes fühlst.
  • Einfach üben: Node basierte Systeme lassen sich am besten durch die dauerhafte Nutzung lernen. Zwar ist es manchmal frustrierend, wenn man nicht weiter kommt, jedoch gibt es fast immer eine Lösung, aus der man lernen kann.

Auf den bekannten Videoplattformen gibt es unter dem Begriff Geometry Nodes extrem viel zu finden. Ich würde empfehlen, dort einfach mal etwas auszuprobieren.

Schlussworte

Ich bin mir bewusst, dass das Thema kein leichtes ist, jedoch hoffe ich, dass ich es verständlich beschrieben habe. Bei Fragen stehen sowohl die Kommentare als auch die Chat-Kanäle immer offen.

Frohe Weihnachten.:)

Tags

Blender, Geometry Nodes

Es wurden noch keine Kommentare verfasst, sei der erste!