Blender 3D/ Tutorials/ Modelling/ Tree from Curves

Aus Wikibooks
Diese Seite bezieht sich auf Blender v2.46

Ein Tutorial, in dem ein Baum mit dem Script Tree from Curves erstellt wird.

Bekannte Baumgeneratoren wie LSystem, Gen3 oder arbaro arbeiten nach ähnlichen Prinzipien: In einer Benutzeroberfläche werden sämtliche Parameter angegeben, nach Abschluss wird aufgrund dieser ein Baum berechnet. Tree From Curves geht einen anderen Weg - es ist interaktiv. Nach jeder Änderung eines Wertes kann deren Auswirkung auf Aussehen des Baumes geprüft werden.

Abbildung 1: Endergebnis des Tutorials



Vorbereitungen[Bearbeiten]

  • Für das Script muss ein eigener Arbeitsbereich geschaffen werden.
  • Starten Sie das Script im Scriptfenster aus der Kategorie "Wizards".
  • Nach dem erfolgreichen Start wird die Benutzeroberfläche des Scriptes geladen.


Abbildung 2: Fensterlayout für die Arbeit mit Scripts




Der Stamm[Bearbeiten]

Das Modellieren des Stammes ergibt mit Sicherheit das schönste Ergebnis. Sowohl die Form, als auch die Texturierung von Hand ist um vieles genauer zu bewerkstelligen. Allerdings bringt dieses Script durchaus brauchbare Ergebnisse, weshalb der gesamte Baum damit erstellt werden soll.

Abbildung 3: Erstellen des Stammes
  1. Erstellen Sie mit Space >> Add >> Curve >> Bezier Curve eine neue Curve. Aktivieren Sie im Curve and Surface-Panel den 3D-Button.
  2. Klicken Sie im Script-Fenster auf Automatic Update. Ein rohrähnliches Objekt wird erzeugt, dessen oberes Ende Sie durch klicken auf Cap Ends im Script-Fenster schließen.
  3. Um dem Stamm ein baumähnliches Profil zu verleihen, fügen Sie der Curve mit Strg-LMT weiter Knotenpunkte hinzu und verändern den Verlauf der Curve nach Belieben.
  4. Markieren Sie den Knotenpunkt der Baumspitze und skalieren Sie dessen Radius mit Alt-S.

Wiederholen Sie den Skalierungsvorgang auch für die restlichen Knoten und klicken Sie zur Kontrolle immer wieder auf den Automatic Update-Button des Scriptes.

Am Ende dieses Schrittes sollten Sie einen sich nach oben hin verjüngenden, geschwungenen Stamm erhalten.


Die Hauptäste[Bearbeiten]

Für die Äste fügen Sie der Curve des Stammes im Edit-Mode weiter Bezier-Curves hinzu und platzieren um die Stamm-Curve herum. Die Skalierung der Knoten-Radien muss auch hier wieder erfolgen. Es werden mit hoher Wahrscheinlichkeit einige Modifikationen nötig sein, ehe Sie mit dem Ergebnis zufrieden sein werden.

Abbildung 4: Erstellen der Äste



Für Stamm und Hauptäste relevante Schaltflächen[Bearbeiten]

Abbildung 5: Das Script: Tree from Curves


Abbildung 6: Erstellen der Äste


 1  Segment Spacing: Detailgrad der Äste durch Anzahl der Segmente

Abbildung 7: Erstellen der Äste


 2  Angle Spacing: Detailgrad der Äste abhängig vom Winkel des Kurvenverlaufs

Abbildung 8: Erstellen der Äste


 3  Radius Spacing: Detailgrad der Äste abhängig vom Radius der Äste

Abbildung 9: Erstellen der Äste


 4  Join Width: Größe der Verbindungsstellen zum Stamm

Abbildung 10: Erstellen der Äste


 5  Joint Smooth: Härte des Überganges von Ast zu Stamm

Abbildung 11: Erstellen der Äste


 6  Connect Limit: Genauigkeit beim Verbinden der Äste mit dem Stamm

Abbildung 12: Erstellen der Äste


 7  Joint Bevel: Härte des Überganges von Stamm zu Ast

 8  Cap Ends: Die Enden der Äste werden geschlossen
 9  SubSurf: Aktiviert Subdivision Surface für neue Objekte
 10  Exit: Beendet das Script
 11  Automatic Update: Aktualisiert den Baum nach Änderungen


