Home / LinuxUser / 2006 / 02 / Charakteranimation mit Blender

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1393 Hits
Wertung: 143 Punkte (5 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...