Geometry Nodes ist Blenders node-basiertes System für prozedurale Geometrieerzeugung und -manipulation, in dem Meshes, Kurven, Instanzen und Attribute durch visuelle Node-Netzwerke erzeugt, verändert und gesteuert werden – vollständig nicht-destruktiv und parametrisch.
Rubrik: Software & Tools Deep-Dive · Unterrubrik: Blender · Niveau: Fortgeschritten Blender-Version: ab 2.92 (initialer Release als Objekt-Modifikation), Simulation Nodes ab 3.6, Fields-System ab 3.0
Was sind Geometry Nodes?
Geometry Nodes ermöglichen es, komplexe geometrische Strukturen und Anordnungen durch visuelle Programmierung zu erstellen, anstatt sie manuell zu modellieren. Das System ist vergleichbar mit Houdinis SOPs (Surface Operators) oder Cinema 4Ds MoGraph – allerdings direkt in Blenders eigenes Interface integriert.
Typische Anwendungsfälle:
- Prozedurale Vegetation und Wald-Streuung
- Instanziierung von Objekten (Steine, Häuser, Bäume auf einer Oberfläche)
- Komplexe Muster und Strukturen (Gitter, Rohrsysteme, Architekturfassaden)
- Prozedurale Animationen ohne Keyframes
- Daten-Visualisierung
- Generative Art und Motion Design
Erklärung & Parameter
Geometry Nodes Modifier hinzufügen
Objekt auswählen → Modifier Properties → Add Modifier → Generate → Geometry Nodes. Dann: „New" klicken um einen neuen Node-Tree zu erstellen.
Geometry Nodes Editor öffnen
Editortyp auf „Geometry Node Editor" setzen. Oder: Workspace „Geometry Nodes" (Standard-Tab oben ab Blender 3.0).
Grundaufbau
Ein Geometry Nodes Setup benötigt immer zwei Nodes:
- Group Input (links): Empfängt die Eingabe-Geometrie vom Modifier
- Group Output (rechts): Sendet die fertige Geometrie aus
Zwischen diesen Nodes werden alle Transformationen durchgeführt. Der Geometry-Datenfluss (lila/blauer Verbindungsdraht) verbindet die Nodes.
Wichtigste Node-Kategorien
Geometry:
- Join Geometry: Mehrere Geometrien zusammenführen
- Transform Geometry: Translate, Rotate, Scale anwenden
- Bounding Box: Begrenzungsquader berechnen
- Delete Geometry: Geometrie-Elemente löschen
- Merge by Distance: Doppelte Vertices zusammenführen
- Realize Instances: Instanzen in echte Geometrie umwandeln
Mesh:
- Mesh to Points: Mesh-Vertices in Punktwolke umwandeln
- Extrude Mesh: Flächen/Kanten extrudieren
- Subdivide Mesh: Mesh unterteilen (wie Subdivision Surface)
- Dual Mesh: Duales Gitter berechnen
- Mesh to Curve: Kanten als Kurve extrahieren
- Mesh Boolean: Boolesche Operationen in Nodes
- Edge Angle / Edge Neighbors / Edge Vertices: Edge-Daten abfragen
Points:
- Points to Vertices: Punkte in Mesh-Vertices
- Points to Volume: Punkte in Voxel-Volumen
- Distribute Points on Faces: Punkte auf Mesh-Oberfläche verteilen (Basis für Instanziierung)
Instances:
- Instance on Points: Objekte oder Collections auf Punkten instanziieren
- Realize Instances: Instanzen materialisieren
- Rotate Instances: Instanzen rotieren
- Scale Instances: Instanzen skalieren
- Translate Instances: Instanzen verschieben
Curve:
- Curve Line: Einfache Linie
- Curve Circle: Kreis
- Curve Primitive: Bezier, Nurbs etc.
- Resample Curve: Punkte gleichmäßig verteilen
- Curve to Mesh: Kurve mit Profil zu Mesh
- Fill Curve: Kurve als Fläche füllen
Attribute:
- Store Named Attribute: Eigene Attribute speichern
- Capture Attribute: Attribute in Variable sichern
- Named Attribute: Gespeichertes Attribut abrufen
- Remove Named Attribute: Attribute löschen
Input:
- Object Info: Position, Rotation, Scale eines Objekts
- Collection Info: Objekte einer Collection
- Value / Integer / Boolean / String / Color / Vector: Konstante Eingabewerte
- Position: Aktuelle Vertex/Point-Position
- Normal: Flächennormale
- Index: Vertex/Face/Edge-Index
Utilities:
- Math: Mathematische Operationen
- Vector Math: Vektor-Operationen
- Compare: Vergleichsoperatoren
- Boolean Math: AND, OR, NOT
- Random Value: Zufallswerte (Float, Integer, Boolean, Vector)
- Map Range: Wertebereich umrechnen
- Align Euler to Vector: Rotation aus Richtungsvektor berechnen
Fields vs. Geometry
Ab Blender 3.0 nutzt Geometry Nodes das Fields-System: Viele Nodes können nicht nur einzelne Werte, sondern Felder (Werte pro Vertex/Face/Edge) verarbeiten. Das erlaubt:
- Unterschiedliche Skalierungen pro Instanz (
Random Valueals Scale-Input) - Positions-abhängige Farben oder Größen
- Index-basierte Variation
Group Inputs und Parameter
Werte können als Parameter exponiert werden:
- Im Node-Tree einen Wert-Node (z. B. Float) dem Group Input hinzufügen
- Im Modifier-Panel erscheint ein Eingabefeld
- Wert kann keygeframet und animiert werden
Dies macht Geometry-Nodes-Modifier zu parametrischen Werkzeugen mit anpassbaren Reglern.
Beispiele (5 konkrete Anwendungsfälle)
- Wald-Streuung:
Distribute Points on Faces→Instance on Points(Collection mit Bäumen) →Rotate Instances(Random Rotation auf Z) →Scale Instances(Random Scale) → fertige, prozedurale Waldverteilung auf einem Terrain-Mesh. - Procedural Architektur-Fassade: Start aus einem Raster (
Mesh Grid) →Extrude Meshauf ausgewählten Faces (zufällig viaRandom Value) →Material Indexper Attribute für Farbvariation → komplexe Fassade ohne manuelle Modellierung. - Kabelverlegung entlang Kurve: Bézier-Kurve als Input,
Curve to Meshmit einem Kabel-Profil (Circle-Kurve),Resample Curvefür gleichmäßige Segmente → realistisches Kabel. - Simulation: Dominosteine kippen: Simulation Nodes (3.6+) – Dominosteine als Instanzen, Physics-Propagation per Simulation-Zone definiert.
- Daten-Visualisierung: CSV-Daten als Text importieren, via Script in Attribute umwandeln,
Mesh Gridmit Attribute-Heights für Balkendiagramm-Visualisierung.
Schritt-für-Schritt: Objekte auf einer Oberfläche verteilen
- Terrain-Mesh (z. B. eine subdivide Plane) auswählen
- Modifier Properties → Add Modifier → Generate → Geometry Nodes → New
Shift + A → Geometry → Distribute Points on FacesNode hinzufügen- Group Input → Geometry verbinden mit Distribute → Mesh
Shift + A → Instances → Instance on Pointshinzufügen- Distribute → Points verbinden mit Instance → Points
Shift + A → Input → Object Info→ Collection oder Objekt angeben (z. B. Baum-Objekt)- Object Info → Geometry verbinden mit Instance → Instance
- Instance → Instances verbinden mit Group Output → Geometry
Shift + A → Utilities → Random Value→ Min/Max Rotation → Rotate Instances → für Zufalls-Rotation- Distribute: Density-Wert anpassen für Dichte
- Optional:
Join Geometryum Terrain + Instances zusammenzuführen
In der Praxis
Shortcuts im Geometry Node Editor:
Shift + A→ Node hinzufügenStrg + G→ Nodes zu Group zusammenfassen (eigener Node-Tree)Tab(in Group) → Gruppe betreten/verlassenStrg + Shift + Klick→ Node-Output als Vorschau im ViewportStrg + H→ Socket-Display optimierenN→ Sidebar (Node-Optionen)F→ Add Frame (Kommentar-Rahmen für Organisation)
Attribute-Debugging: Den Spanner-Icon → Spreadsheet Editor öffnen → zeigt alle Attribute pro Vertex/Face/Edge → extrem nützlich für Debugging komplexer Node-Netzwerke.
Performance-Tipps:
Realize Instancesvermeiden wenn möglich – Instanzen sind viel speichereffizienter- Bei großen Szenen:
Subdivide Meshin Geometry Nodes statt vorab im Mesh (spart Edit-Mode-Arbeit) - Simulation Nodes mit geringer Substep-Anzahl beginnen, erst erhöhen wenn nötig
Vergleich & Abgrenzung
| Merkmal | Geometry Nodes | Houdini SOPs | C4D MoGraph |
|---|---|---|---|
| Lernkurve | Hoch | Sehr hoch | Mittel |
| Flexibilität | Sehr hoch | Extrem hoch | Mittel–Hoch |
| Simulation | Einfach (3.6+) | Sehr umfangreich | Basis |
| Integration | Blender-nativ | Eigene Software | Cinema 4D |
| Kosten | Kostenlos | Kostenpflichtig | Kostenpflichtig |
Geometry Nodes ist noch nicht auf dem Niveau von Houdini für komplexe prozedurale VFX, aber für die meisten Modellierungs- und Instanziierungs-Aufgaben vollständig ausreichend und wächst mit jeder Blender-Version erheblich.
Häufige Fragen (FAQ)
F: Wie kann ich Geometry Nodes für andere Objekte wiederverwendbar machen? A: Node-Group erstellen (Strg + G), dann als Asset in der Asset Library speichern: Asset Browser öffnen → Rechtsklick auf Node Group → Mark as Asset. Aus der Library kann der Node-Group in andere Projekte per Drag & Drop eingefügt werden.
F: Warum werden meine Instanzen nicht gerendert, obwohl sie im Viewport sichtbar sind? A: Häufige Ursache: Die Objekte in der Collection sind als „Instancer" markiert (Visibility → Instancer in Object Properties), aber nicht als direkt renderbar. Oder: Die Collection im Object Info Node hat „Separate Children" aktiviert. Prüfen: Render Properties → Object Visibility in der Szene, und Collection-Sichtbarkeit im Outliner.
Verwandte Einträge
- Shader Editor – Materialien in Blender
- Array Modifier – Wiederholungen und Muster
- Particle System – Haare und Effekte
Weiterführend
- Blender Manual: Geometry Nodes –
- Blender Manual: Simulation Nodes –
- Blender Artists: Geometry Nodes –
- CGCookie – Geometry Nodes for Beginners:
