SF2020 Neustart mit Geometry Nodes

022 15.11.2022 Ich habe wieder ein bisschen 3D-Inhalte.

Nachdem ich mich nach einer langen Pause wieder regelmässig(er) mit Blender beschäftige, habe ich einen Neustart meines alten SF2020-Projekts gewagt. Heisst jetzt allerdings SF2022.

Geometry Nodes

Aber der Reihe nach. Die Entwicklung von Blender schreitet ungebrochen rasant voran, und auch wenn ich ein Weilchen nicht wirklich aktiv war, habe ich die Neuerungen mitverfolgt. Eine davon: Die Geometry Nodes. Im Wesentlichen handelt es sich dabei um eine visuelle Programmiersprache (visuell bedeutet, Knoten und Verbindungen), mit der sich Objekte prozedural erstellen lassen.

Das umfasst zum einen "Generatoren", zum Beispiel ein Hochhausgenerator, wo man mit anhand von Parametern die Größe, die Anzahl der Stockwerke, die Wahrscheinlichkeit für einen Balkon etc. festlegen kann.

Das kann auch etwas weniger automatisch laufen, zum Beispiel ein Fluss samt Ufer, dessen Verlauf einer Kurve folgt.

Ich hoffe, das vermittelt so eine ungefähre Idee worum es bei den Geometry Nodes geht, Beispiele gibt es natürlich eine ganze Menge.

Geometry Nodes vs. Ich

Mit Programmierung kenne ich mich durchaus ein wenig aus, sowohl im Bereich Spieleentwicklung (nebst 999 angefangenen Projekten habe ich ein fertiges Spiel, irgendwo im Love2D-Forum von vor 10-15 Jahren), als auch in der Webentwicklung (ich schreibe gerne Blogs).

Aber diese visuelle Programmierung... das ist nochmal eine Sache für sich. Man sagt immer, das gibt es um Leuten die Einstiegshürden in "richtiges" Programmieren zu ersparen. Künstler würden sich in so einem Werkzeug wohler fühlen als in einem Texteditor. Ich will das gar nicht gross kommentieren, ich habe mir nur oft gewünscht, einfach Code benutzen zu dürfen. Nun hat Blender natürlich Python, ich habe sogar mal im Blenderartists-Forum nachgefragt, aber Python deckt wohl nicht ganz denselben Bereich ab wie die Geometry Nodes, von daher habe ich dahingehende Ideen wieder verworfen.

Das Geometry-Nodes-Setup für mein Terrain
Hier mal ein Beispiel aus der Praxis, wie man oben am Rand lesen kann, wird hiermit Grünzeugs auf dem Boden verteilt.

Aber die Idee und vor allem die Möglichkeiten, die das eröffnet (vor allem wenn man allein arbeitet und seine Zeit möglichst effizient nutzen muss), haben mich trotzdem fasziniert und nach mehreren Tutorials und Anläufen habe ich mich dann weniger darauf versteift alle Konzepte verstehen zu müssen, sondern gewisse, wiederkehrende Schema einfach auswendig gelernt und nach Bedarf in meine eigenen Anläufe eingebaut. Sonderlich stolz war ich auf diese Methodik nicht, aber immerhin ging es vorwärts, und im Nachhinein stelle ich fest, dass ich dadurch durchaus eine Menge Verständnis hinzugewinnen konnte. Auch wenn es noch gewaltige Lücken hat.

SF2022

Aber es hat gereicht, um einige Generatoren zu entwickeln, die mir beim Erstellen der Häuser und anderweitiger "Strukturen" eine Menge Detailarbeit abnimmt. Ich beginne mal mit dem aktuellen Stand der Dinge, anhand des Bildes lässt sich das besser erklären:

Testszenario für meine Geometry-Nodes-Generatoren
Anhand dieser Szene habe ich meine Generatoren zum Einsatz gebracht, in verschiedenen Situationen getestet und darauf basierend nachgebessert.

Als erstes wären da die Seitenwände des Hauses im Hintergrund, das war mein erster Generator, der dort einfach ein paar flache Quader an die Wand klatscht. Wobei im Detail noch ein bisschen mehr gemacht wird (zum Beispiel arg weit überstehende Blöcke abzuschneiden).

An der Säule vorne kann man gut den "Kantengenerator" sehen, der Kanten mit ein bisschen Detail versieht, ebenfals (noch flachere) Quader.

