Blender Tutorials

Berechnete Welten

von Carsten Wartmann


Blender ist eine komplexe Software, die teilweise ihre eigenen Konventionen und Gesetze hat. Eine der leichtesten Arten die steile Lernkurve zu überwinden sind Tutorials.

Konventionen zur GUI von Blender

Damit jeder die Tutorials von verschiedenen Autoren versteht und (hoffentlich) problemlos nachvollziehen kann, ist eine Konvention über die Benennung der verschiedenen Oberflächenelemente von Blender nötig. Nachfolgend benenne ich die wichtigsten Elemente so, wie sie offiziell von der Firma "Not a Number", dem Hersteller von Blender [1], bezeichnet werden.

Die Mausknöpfe werden LMB, MMB und RMB für die linke, mittlere und rechte Maustaste genannt.

Die Fenster auf die man mit einem LMB-Klick rechts oder links auf den Button in dem Fensterheader  umschalten kann, heißen der Reihenfolge nach:

Jedes Window hat einen Header, den man mittels eines RMB-Klicks auf die Headerzeile zwischen der Anordnung oben im Fenster oder unten im Fenster umschalten kann. Diese Header werden dann analog zu den Fensternamen als 3DHeader, IPOHeader etc. bezeichnet.

Die wohl wichtigste Taste im Programm ist die Leertaste SPACE, die die sogenannte TOOLBOX (Abb.1) aufruft.
 


Abbildung 1: Toolbox
Die Knöpfe der einzelnen Programmteile im Buttons-Window  heißen nach der Reihenfolge wie in Abbildung 2 dargestellt, ViewButtons, LampButtons, MaterialButtons, TextureButtons, AnimButons, WorldButtons (hier aktiviert), EditButtons, VertexPaint und DisplayButtons.
 


Abbildung 2: Window Buttons
Ein spezieller Button wird dann z.B. mit MaterialButtons->Orco bezeichnet. Tastendrücke werden bei einzelnen Tasten mit AKEY für die Taste "A" und SHIFT+a oder SHIFT-CTRL+a bezeichnet.

Die 3D-Ansichten werden wie folgt bezeichnet:

Voraussetzungen

Dieses Tutorial geht davon aus, daß die elementaren Konzepte von Blender schon beherrscht werden. Dies sind insbesondere:

Modelling

Auf [4] liegt ein Archiv mit den für diese Tutorials benötigten Szenen und Texturen. Die Datei Grundszene.blend enthält eine Kamera, eine Fläche und zwei Lichter, ich benutze diese Szene als Grundszene, mit der Blender gestartet wird (.B.blend im Home-Verzeichnis).

Rotationskörper

Viele teilweise recht komplexe Objekte können mittels Rotationskörper leicht erstellt werden. Im folgenden möchte ich ein sogenanntes Lichtrad (Abb.3) erstellen.

Abbildung 3: Das Lichtrad
Hierzu erstellen wir uns im FrontView (NUMPAD_1) eine Kurve Toolbox->ADD->Curve->BezierCurve. Neue Segmente der Kurve fügen wir mit CTRL-LMB hinzu. Hilfreich ist es, wenn man schon frühzeitig die Layer von Blender benutzt. Mittels der LayerButtons  im 3DWindowHeader kann zwischen den Layern umgeschaltet (LMB) werden. Mit SHIFT-LMB schaltet man mehrere Layer ein. Es sollte eine Kurve wie in Abbildung 4 gezeigt herauskommen. Scharfe Ecken erhält man, in dem man Kontrollpunkte selektiert (RMB) und dann VKEY drückt.
 


Abbildung 4: Bezierkurve des Lichtrades
Nach dem Verlassen des EditMode mittels TAB (Objekt wird violett dargestellt) wandeln wir die Kurve in ein Mesh mittels ALT-c um. Das Zentrum der Rotation ist der 3D-Cursor (Fadenkreuz), daher sollten wir ihn mit SHIFT-S->Curs->Sel auf das Zentrum der Kurve legen. Wenn wir jetzt wieder in den EditMode wechseln (TAB), so sehen wir jetzt viele Vertices, die wir mit AKEY alle selektieren. Im EditButtons Window  sind jetzt die in Abbildung 5 gezeigten Einstellungen vorzunehmen. Eine numerische Eingabe in die Zahlenfelder wird durch LMB (halten) + MMB erreicht. Degr: legt fest wie weit gedreht wird, Steps: legt die Anzahl der Zwischenschritte fest.
 


