Charakteranimation mit Blender

01.02.2006
In Ausgabe 01/2006 haben Sie die Grundlagen des 3D-Modelling mit Blender kennengelernt: Aus zweidimensionalen Kurven entstand eine Comic-Figur, auf der eine virtuelle Beleuchtung realistische Glanzlichter und Schatten hervorruft. Doch eine Comic-Figur ist dafür prädestiniert, sich zu bewegen.

Die Kunst, virtuelle Charaktere zum Leben zu erwecken, heißt im Englischen "character animation". Sie ist das Gegenstück zum Zeichentrickfilm in der Welt der Bits und Bytes. Doch wenn der Computer den Zeichenstift ersetzt, verringert sich der Arbeitsaufwand kaum. Für die computergenerierte Animationen spricht vielmehr das realistischere Look & Feel: Wie Sie wissen, ist Blender in der Lage (beinahe) fotorealistische Bilder zu erzeugen. Dass dabei die Objekte in einer Szene selbständig "interagieren", erweist sich besonders bei bewegten Objekten als nützlich: Schatten- und Lichteffekte berechnet Blender für wechselnde Positionen der 3D-Objekte stets korrekt (Abbildung 1). Tickfilmzeichner hingegen sind durch die große Menge an Einzelbildern gezwungen, die Farbschattierungen stark zu vereinfachen.

Abbildung 1: Von allen Seiten ein ganzer Kerl: Objekte lassen sich drehen und werfen Schatten wie räumliche Körper in der nichtvirtuellen Welt.

Die Fäden in der Hand

Blender beinhaltet leistungsfähige Tools, um Bewegungsabläufe zu erzeugen. Sie arbeiten mit so genannten Keyframes. Dies bedeutet: Sie müssen sich nicht um jedes der zahlreichen Einzelbilder einer Videosequenz kümmern. Legen Sie einfach die Position eines Gegenstands beispielsweise im ersten und im zehnten Einzelbild fest. Die Zwischenschritte berechnet Blender automatisch und verringert so den Arbeitsaufwand erheblich.

Gegenstände unter Drehung, Farb- und Größenänderung ins Bild schweben zu lassen, mag ein netter Effekt für den Vorspann der Tagesschau sein. Allerdings handelt es sich dabei nicht um Charakteranimation: Unsere Figur darf schließlich nicht starr durch den Raum schweben. Die Beine sollten sich bewegen, wenn Sie durch das Bild läuft, die Kniegelenke sollten sich beugen. Charakteranimation beinhaltet also neben der Drehung und Verschiebung zusätzlich eine gezielte Deformation der räumlichen Objekte: Wenn Sie einen Schlauch knicken, verändert sich dessen Querschnitt. Mag der Vergleich mit der menschlichen Anatomie auch wenig schmeichelhaft sein: So ähnlich verhalten sich Haut und Fleisch, die die Knochen überspannen, beim Bewegen der Arme und Beine.

Blender stellt auch hier die Natur nach: Das Programm verwendet ein "Skelett" (Armature) aus Knochen und Gelenken als Grundlage für die Bewegungen von Figuren. Die Knochen lassen sich bewegen wie eine Marionette. Blender behandelt die Gliedmaßen dabei als elastische Objekte und deformiert sie entsprechend.

Auf der Heft-CD oder unter [1] steht Ihnen auch ein Binary-Archiv des Programms Blender in der Version 2.40 zur Verfügung. Da Sie dieses nur auspacken und das enthaltene blender-Binary starten müssen, verwendet dieser Teil des Tutorials die aktuelle Programmversion, zumal die Animationsfunktionen wesentlich zügiger arbeiten. Da Blender zur Darstellungen der Drahtmodelle OpenGL benutzt, sollten Sie sicherstellen, dass die 3D-Beschleunigung Ihrer Grafikkarte korrekt arbeitet.

Im Folgenden setzen wir voraus, dass Sie die Blender-Grundlagen wie die Ansicht zoomen und Objekte wählen und verschieben beherrschen. Wenn Sie nicht bereits Erfahrung mit Blender haben, sollten Sie mit dem ersten Teil dieses Tutorials aus LinuxUser 01/2006 vertraut sein. Er findet sich als HTML-Datei ebenfalls auf der Heft-CD.

3D-Animation ist ein sehr rechenintensiver Vorgang: Schon der winzige Demo-Clip auf der Heft-CD benötigt 20 Einzelbilder (Frames). Blender muss die Szene 20 Mal komplett neu berechnen. Bevor Sie mit der Animation beginnen, sollten Sie daher die Drahtgittermodelle vereinfachen. Aktivieren Sie im unteren Fensterdrittel den Editing-Knopf (Abbildung 2, Punkt 1), damit Ihnen das Editing-Panel zur Objektbearbeitung zur Verfügung steht. Mit [Z] schalten zwischen der Drahtgitter- und der soliden Darstellung der Vorschau um. Meist ist die Drahtgitter-Vorschau angebracht, da sie schneller arbeitet. Stellen Sie außerdem sicher, dass Sie sich im Objekt Mode und nicht im Edit Mode befinden.

Das Editing-Panel wurde in Blender 2.40 überarbeitet. Viele Funktionen, die in früheren Versionen die Button-Gruppe Mesh unübersichtlich machten, finden Sie nun unter Modifiers: Die Glättung der Oberflächen (Subsurf), die wir im ersten Teil des Tutorials für die meisten unserer Objekte eingestellt haben, zeigt Blender nun an dieser Stelle an.

Wählen Sie zunächst die Mütze aus. Als erstes sollten Sie den in Abbildung 2, Punkt 2 markierten Button hinter Subsurf deaktivieren. Sie schalten so in der Vorschau die Anzeige der Gitternetz-Unterteilung aus. Das endgültige Rendering wird dadurch nicht beeinflusst, die Vorschau beschleunigt sich jedoch erheblich. Klicken Sie nun auf Add Modifier und wählen Sie Decimate aus dem Popup-Menü. Stellen Sie im Feld Percent: den Wert 0.100 ein und klicken Sie auf Apply. Wenn Blender wieder Eingaben akzeptiert (die Buttons verfärben sich wie gewohnt, wenn sie der Mauszeiger berührt) drücken Sie den Button erneut und beantworten alle Fragen, die Blender stellt, mit OK. Wiederholen Sie den Vorgang für alle Objekte, für die Sie in Abbildung 2 einen Wert für Decimate / Percent finden. Deaktivieren Sie die Vorschau der Oberflächenunterteilung (Abbildung 2, 2) auch für die anderen Objekte, die unter Modifiers einen Subsurf-Eintrag besitzen.

Abbildung 2: Arbeitsersparnis: Der Einsatz des "Decimator"-Tools verringert Rechenzeit und Speicherverbrauch beim Rendern.

Mark und Bein

Platzieren Sie den Cursor wie in Abbildung 3. Überprüfen Sie die Position aus der Front- und der Seitenperspektive. Drücken Sie die Leertaste und wählen Sie AddArmature aus dem Popup-Menü. Wenn Sie nach Druck von [G] die Maus bewegen, lässt sich der Endpunkt des gerade eingefügten "Knochens" in die Position des Knies (genau in der Mitte des Beins) verschieben. Mit [E] für Extrudieren fügen Sie einen zweiten Knochen ein. Positionieren Sie ihn anatomisch korrekt. Drücken Sie dann zweimal [A], um beide Knochen auszuwählen. [Shift]+[D] erstellt ein Duplikat, das Sie mit der Maus über das andere Bein verschieben. Drücken Sie erneut zweimal [A], um alle vier Knochen zu aktivieren. Aktivieren Sie dann die Buttons Draw Name und X-Ray in der Mitte des Bereichs Armature unten im Blender-Fenster. Blender zeigt nun die Namen der Knochen, Bone bis Bone.003, an. Der Übersicht halber sollten Sie hier eindeutige Namen vergeben. Falls die Liste der Knochen nicht in das Anzeigefenster passt, verschieben Sie die Unterfenstergrenze mit der Maus etwas nach oben. Nennen Sie die Knochen Os für "Oberschenkel" und Us für "Unterschenkel". Hängen Sie jeweils ein .L oder .R für links und rechts an (Abbildung 4). Die Konvention, symmetrisch vorkommende Objekte mit .L und .R zu kennzeichnen und ansonsten gleich zu benennen, ist Voraussetzung für das automatische Spiegeln von Knochenpositionen, das wir später benötigen.

Abbildung 3: Das Positionieren des Cursors im 3D-Raum erfordert immer die Kontrolle aus zwei Perspektiven.
Abbildung 4: Ein Bewegungsapparat fast wie bei echten Lebewesen: Bei der Charakteranimation kommen Knochen und Gelenke zum Einsatz.