Die Zweige[Bearbeiten]

Sie können die Form des Baumes sehr genau Ihren Vorstellungen entsprechend gestalten, indem Sie zur Begrenzung des Wachstums Hüllobjekte erstellen.

Dabei ist es wichtig zu wissen, dass die Anzahl der Zweige in direktem Zusammenhang mit der Anzahl der Vertices der Hülle steht. Je mehr Vertices die Hülle enthält, um so differenzierter und dichter werden die Zweige berechnet.



Die Fill Twigs - Methode[Bearbeiten]

Diese Methode füllt den Raum innerhalb eines vorgegebenen Hilfsobjektes mit Zweigen auf. Diese werden sehr gleichmäßig verteilt und eignen sich somit sehr gut als Träger für Blätter.

  • Erstellen Sie für jeden Ast eine Hülle - im Beispiel wurden dafür UV-Spheres mit 8 Segmenten und 8 Ringen verwendet.
  • Fügen Sie die einzelnen Hüllen im Edit-Modus hinzu - die Ansammlung von Hüllen muss ein einzelnes Objekt sein.
  • Wenn Sie mit Ihrer Hülle zufrieden sind, markieren Sie die Curves des Baumes und klicken im Script-Fenster auf Fill Twigs.
  • Tragen Sie im Feld OB-Bound: den Namen Ihres Hüllenobjektes ein.


Abbildung 13: Hüllen für die Zweige



Schaltflächen für die Fill Twigs - Methode[Bearbeiten]

Abbildung 14: Erstellen der Zweige mit Fill Twigs


 1  Generations: Anzahl der zu erstellenden Zweig-Generationen
 2  OB-Bound: Name des Hüllenobjektes für die Zweige
 3  Randomize Scale: Wachstum der Zweige - Zufallswert
 4  Min Radius: Dicke der Zweige an deren Enden
 5  Inherit Scale: Dicke der Zweige an deren Wurzeln
 6  Join Type: Form der Gabelungen
 7  Shape Max Ang: Maximaler Winkel der Gabelungen
 8  Shape Rand: Verlauf der Gabelungen - Zufallswert
 9  Shape Strength: Krümmung der Zweige


Die Grow Twigs - Methode[Bearbeiten]

Es wird versucht, natürliches Wachstumsverhalten von Ästen und Zweigen zu simulieren. Das Astwerk ist meist weniger dicht, weswegen zur Belaubung die Fill Twigs - Methode besser geeignet ist.

  • Ist eine Wachstumsbegrenzung notwendig, erfolgt die Erstellung der Hülle analog zur Fill Twigs - Methode.
  • Klicken Sie im Script-Fenster auf Grow Twigs.
  • Tragen Sie im Feld OB-Bound: den Namen Ihres Hüllenobjektes ein.



Schaltflächen für die Grow Twigs - Methode[Bearbeiten]

Abbildung 15: Erstellen der Zweige mit Grow Twigs



 1  Twig Multiply: Anzahl der Zweige, welche pro Ast erstellt werden
 2  Branch Selection Method:
 3  From Factor:
 4  Recurse Twigs:
 5  Generations:
 6  Twig Scale: Größenverhältnis zum Quell-Ast
 7  Twig Scale Width: Skalierung der Länge der Äste
 8  Rand Orientation: Grenzen für die zufällige Rotation um den Quell-Ast
 9  Range Angle: Grenzen für den zufälligen Winkel der Zweige
 10  Place Max Radius: Äste mit kleinerem Radius erhalten keine Zweige
 11  Place Max Count: Begrenzung der Anzahl an Zweigen pro Quell-Ast
 12  ParFollow:
 13  Grav X,Y,Z: Angabe der Schwerkraft, welche auf die Zweige wirkt
 14  OB Bound: Name des Hüllenobjektes
 15  Prune: Die Enden der Zweige beschneiden
 16  Taper: Die beschnitten Enden verjüngen


Sie können beide Methoden Kombinieren um unendlich viele Variationen von Zweigen zu erstellen.

Es ist nicht möglich, für die beiden Methoden unterschiedliche Hüllen zu verwenden.


Abbildung 16: Zweige mit beiden Methoden erstellen



Die Blätter[Bearbeiten]