Abbildung 5: Spin Parameter
Mit NUMPAD_7 (der Mauszeiger muß sich über einem 3D Fenster befinden) schalten wir in ein TopView um und klicken in EditButtons->Spin an. Mit dem Cursor (jetzt ein Fragezeichen) klicken wir jetzt in den TopView und das Objekt sollte erscheinen. Wir verlassen jetzt den EditMode mit TAB und bringen das Objekt mit MKEY auf den ersten Layer, wo wir es solange skalieren oder die Kamera verschieben, bis wir einen guten Blick auf das Objekt haben. Wenn man nun mittels F12 das Bild berechnen läßt, so sieht man die einzelnen Flächen des Objekt. Bei angewähltem Objekt klickt man daher EditButtons->SetSmoth an, dies aktiviert das Phongshading für das Objekt. Inzwischen haben wir schon eine ganze Zeit an dem Projekt gearbeitet und sollten das Speichern nicht vergessen. Blender ist zwar für Betasoftware schön stabil aber...

Materialvergabe

Nun ist es an der Zeit dem Objekt ein Material zu geben, welches wie Glas aussieht. Da der Renderer von Blender kein Raytracer ist werden wir damit leben müssen, keine echten Reflektionen und Refraktion zu bekommen, dies wird aber mit einer sehr schnellen Berechnungszeit belohnt, was speziell für Animationen nicht zu verachten ist.

Wir selektieren das Lichtrad mit RMB und klicken auf den Materialbutton . Mit dem NewButton ->ADD NEW im MaterialButtons-Window erstellen wir ein neues Material und benennen es "Glas" durch Anklicken und Ausfüllen des Texteingabefeldes "MA:NewMaterial.001".
 


Abbildung 6: Einstellungen für ein Glasmaterial
Die Parameter können wie in Abbildung 6 gezeigt eingestellt werden, um ein glasähnliches Material zu bekommen. Den letzten Schliff geben wir jetzt dem Material mit einer Textur.

Textur

Bei angewähltem Objekt klicken wir auf den TexturButton , erstellen mit  ->ADD NEW im TexturButton-Window eine neue Textur und benennen sie "Reflekt". Als Texturtyp verwenden wir "Image" und wählen chrmwarp.jpg aus dem Archiv [4] mit "Load Image" aus. Zurück im Material-Window  stellen wir die Texturparameter wie aus Abbildung 7 oben ein. Im zweiten Textur-Kanal  des Glasmaterials erstellen wir wie oben beschrieben eine zweite Textur mit dem Bild sky.jpg und nennen sie "Himmel". Die Parameter sollten wie in Abbildung 7 unten eingestellt werden.

Abbildung 7: Einstellungen für die Texturen
Die wichtigsten Einstellungen sind hier "Refl" und "Ref", dies definiert die Textur als Reflektions-Map. "Spec" und "Hard" definieren die Stärke und die Größe des Glanzpunktes auf dem Material, "Emit" das Selbstleuchten des Materials, hier wird damit ein wenig die Refraktion simuliert. Wenn man einen Mapping-Button doppelt anklickt wird der Effekt der Map umgekehrt, dies ist bei "Emit" der Fall, daher erscheint die Schrift gelb. Die Maps werden als kugleförmige ("Sphe") Texturen auf das Objekt projiziert.

Eine Himmelstextur für Glasobjekte bietet sich immer bei Außenszenen an, bei Innenszenen kann ein Bild der Umgebung (z.B. des Zimmers bei Kombination von Realaufnahmen und 3D-Grafik) besser sein.

Weiteres Modelling

Um das Lichtrad zu komplettieren modellieren wir noch das Innere des Objekts mit den Lichtpaddeln und der Lagerung. Die Lagerung besteht aus einem weiteren Rotationskörper, die anderen Teile sind praktisch nur skalierte Grundobjekte wie Würfel, Zylinder und Rohr.

Eine Besonderheit haben die Paddel, da ihnen zwei Materialien zugewiesen werden. Ersteinmal erzeugen wir einen Würfel mit SPACE->ADD->Mesh->Cube und verlassen den EditMode mit TAB. In den EditButtons  erzeugen wir zwei Materialien für den Würfel mit 2 x "New" unter dem "0 Mat: 0" Knopf. Wir schalten auf den Material Editor um, dort steht jetzt neben dem grünen "ME" Knopf "2 Mat 2", durch klicken links in den Knopf schalten wir auf "2 Mat 1" um, d.h. wir aktivieren Material eins von zwei. Nun erzeugen wir mit  ->ADD NEW (oben im FensterHeader, nicht der kleinere Knopf direkt im MaterialEditor!) ein neues Material, nennen es "Chrom" und stellen die die Farbe auf Weiß. Dann schaltet man auf "2 Mat 2" um und erzeugt ein weiteres Material, welches wir Schwarz nennen und auch schwarz machen, dazu noch die "Spec" auf 0.0 stellen, da es matt sein soll. Bei dem EditButtons  Fenster wählen wir jetzt über den Knopf "2 Mat 2" "Schwarz" als Material. Mit TAB wechseln wir in den Edit-Mode und wählen mit dem Border-Select BKEY vier Vertices an der Front des Würfels aus. Mit einem Klick auf "Assign" wird das aktuelle Material den Ausgewählten Flächen zugewiesen. Nach dem Verlassen des Edit-Mode sollte der Würfel bei einer Berechnung eine schwarze Seite haben. Für das Chrommaterial kann man noch die "Reflekt" oder "Himmel" Map als Reflection-Map verwenden. Jetzt wird der Würfel zu einem Paddel skaliert.