Das Knochengerüst der Beine steht, doch wenn Sie dieses nun bewegen würden, hätte das noch keinerlei Auswirkung auf das Rendering: Knochen sind in Blender reine Hilfobjekte, die nur dazu dienen, die Bewegung und Deformation des sie umgebenden Drahtgitters zu definieren. Damit dies funktioniert, müssen Sie Blender mitteilen, welche Bereiche des umgebenden 3D-Objekts die Bewegung der Knochen "mitnehmen" soll. Dieser Vorgang heißt Skinning, da hierbei die Knochen quasi mit flexibler Haut überzogen werden: Die röhrenförmigen Beine sollen sich beim Laufen an den Knien durchbiegen und entprechend verformen. Sie müssen Blender dazu mitteilen, welche Bereiche des 3D-Objekts mit welchen Knochen in Verbindung stehen sollen.

Bis jetzt bestehen die Beine aus einer einzigen Röhre. Um die obere Hälfte dem Oberschenkelknochen zuweisen zu können, die untere aber dem Unterschenkelknochen, müssen die Beine unterteilt werden. Da die Beine zudem stets gemeinsam bewegt werden, sollten Sie sie jedoch zuerst zu einem Objekt zusammenfügen. Markieren Sie das linke Bein mit der rechten Maustaste, fügen Sie dann das rechte mit gedrückter [Shift]-Taste der Auswahl hinzu. [Strg]+[J] verbindet die beiden Objekte. Schalten Sie mit [Tabulator] den Edit-Mode ein. Falls Sie hellgelb markierte Punkte sehen, deaktivieren Sie diese mit [Strg]+[A]. In der Seitenansicht ([3 XXX] im Ziffernblock) drücken Sie dann [B] und ziehen einen Auswahlrahmen um den oberen und unteren Querschnitt des Beins (Abbildung 5, links). Wählen Sie dann aus dem Menü am unteren Ende des Zeichenbereichs MeshEdgesSubdivide. Ein Ring aus neuen Griffpunkten unterteilt das Bein an der Stelle, an der sich das Kniegelenk befindet (Abbildung 6, rechts).

Abbildung 5: Um das Kniegelenk bewegen zu können, müssen die Beine in zwei Hälften geteilt werden.

Verlassen Sie nun den Edit-Mode. Zusätzlich zum aktiven Drahtgitter der Beine wählen Sie mit gedrückter [Shift]-Taste die Knochen. Ein Klick genügt, da die vier Knochen nur Unterelemente eines Objekts darstellen. Drücken Sie nun [Strg]+[P]. Aus dem Popup Make Parent wählen Sie Armature, und schließlich Create From Closest Bones aus dem Menü Create Vertex Groups ?. Die Vertex-Groups (Gruppe von Eckpunkten) stehen dabei für Ober- und Unterschenkel der beiden Beine und lassen sich jeweils getrennt bewegen. Löschen Sie die Auswahl nun mit [Strg]+[A] und wählen Sie nur die Beine. Wenn Sie nun den Edit-Mode aktivieren, Sie im Bereich Link and Materials unter Vertex Groups die Namen der vier Knochen wieder. Deaktivieren Sie mit [Strg]+[A] alle gelb gefärbten Punkte und klicken Sie auf Select unterhalb der Vertex Groups. Alle Punkte, die sich bewegen, wenn der Us.L, der linke Unterschenkel gedreht wird, verfärben sich nun gelb. Hier sehen Sie, dass die automatische Zuordnung der Punkte des Gitters zu den Knochen nicht perfekt funktioniert hat: Da wir das Sprungelenk in unserer Figur unterschlagen haben, müssen sich mit dem Unterschenkel die gesamten Füße mitbewegen. Wählen Sie nach Druck auf [B] die fehlenden Punkte. Ein Klick auf Assign weist Sie dem Unterschenkelknochen zu. Löschen Sie die Auswahl mit [Strg]+[A] und widerholen Sie den beschriebenen Vorgang für das rechte Bein bzw. die Vertex Group Us.R.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

WLAN-Signalqualität vom Treiber abhängig
GoaSkin , 29.10.2014 14:16, 0 Antworten
Hallo, für einen WLAN-Stick mit Ralink 2870 Chipsatz gibt es einen Treiber von Ralink sowie (m...
Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...