Die Grundplatten unter dem Gebäude und an den Enden der Brücke sind ein weiterer Generator der - Achtung - flache Quader über die Grundfläche verteilt. Diesmal eben nur noch flacher.

Ob man aus diesen drei Generatoren einen machen kann? Kann sein, intern sind sie tatsächlich alle recht unterschiedlich, was aber auch daran liegen kann dass ich mich jedesmal auf eine andere Art und Weise zum Ziel getrickst habe. Ich lass es jetzt definitiv so. Optimieren mache ich, wenn ich die ganze Sache deutlich besser verstehe.

Die Schnittlinien im Dach des Gebäudes und den Seitenwänden der Säule sind keine Geometry Nodes - das sind einfach nur drei Modifier, die Schnitte muss ich von Hand setzen, mache ich mit dem Messerwerkzeug und einer Winkelbeschränkung auf 45°. Den Trick habe ich vom Youtubekanal Blender Secrets.

Und dann ist da noch das Gelände, oder Terrain, welches zwei Geometry Nodes benutzt. Eines davon dient zum Vereinfachen der Geometrie. Das geht zwar auch mit dem Decimate-Modifier, aber ich benutze im (in diesem Fall extrem simplen) Setup nur einen Node, der Vertices verschmilzt wenn sie dichter als x beisammen liegen. Das führt nicht nur zu einer gleichförmigen Vertexdichte, sondern auch dazu, dass ich Geländestücke recht simpel "aneinanderschweissen" kann. Und da mehrmaliges Anwenden des Nodes keine weiteren Veränderungen bewirkt, kann ich dabei auch recht spontan und ungeplant vorgehen.

Der andere ist dafür zuständig, Pflanzen über das Gelände zu verteilen. Auf dem Beispielbild habe ich vier verschiedene Pflanzen als Vorlage benutzt. Die werden dann noch rotiert und etwas skaliert, um mehr Abwechslung vorzutäuschen. Mit einer Vertexgroup markiere ich Flächen, wo Pflanzen generell hinsollen, und dann kann ich noch Objekte definieren, die Pflanzen blockieren (so dass es nicht soviel Clipping gibt).

Dasselbe Testszenario wie oben, nur im Editmode, ohne die Effekte der Geometry-Nodes
Auf diesem Bild kann man sehen, wieviel von der Testszenerie Handarbeit ist.

Und hier nochmal zum Vergleich, was individuell gemacht wurde. Ich verspreche mir davon, dass diese Methode gut skaliert und ich es realistisch schaffe, eine größere Szene zu erstellen.

Hier die Liste der bisherigen Node-Setups, es ist nicht auszuschließen, dass ich noch weitere brauchen werde. Aber im Grunde möchte ich jetzt erstmal lieber nutzen was ich habe.

Liste der bisher erstellten Node-Setups
Nur die Node-Setups mit drei Bindestrichen sind wirklich nutzbar, die anderen sind nur Helfer. Die ScaffoldingWall ist auf den Beispielbildern nicht zu sehen, genau wie die WallDecals - die eventuell auch herausfliegen.

Material, Licht, Charaktere, Fahrzeuge

Wenig bis gar nichts bisher. Die Figuren auf dem Bild sind nur statische Dummies, die brauche ich um die Größenordnungen in der Spur zu halten.

Was Materialien angeht, werde ich die Strategie aus SF2020 beibehalten, die Flächen einfarbig texturieren und eine Pixelart-Palette, die ich in meinen Weekend-Challenges so lieben gelernt habe, als Grundlage dafür nehmen. Aber darum kümmere ich mich später, erstmal werde ich mit dem guten Workbench-Renderer vorlieb nehmen.

Charaktere und Fahrzeuge wird es geben, aber da mache ich mir Gedanken drum, wenn ich eine Art urbanes Stillleben habe, welches mit Leben gefüllt werden möchte.

Kommentieren? Mail an 022@riidom.eu !

Ihr Kommentar kann gekürzt, editiert oder gar nicht veröffentlicht werden. Es gelten die Regeln des gesunden Menschenverstands. Fügen Sie einen Benutzernamen hinzu, sonst nehme ich "Gast". Soll Ihre Nachricht privat bleiben, lassen Sie es mich wissen. Das ist ein manueller Prozess, ich bitte daher um Geduld :)


neuester Beitrag
in english
Datenschutz/Impressum
mein Youtubekanal
RSS abonnieren