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:
-
3DWindow

-
IPOWindow (Animationskurven)

-
Oops Window (Object oriented programming system)

-
ButtonsWindow

-
DataView

-
UserMenu (oder InfoMenu)

-
SequenceWindow

-
ImageWindow

-
ImageSelect

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:
-
TopView (NUMPAD_7)
-
FrontView (NUMPAD_1)
-
SideView (NUMPAD_3)
-
CameraView (NUMPAD_0)
Voraussetzungen
Dieses Tutorial geht davon aus, daß die elementaren Konzepte von
Blender schon beherrscht werden. Dies sind insbesondere:
-
Laden/Speichern von Szenen F1/F2
-
Pan/Zoom SHIFT-MMB, CTRL-MMB
-
Verständnis des EditMode TAB
-
Verschieben, Rotieren, Skalieren von Objekten GKEY, RKEY, SKEY und
Benutzung des MMB bei diesen Aktionen
-
Benutzung der Toolbox SPACE
-
Selektieren von Objekten BKEY, B-BKEY
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.
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