Probleme

Leider (das hat Blender aber mit etlichen $1000 Programmen gemein) funktioniert die Schattenberechnung bei transparenten Objekten nur einfach, d.h. ein Objekt innerhalb eines transparenten Objekts wirft keinen Schatten mehr. Abhilfe kann man wieder schaffen, in dem man das transparente Objekt keinen Schatten werfen läßt (->"Traceble" ausschalten) und den Schatten durch ein transparentes Objekt ersetzt. Auf eine ähnliche Weise lassen sich auch Reflektionen simulieren.

Animation

Aus der Szene eine Animation zu machen, gelingt am besten durch Keyframeanimation. Wir schieben den Zeitschieber  auf Frame 1, selektieren das Lichtpaddel im Topview und drücken IKEY (siehe Abbildung 8). Dort wählt man dann das Einfügen eines Keys für die Rotation "Rot" aus.

Abbildung 8: Einfügen eines Keys
Nun schieben wir den Zeitschieber auf Frame 31 (oder 3 Mal CURSOR_UP), rotieren das Lichtpaddel mit RKEY um genau 90° (CTRL halten!). Mit IKEY fügen wir einen weiteren Key für die Rotation ein. Wenn wir jetzt die Animation von Frame 1 aus abspielen (ALT-a in einer 3D Ansicht), so beschleunigt und bremst das Paddel innerhalb der 30 Frames. Um die erwünschte kontinuierliche Bewegung zu erhalten schalten wir bei weiterhin selektiertem Paddel ein Ansichtsfenster auf das IPOWindow  um.
 


Abbildung 9: Das IPOWindow mit selektierter Rotation um die Z-Achse
Mit RMB selektieren wir nun die Kurve für die Z-Achse (erkennbar an den weißen Kurvenpunkten). Diese Animationskurven lassen sich genau wie normale Bezierkurven bearbeiten. Der grüne Strich zeigt den aktuellen Frame an. Mit TAB wechseln wir in den EditMode, es erscheinen die Handles der Bezierkurven. Mit dem Button  erhalten wir die gewünschte kontinuierliche Bewegung. der Button  sorgt im Gegensatz dazu für sanfte Bewegungen bei den Keys und der Button  wiederholt die Bewegung laufend.

Berechnung

Zur Berechnung können im RenderButtons-Dialog  Einstellungen zu Ausgabeformaten (Auflösung, Speicherformat, etc.), der Renderqualität (Oversampling, Schatten, etc.) und den Ausgabepfaden für die berechneten Bilder gemacht werden. Als erstes sollte "OSA" (Oversampling) eingeschaltet werden, dies sorgt für glatte Kanten durch ein Antialiasingverfahren. Die Zahlenbuttons unter "OSA" definieren die Anzahl der Samples für das Oversampling. Dann sollte je nach Verwendungszweck die Auflösung und das Ausgabeformat gewählt werden. Die Ausgabeformate TGA, Iris, HAMX kann Blender nach der Berechnung direkt abspielen ("PLAY"), was bei kürzeren Animationen auch gut funktioniert (die Bilder werden ins RAM geladen), insbesondere HAMX ist hierfür gut geeignet. In das Texteingabefeld neben "Pics" trägt man den Pfad und den Namen für die Bilder ein, also z.B. "/tmp/bilder/Lichtrad." dieser Pfad wird dann durch eine laufende Framenummer ergänzt. Mit dem Button neben dem Pfadrequester wird der normale Filebrowser aufgerufen mit dem man dann diese Einstellungen tätigen kann. "Sta:" und "End:" geben an, welche Bilder berechnet werden sollen. Mit einem Klick auf "ANIM" wird die Berechnung gestartet. Die entstehenden Einzelbilder können dann mit beliebigen Programmen weiterverarbeitet werden, zu einer MPEG-Animation etwa oder auch zu einer GIF-Animation.
Infos

[1] http://www.blender.nl Blender Homepage
[2] http://belug.in-berlin.de/user/cw/blender.html Link zu meinen Blender3D Szenen
[3] http://goethe.bowtie.nl/cgi-bin/web-ssql/news-blender/index.ws "News"-Server zu Blender 
[4] ftp://ftp.linux-magazin.de/pub/graphics/blender/BlenderTutorial1.tgz Tutorialfiles
[5] 3D voraus, Linux-Magazin 6/98

Der Autor

Carsten Wartmann ist Diplomingenieur für Bioverfahrenstechnik. Zu Linux kam er, weil er der Meinung ist, der Computer sollte einem die Arbeit erleichtern. Zu erreichen ist er unter carstenw@mero.in-berlin.de.

Copyright © 1998 Linux-Magazin Verlag