lf347, Graphics: Einfache Animation

Transcription

lf347, Graphics: Einfache Animation
LinuxFocus article number 347
http://linuxfocus.org
Einfache Animation
Abstract:
by Alexander Langer
<lf(at)kuxi.de>
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.
About the author:
Seit 1993 benutze ich Linux.
Auf Grund meiner
Amigaerfahrung schätze ich In diesem Artikel werden wir keinen vollständigen Film entwerfen. An
den Zugang zum Sourcecode, einem einfachen Beispiel werden wir die wesentlichen Techniken lernen.
Gerade genug, um mit eurem eigenen Film anzufangen ;−).
im allgemeinen und um
herauszufinden, wie andere
Hinweis: Das Bild rechts und der kleine Punkt oben sind animiert. Du musst gif− Animation aktivieren,
ihre Programme bauen.
um sie in Deinem Browser zu sehen.
_________________ _________________ _________________
Übersicht
Animationen zu erzeugen ist ein Prozess in drei Schritten: Als erstes überlegst Du Dir, was Du erreichen
willst. Das könnte so einfach sein , wie die Kinder zu bitten, ein Spielzeugauto und einige Figuren zu
Verfügung zu stellen, um einfach einen Film über einen Autounfall zu machen. Oder Du benutzt ,wie die
Professionalen, ein Storyboard mit ausführlichen Plänen und Skizzen. Eine gute Idee und eine durchgedachte
Geschichte sind in der Regel wichtiger, als hochwertige oder teure Ausrüstung.
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.
1/5
Notwendige Hard− und Software
Die Aufnahmen können von verschiedenen Quellen stammen:
• Webcam
• Digitale Kamera
• Scanner
• für Animation im Monty−Python−Stil aus dem Web
• oder einfach Handzeichnungen mit einem Zeichenprogramm produziert
Falls Du Bilder von externen Quellen beziehen willst (eine der ersten drei in der Liste oben), vermute ich, Du
hast die notwendige Software, um das durchzuführen. Ausserdem benötigst Du das Programm mencoder von
mplayer (www.mplayerhq.hu) um den Film zu produzieren. Das ist eine leistungsfähige Software, die
wahrscheinlich schon auf Deinem Computer installiert ist; mit mplayer hast Du auch ein Programm, um den
Film anzuschauen.
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.
Eine erste Animation
Besitzt Du eine Webcam oder eine Digitalkamera, stelle sie auf den Tisch und ordne einen Gegenstand davor
an. Das kann ein Apfel, ein Glass oder einfach Deine Hand sein. Meine Kinder hatten Spasss mit einem
Playmobil und einigen Figuren, damit wurde der oben erwähnte Autounfall−Film erzeugt. Mache eine Serie
von Bildern, verschiebe den Gegenstand zwischen den Aufnahmen. 10 bis 20 Bilder sind genug für Deinen
ersten Film.
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:
1. Führe den Mauszeiger nahe an den existierenden Punkt. Falls die Punkte von Frame zu Frame im
gleichen Abstand sind, wird die Bewegung linear erscheinen. Um den springenden Ball realistischer
erscheinen zu lassen, verringert man die Punktabstände am oberen Teil seiner Wurfbahn.
2. CTRL−z drücken, um den gegenwärtigen Punkt zu beseitigen (CTRL−z ist 'rückgängig machen').
3. Klicken, um einen neuen Punkt an der neuen Stelle zu erzeugen.
4. Rechtsklicken zur Auswahl von File > SaveAs und als 0002.jpeg speichern, usw.
Tipp: lasse das "File"−Menu offen durch Auswahl der gestrichelten Linie des "File"−Menüs. Das
Filemenü bleibt dauernd auf dem Desktop geöffnet, und es ist einfacher "Save As..." zu klicken.
Du solltest nun Folgendes sehen:
2/5
Nun kreieren wir den Film:
$ mencoder 'mf://*.jpg' −mf type=jpg:fps=4 −ovc copy −oac copy −o output.avi
Der 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.avi
Mit 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 *.jpg
Das 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.
Monty−Python−Stil
Für Animationen im Monty−Python−Stil benutze das Foto eines Gesichts. Hast Du keins, finde eines im Web.
Es sollte das Gesicht in Frontalansicht mit gut sichtbarem Kinn zeigen. Lade es in Gimp und klicke auf das
Lasso−Tool. Wähle das Kinn und die untere Lippe aus, Du erhältst eine mehr oder weniger rechteckige
Auswahl, die der Form des Kinns an der unteren Seite des Auswahlfeldes folgt. Drücke CTRL−c um die
Auswahl zu kopieren. Mit CTRL−y entfernst Du die Auswahl. Die Zwischenablage enthält jetzt ein Kinn, das
Du auf und ab bewegen kannst. Um eine bessere Illusion zu erzeugen, zeichne den Mund schwarz indem Du
die Unterlippe und den Bereich darunter schwarz übermalst.
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.gif
3/5
Die "−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
Zeitrafferfilme
Zeitrafferanimationen sind einfach herzustellen und können sehr vielfältig sein. Ausserdem brauchst Du Dich
um keinen Skript oder um ein Filmstory zu kümmern. Du musst nur Deinen Computer für Bildaufnahme in
regelmässigen Zeitabständen einrichten. Kannst Du eine video4linux (v4l) −kompatible Kamera benutzen,
versuche vgrabbj (gecius.de/vgrabbj/). Das Programm kann alle x Sekunden Aufnahmen machen und diese als
Dateien speichern.
Mit automatischen Aufnahmen kannst Du Dir den Luxus einer hohen Bildfolge erlauben, vorausgesetzt, Dein
verfügbarer Speicherplatz erlaubt das.
Was könnten wir filmen?
• Wandernde Wolken an einem windigen Tag
• Kresse aus Samen wachsen lassen. Kresse wächst auf einem nassen Papiertuch innerhalb von wenigen
Tagen, wenn Du die Samen feucht hältst. Eine Lampe ist ebenfalls notwendig, um die Szene während
einiger Tage zu erhellen, und Du willst auch während der Nacht aufnehmen.
• Eine Blume, die ihre Blüte am Morgen öffnet.
• Ein Schiff, das den Hafen verlässt oder vorbeifahrende Autos. Achte darauf, dass Du auch ein gutes
Stück des Himmels einfängst. Für gute Zeitraffer eignen sich Sonnenuntergang, eine Strassenszene,
Häuser und der Himmel.
Folgendes hab nicht selber ausprobiert, aber wenn Du gerade ein Neugeborenes hast, könntest Du während
aller paar Monate seines Lebensfortschritts ein Foto machen. Einverstanden, es braucht ziemlich lange, bis Du
ein paar Aufnahmen hast, das Ergebnis sollte begeistern. Ich würde dafür echte Fotos nehmen und diese
scannen, die Fotos halten viele Jahre, im Vergleich zu Dateiformaten, Speicherverlusten und anderen
Problemen.
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.
4/5
Weitere Ideen
Finde heraus, wie Du Deine Animation vertonen kannst. Selbst wenn Du mit den Füssen einen Takt klopfst,
kreischst, klickst usw. − das macht die Animation lebendiger.
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.
Weiterer Lesestoff
• Wikipediaeintrag über Animation (en.wikipedia.org/wiki/Animation) Mit vielen Links am Ende der
Seite.
• The Aardman Book of 3D−Animation (Ein echtes Buch !) ISBN 0500018812 or ISBN 0810919966
• Gimp Animation Tutorial (jimmac.musichall.cz/tutor.php3) Eine gute Anleitung um eine Animation
ausschliesslich in Gimp herzustellen.
• Gimp Tutorial(www.gimp.org/tutorials/) Nützlich, um mehr über Gimp zu lernen.
• Gimp Animation Package (www.gnomedesktop.org/article.php?sid=1623) Ich könnte keine wirkliche
Homepage für GAP finden.
• Hier ist die AVI−Datei, die wir für diesen Artikel zum Herunterladen verfügbar gemacht haben:
output.avi
• Brickfilms (www.brickfilms.com) widmet sich der Stop−Motion−Animation mittels Legosteinen und
Figuren.
Webpages maintained by the LinuxFocus Editor team
© Alexander Langer
"some rights reserved" see linuxfocus.org/license/
http://www.LinuxFocus.org
2005−01−11, generated by lfparser_pdf version 2.51
5/5
Translation information:
en −−> −− : Alexander Langer <lf(at)kuxi.de>
en −−> de: Jürgen Pohl <sept.sapins(at)verizon.net>

Documents pareils