Es ist möglich, für die Blätter ein eigenes Mesh vorzugeben. Das kann ein fein modelliertes Blatt sein, oder eine einfache Plane, wie sie auch in diesem Tutorial Verwendung findet.

  1. Fügen Sie eine einfache Plane ein (Leertaste >> Add >> Mesh >> Plane)
  2. Selektieren Sie die Curves des Baumes und klicken im Script-Fenster auf den Button Generate Leaves.
  3. Tragen Sie den Objektnamen der Plane in das Feld OB: ein

Das Script generiert nun Blätter

Es passiert immer wieder, dass die Kopien des Blattes nicht deckungsgleich auf den errechneten Blättern liegen oder abweichend skaliert sind. Skalieren Sie in diesem Fall das Blatt und verschieben es, bis die Blätter korrekt liegen

Abbildung 17: Blattverschiebungen


Wenn durch einen niedrigeren Detailgrad des Astwerks zu wenig Blätter entstehen, erstellen Sie zusätzlich ein höher aufgelöstes Hüllenobjekt und berechnen Sie damit Zweige und Blätter neu. Deaktivieren Sie danach Create Leaves im Script-Fenster. Die Blätter werden dadurch nicht gelöscht. Danach können Sie mit dem ursprünglichen Hüllenobjekt die Zweige wieder zurücksetzen



Für Blätter relevante Schaltflächen[Bearbeiten]

Abbildung 18: Erstellen der Blätter


 1  OB: Name des Objektes, welches als Blatt verwendet werden soll
 2  Size: Größe des verwendeten Objektes im Baum
 3  Randsize: Zufällige Variation der Größe der Blätter
 4  Branch Limit: Dicke der Äste, an denen noch Blätter generiert werden
 5  Limit Random: Verteilt die Blätter zufällig auf die Äste
 6  Density: Legt die Dichte des Blätterdaches fest
 7  Angle From Branch: Winkel in dem die Blätter von den Ästen abstehen
 8  Random Seed: Variiert die auf Zufall basierenden Einstellungen
 9  Pitch Angle: Legt die Neigung der Blätter fest
 10  Random Pitch: Variiert die Neigung der Blätter zufällig
 11  PRandom Roll: Variiert die Drehung der Blätter zufällig

Texturen[Bearbeiten]

Abbildung 19: Erstellen der UV-Koordinaten


Textur für den Stamm:

Klicken Sie im Script-Fenster auf den Button Generate UVs, das Script erstellt nun die UV-Koordinaten für den Stamm

 1  Scale U: Gibt den Faktor für U-Scale an
 2  V-Aspect Richtet die UV-Map auf die Breite der Äste aus
 3  V-Normalize Passt die UV-Map auf die verwendete Image-Textur an
 4  U-Scale Legt die Breite der UV-Map entsprechend der Größe der Faces fest
 5  Scale V: Gibt den Faktor für V-Scale
 6  IM: Gibt den Namen der verwendeten Imagemap an

Hinweis: Meist ergibt die Option V-Aspect gute Ergebnisse, Anpassungen der UV-Werte sind in der Regel nicht notwendig.

Textur für die Blätter:

  1. Weisen Sie der Plane, welche Sie zur Erstellung der Blätter nutzten, ein neues Material zu.
  2. Weisen Sie diesem Material eine Image-Textur zu.
  3. Laden Sie ein Bild mit Alphakanal in den Texturkanal.
  4. Nehmen Sie die Einstellungen gemäß Abbildung 20 vor.
Abbildung 20: Materialeinstellungen für das Blattwerk



Die Wahl der Image-Textur wird großen Einfluss auf das Aussehen des Baumes haben. Verwenden Sie ein einzelnes Blatt als Textur, wird der Baum eher klein erscheinen. Ein ganzer Zweig dagegen macht den Baum mächtig.

Abbildung 21: Textur: Einzelnes Blatt
Abbildung 22: Kleiner Baum



Die Verwendung eines Blattes als Textur liefert einen klein anmutenden Baum.

Abbildung 23: Textur: Zweig
Abbildung 24: Großer Baum



Verwenden Sie einen Zweig als Textur, sieht der gleiche Baum sehr viel größer aus.

Links[Bearbeiten]

Bericht mit englischem Videotutorial über das Script auf Blendernation http://www.blendernation.com/2008/05/29/tree-from-curves-video-tutorial/