|
von Alexander Langer <lf(at)kuxi.de> Über den Autor: Seit 1993 benutze ich Linux. Auf Grund meiner Amigaerfahrung schätze ich den Zugang zum Sourcecode, im allgemeinen und um herauszufinden, wie andere ihre Programme bauen. Übersetzt ins Deutsche von: Jürgen Pohl <sept.sapins(at)verizon.net> |
Einfache AnimationZusammenfassung:
Eine einfache Animation zu erzeugen macht einfach Spass - für Kinder, als auch für Erwachsene. Die Animationsarten schliessen einfache Objektanimation, Animationen im Monty-Python-Stil, Zeitrafferfilme, Knetmasse-Animationen à la Wallace & Grommit, ein. In diesem Artikel werden wir keinen vollständigen Film entwerfen. An einem einfachen Beispiel werden wir die wesentlichen Techniken lernen. Gerade genug, um mit eurem eigenen Film anzufangen ;-). Hinweis: Das Bild rechts und der kleine Punkt oben sind animiert. Du musst gif- Animation aktivieren, um sie in Deinem Browser zu sehen. |
Unabhängig vom Plan, besteht der nächste Schritt in der Schöpfung von Einzelaufnahmen der Animation. Wahlweise kannst Du diese nachbearbeiten oder Textframes hinzufügen - wie in den alten Stan- and Ollie-Filmen.
Zum Schluss fügst Du die einzelnen Aufnahmen zu einem Film zusammen.
Die Aufnahmen kannst Du mit Gimp oder einem anderen
Malprogramm editieren.
ImageMagick
(www.imagemagick.org), das Swiss Army-Messer unter den
Programmen - zum Konvertieren und Darstellen von Bildern - ist
sehr nützlich, um Animationen zu gestalten und
vorzuführen.
Kein Problem, falls Du keine Kamera hast, wir machen eine "springender Punkt"-Animation. Öffne Gimp und wähle File >New. Klicke "OK", um ein 256x256-Default-Bild mit weissem Hintergrund zu erhalten. Wähle das Pinselwerkzeug im Hauptfenster und klicke irgendwo in der linken, unteren Gegend des Bildes, um einen Punkt zu erzeugen. Rechtsklicken auf das Bild, File >SaveAs wählen und das Bild als "0001.jpg" in ein leeres Verzeichnis speichern. Klicke einfach "OK" in der jpeg-Options-Liste. Das wäre also der erste Frame. Nehmen wir an, wir wollen 10 Frames, also wiederholen wir folgendes 9 mal:
Du solltest nun Folgendes sehen:
Nun kreieren wir den Film:
$ mencoder 'mf://*.jpg' -mf type=jpg:fps=4 -ovc copy -oac copy -o output.aviDer Parameter "fps" bestimmt den "Frames pro Sekunde"-Wert. Niedrige Werte bedeuten weniger Arbeit für Dich, erzeugen jedoch eine ruckligere Animation.
Um Dein Meisterstück zu bewundern, gebe ein:
$ mplayer output.aviMit verschiedenen Bildfrequenzen zu experimentieren ermöglicht mplayer's "-fps"-Option, um z.B. 10 Frames pro Sekunde zu erzwingen, gebe "-fps 10" ein. Es ist nicht notwendig, die Animation wieder mit einer anderen Framezahl zu kodieren, es sei denn, Du willst sie an jemand weitergeben.
Besonders für kurze Filmabschnitte ist es oft vorteilhaft die "-loop"- Option zu benutzen, z.B. "-loop 10". Das spielt den Filmabschnitt zehn mal.
Alternativ zu mencoder/mplayer kann man mit dem animate-Programm von ImageMagick den Filmabschnitt anschauen:
$ animate *.jpgDas spielt den Filmabschnitt kontinuierlich. Links klicken auf die Animation öffnet ein Menü. Mittels Leertaste und Rücktaste kannst Du Dich in Einzelschritten durch die Animation bewegen (der Dateiname des aktuellen Frame ist im Titlebar des Fensters zu finden, das ist für die Nachbesserung von einzelnen Frames nützlich). Zur Änderung der Geschwindigkeit der Animation benutze die "<"- und ">"- Tasten.
Drücke CTRL-v und wähle das Move-Tool (dessen Ikone hat Pfeile, die in alle vier Richtungen zeigen). Bewege das Bild an die Stelle, wo es ursprünglich war. Speichere das Bild als 0001.img, genau wie Du es mit dem springenden Punkt gemacht hast. Klicke auf "Export", wenn Gimp sich beschwert, dass JPEG mit Transparenz nichts anfangen kann. Bewege das Kinn ein wenig nach unten und speichere als 0002.jpg. Mache im gleichen Sinn weiter, bis Du alle Frames hast. Dann kodiere mit mencoder. Du bekommst Bonuspunkte, wenn Du die Lippen zu Musik oder einer Sprachaufnahme synchronisierst.
Wenn Du in ein animiertes GIF umwandeln willst (wie das Bild am Anfang dieses Artikels), kannst Du das mit ImageMagick's convert-Programm durchführen:
$ convert -delay 20 *.jpg out.gifDie "-delay"-Option ist in 1/100 s, infolgedessen bedeutet "20" 5 Frames pro Sekunde. Du kannst übrigens die Einzelframes der animierten GIF mittels "identify" anschauen.
$ identify out.gif" out.gif[0] GIF 152x104+0+0 PseudoClass 256c 8-bit 201.1k 0.0u 0:01 out.gif[1] GIF 152x104+0+0 PseudoClass 256c 8-bit 201.1k 0.0u 0:01 out.gif[2] GIF 152x104+0+0 PseudoClass 256c 8-bit 201.1k 0.0u 0:01 out.gif[3] GIF 152x104+0+0 PseudoClass 256c 8-bit 201.1k 0.0u 0:01 out.gif[4] GIF 152x104+0+0 PseudoClass 256c 8-bit 201.1k 0.0u 0:01 out.gif[5] GIF 152x104+0+0 PseudoClass 256c 8-bit 201.1k 0.0u 0:01 out.gif[6] GIF 152x104+0+0 PseudoClass 256c 8-bit 201.1k 0.0u 0:01 out.gif[7] GIF 152x104+0+0 PseudoClass 256c 8-bit 201.1k 0.0u 0:01 out.gif[8] GIF 152x104+0+0 PseudoClass 256c 8-bit 201.1k 0.0u 0:01 out.gif[9] GIF 152x104+0+0 PseudoClass 256c 8-bit 201.1k 0.0u 0:01 out.gif[10] GIF 152x104+0+0 PseudoClass 256c 8-bit 201.1k 0.0u 0:01
Mit automatischen Aufnahmen kannst Du Dir den Luxus einer hohen Bildfolge erlauben, vorausgesetzt, Dein verfügbarer Speicherplatz erlaubt das.
Was könnten wir filmen?
Entscheidest Du Dich, Aufnahmen Deines heranwachsenden Kindes zu machen, würde ich sagen, ein Bild während aller sechs Monate sollte ausreichen. Ist Dein Baby im Sommer geboren, erhältst Du ein Geburtstagsfoto und dann Weihnachtsbilder :-) Meine nächste Feststellung: mache die Aufnahmen mit der gleichen Auflösung (2m), dadurch erhältst Du stets den gleichen Masstab für alle Bilder. Andernfalls musst Du sie selber skalieren.
Mit Deiner Tischlampe und einem Ball Pixar's nachempfinden Luxo Jr. (www.pixar.com/shorts/ljr/).
Nehmen wir an, Du willst eine Sprechblase einfügen, um eine Person oder Figur etwas sagen zu lassen. Anstelle von "1"-Schritten für die Bildnamen, benutze Schritte von "10", wenn Du die Aufnahmen machst. Lade die Aufnahme, in welche Du die Sprechblase einfügen willst, in Gimp. Zeichne einen Ballon und füge den Text ein. Speichere die Aufnahme und schliesse Gimp. Als nächstes vervielfältige die Aufnahme 9 mal, nummeriere die Kopien mit den Nummern zwischen der aktuellen und der nächsten Aufnahme. Falls Du gelernt hast mit Basic zu programmieren (in den 80gern), wirst Du Dich an diese Technik erinnern :-) Wenn Du das kodierst, werden die Frames mit der Sprechblase für eine längere Zeit gezeigt, lange genug, um den Text zu lesen. Mit der gleichen Methode kannst Du eine neue Aufnahme einfügen, wie sie es in den Stummfilmen am Anfang des 20. Jahrhunderts gemacht haben.
Bald wirst Du Dir wünschen, die vorangegange Aufnahme(n) der aktiven Aufnahme überlagern zu können ("onion skin" genannt). Damit ist es einfacher, die Lage des zu bewegenden Objekts anzugleichen, die Illusion der Bewegung wird verbessert. Das Gimp Animation-Paket sieht für diesen Zweck sehr vielversprechend aus.
Der LinuxFocus Redaktion schreiben
© Alexander Langer "some rights reserved" see linuxfocus.org/license/ http://www.LinuxFocus.org |
Autoren und Übersetzer:
|
2005-01-14, generated by lfparser_pdf version 2.51