The Animation Process

Transcrição

The Animation Process
The Animation Process
Proseminar
Computer Grafik und Visualisierung
Daniel Lagler
I. Inhaltsverzeichnis
1. Einleitung
1.1 Definition...............................................................................................3
1.2 Geschichte..............................................................................................3
1.3 Animationsfilme.................................................................................... 3
2. Techniken................................................................................................... 3
2.1 Rotoskopie............................................................................................. 3
2.2 Keyframing............................................................................................ 4
2.3 Morphing............................................................................................... 4
2.4 Interpolation...........................................................................................5
2.5 Skeletal Animation................................................................................ 5
2.6 Skinning.................................................................................................6
2.7 Kinematik.............................................................................................. 6
2.6.1 Forward Kinematik.......................................................................... 6
2.6.2 Inverse Kinematik............................................................................7
2.8 Motion Capture...................................................................................... 7
2.9 Prozedurale Animation.......................................................................... 7
2.9.1 Simulation........................................................................................7
2.9.2 Partikelsysteme................................................................................ 8
2.9.3 Schwärme........................................................................................ 9
Daniel Lagler
The Animation Process
1. Einleitung
1.1 Definition
Das Wort Animation stammt von dem lat. Begriff animare, was soviel heißt wie „zum Leben
erwecken“. Unter Computeranimation versteht man ein “filmtechnisches Verfahren, unbelebten
Objekten im Trickfilm Bewegung zu verleihen”. Dabei handelt es sich somit um die Bewegung
eines Objekts, das sich nicht aus eigenem Antrieb fortbewegen kann. Anders kann man
Computeranimation auch als eine zeitliche Veränderung aller Parameter in einer Szene, die visuelle
Effekte definieren, sehen.
1.2 Geschichte
1831: Joseph Antoine Plateau u. Simon Rittrer – Phenakistoskop
1887: Hannibal Goodwin – Rollfilm auf Zelluloidbasis
1891: Thomas Edison – Kinetoskop
1914: Winsor McCay – Zeichentrickfilm mit 10.000 Bildern (“Gertie, the trained dinosaur”)
1923: Disney Brothers Cartoon Studios
Warner Brothers Pictures
1963: Ivan Sutherland – Sketchpad
1987: John Lasseter – Prinzipien der 3D Animation
1.3 Animationsfilme
1995: Toy Story [$359]
2000: Dinosaurier [$348]
2001: Shrek – Der tollkühne Held [$455]
2002: Ice Age [$387]
2003: Findet Nemo [$865]
2004: Die Unglaublichen [$624] & Robots [$246]
2005: Madagascar [$407]
2006: Ab durch die Hecke [$327]
(Gewinn in Mio. US$ aus verkauften Kinokarten)
2. Techniken
2.1 Rotoskopie
Unter Rotoskopie versteht man ein historisches Verfahren, bei dem aufgenommene Filmszenen auf
eine Mattglasscheibe projiziert wurden und daraufhin dieses Bild dann von einem Animateur
durchgepaust wurde. Dieses Verfahren wird auch heute noch teilweise eingesetzt. Heutzutage
erfolgt dies jedoch computergestützt. Das heißt die Projektion und teilweise sogar das Durchpausen
übernimmt die Computersoftware. Rotoskopie ist jetzt großteils im Bereich der Bildverarbeiterung
als Bild-Filter anzutreffen.
-3-
Daniel Lagler
The Animation Process
Abbildung 2.1.1: Rotoskopie
2.2 Keyframing
Der Begriff “key frame” stammt ursprünglich aus der Zeichentrickfilmindustrie aus den Disney
Studios. Dabei wurden die professionellen Künstler in zwei Bereiche eingeteilt. Jene, die als
Aufgabe die sogenannten “key frames”, Schlüsselbilder zu zeichnen hatten und jene, die die
Zwischenbilder (Tweenings) erstellen mussten.
Um beim Keyframing eine kontinuierliche Bewegung zu erzeugen, müssen etwa 25 Bilder pro
Sekunde (frames per second – fps) abgespielt werden.
Es sei angemerkt, dass “key frames” nicht unbedingt Bilder sein müssen, im allgemeinen versteht
man darunter eigentlich Schlüsselparameter, die in der Lage sind, eine Bewegung zu definieren.
Abbildung 2.2.1: Keyframing
Abb. 2.2.1 veranschaulicht die Situation, dass durch Interpolation der key frames auch
physikalische Gesetze, wie beispielsweise die Undurchdringbarkeit von Festkörpern, gebrochen
werden können. Deswegen muss darauf geachtet werden, dass die “key frames” gut gewählt
werden, um dieses Artefakt zu vermeiden.
2.3 Morphing
Morphing heißt aus dem engl. übersetzt so viel wie „verwandeln“. Dieses Verfahren wird dann
eingesetzt wenn sich Formen oder Objekte verformen und in andere Formen oder Objekte
übergehen. Bei diesem Verfahren ist das Hauptziel einen stetigen, glaubwürdigen Übergang zu
erzeugen. Dieser Übergang wird durch Interpolation der “key frames” erzeugt, wobei die Art der
Interpolation große Auswirkungen auf die Glaubwürdigkeit der Zwischenbilder hat und dabei je
nach Anwendung entschieden werden muss, welche Art der Interpolation zu wählen ist.
-4-
Daniel Lagler
The Animation Process
Abbildung 2.3.1: Bush – Schwarzenegger
Abbildung 2.3.2: Tier - Auto
2.4 Interpolation
Unterschiedliche Interpolationsmethoden:
●
●
●
●
Linear Interpolation
SLERP (spherical linear interpolation)
Spline-Interpolation
Bezier-Interpolation
Für jede Anwendung sollte explizit entschieden werden, welche Interpolationsmethode am
Sinnvollsten ist.
Abbildung 2.4.1: Interpolationsmethoden
2.5 Skeletal Animation
Unter “Skeletal Animation”, “Character Animation” oder auch “Animation of articulated figures”
versteht man eine Methode um Bewegungen von Lebewesen (Menschen, Tieren ...), die ein Skelett
besitzen oder einen ähnlichen Körperbau mit verknüpften Gelenken haben, relativ gut durchführen
zu können. Dabei erstellt man ein Skelett aus joints und Bones, die hierarchisch aufgebaut sind. Bei
menschenähnlichen Figuren nimmt man meist das Becken als Wurzelelement. Durch die
hierarchische Struktur müssen immer nur die relativen Bewegungen zum übergeordneten joint
angegeben werden, da der joint die Bewegungen des übergeordneten joints automatisch vornimmt.
In den “key frames” werden somit nur Informationen über Lage der einzelnen joints bezüglich des
übergeordneten Elements gespeichert.
-5-
Daniel Lagler
Abb. 2.5.1: Skelett
The Animation Process
Abbildung 2.5.2: Skeleton Animation
2.6 Skinning
“Skinning” nennt sich die Technik bei der die Vertices des eigentlichen Objekts einem Joint
zugewiesen werden, sich damit genauso bewegen wie der joint. Bei dieser Methode können jedoch
noch unschöne Fehler bei Gelenken entstehen, da sich dort beispielsweise bei menschlicher Haut
die Vertices nicht starr verhalten, sondern elastisch. Diese Elastizität kann jedoch durch Zuweisung
von Vertices zu mehreren joints und einer Gewichtung (wobei die Summe der Gewichte 1 ergibt),
vorgetäuscht werden. Nachteile daran sind jedoch, dass die Anzahl der Berechnungen steigt und das
Programm etwas schwerer zu implementieren ist.
Abbildung 2.6.1: Skelett und Skin einer Katze
Abb. 2.6.2: Skinning
2.7 Kinematik
2.7.1 Forward Kinematik
Das Verfahren der Forward Kinematik (Kinematik = Bewegungslehre) hat ihren Ursprung im
Bereich der Robotik. In diesem Bereich beschäftigte man sich schon sehr früh mit Fragen bezüglich
der Einstellungen von Gelenken, die hierarchisch aneinander gekettet sind, um bestimmte
Bewegungsabläufe zu realisieren.
Bei der Vorwärtskinematik ist das Ziel aus den angegebenen Winkeln der Gelenke, die absoluten
Positionen im Raum zu errechnen. Mit ein bisschen Verständnis im Bereich der linearen Algebra
-6-
Daniel Lagler
The Animation Process
sieht man schnell, dass sich das durch eine Multiplikation der einzelnen Transformationsmatrizen
der einzelnen Gelenke sehr einfach berechnen lässt.
2.7.2 Inverse Kinematik
Schon sehr früh hat man gemerkt, dass sich Bewegungen durch Angabe der Winkel jedoch oft nicht
einfach erstellen lassen. Ein Beispiel dafür wäre ein Roboter, der ein Glas “greifen” soll. Wie weiß
man allerdings wie man die einzelnen Gelenke stellen muss, damit der Roboter das Glas in den
“Greifern” hält. Deshalb versuchte man den Prozess der Forward Kinematik umzukehren. Es sollte
somit möglich sein, die Positionen der sogenannten Endeffektoren zu spezifizieren und daraus die
einzelnen Gelenkstellungen errechnen zu können. Dies führte jedoch zu vielen Problemen. Das
erste Problem besteht darin, dass es nicht immer eine Lösung geben muss, denn es sind nicht alle
Positionen im Raum über Gelenkstellungen erreichbar. Ein weiteres Problem kann entstehen, wenn
es mehrere Lösungen gibt. Es kann vorkommen, dass es sogar unendlich viele Gelenkstellungen
gibt, um den Endeffektor an eine bestimmte Stelle zu bringen. Welche dieser Lösungen ist nun
vorzuziehen? Dieses Problem kann durch zusätzliche Bedingungen zur “natürlichsten”
Gelenkstellung etwas eingeschränkt werden, oder aber auch durch simple Einschränkung der
Freiheitsgrade. Für die Problemstellungen in der Inversen Kinematik werden anspruchsvolle
Methoden der Mathematik benötigt, die über den Rahmen dieses Proseminars hinausgehen würden.
2.8 Motion Capture
Unter “Motion Capture” versteht man die Erfassung von menschlichen Bewegungen in einem für
den Computer verständlichen Format. Dabei tragen die Akteure meist einen Spezialanzug, der je
nach Art des verwendeten Motion Capture Systems anders funktioniert. Dabei gibt es eine Reihe
unterschiedlicher Verfahren. Es gibt optische, mit Hilfe von pulsierenden LEDs oder Reflektoren,
magnetische, mechanische und akustische Systeme. Ziel dabei ist es, Bewegungen möglichst genau
aufzuzeichnen und dann auf computeranimierte Figuren zu übertragen, damit diese äußerst
realistische Bewegungen ausführen.
Abbildung 2.8.1: Motion Capture – mechanisch
Abb. 2.8.2: Motion Capture - optisch
2.9 Prozedurale Animation
“Prozedurale Animation” bezeichnet Bewegtbildsequenzen, die mittels Software erzeugt werden,
bei denen alle oder ein Großteil der Bewegtbildsequenzen errechnet werden.
2.9.1 Simulation
In der “Simulation” erstellt man Computermodelle, mit denen die Bewegung eines Objekts oder
-7-
Daniel Lagler
The Animation Process
Struktur basierend auf den physikalischen Gesetzen simuliert wird. Dabei ist meistens das Ziel
durch Experimente an einem Modell, Erkenntnisse über ein reales System zu gewinnen. Die
Simulation weist vielfältige Anwendungsmöglichkeiten auf wie zum Beispiel Flugsimulationen,
Crashsimulationen, medizinische Simulationen, meteorologische Simulationen und
wissenschaftliche Simulationen.
Abb. 2.9.1: geologische Sim.
Abb. 2.9.2: Strömungssimulation
2.9.2 Partikelsysteme
Partikelsysteme wurden erstmals von Reeves in dem Film Star Trek II – Der Zorn des Khan
(Genesis-Effekt) eingeführt. Dabei handelt es sich um Ansammlungen von einfachen
Grafikobjekten (Partikeln), welche zusammen ein großes Objekt bilden. Sie können zur Darstellung
von natürlichen Phänomenen, deren Form nicht eindeutig definierbar ist, verwendet werden.
Beispiele dafür wären Wasser, Rauch, Textilien, Gräser, Feuer, Schnee oder Bäume.
Es gibt im wesentlichen zwei unterschiedliche Arten von Partikelsystemen:
● Stochastische Partikelsysteme
Feuer, Nebel, Rauch
● Strukturierte Partikelsysteme
Graslandschaften, Wälder
Die einzelnen Partikel werden im Normalfall von einem Emitter kontrolliert. Partikel werden
geboren und sterben, dies kann auch wieder durch unterschiedliche Bedingungen erfolgen, zeitoder ortsabhängig.
Ein Standard-Partikel hat beispielsweise folgende Eigenschaften:
● Position
● Geschwindigkeit und Richtung
● Größe
● Farbe
● Transparenz
● Form/Aussehen
● Lebensdauer
-8-
Daniel Lagler
The Animation Process
Abbildung 2.9.3: Partikelsystem – Feuer
Abbildung 2.9.4: Partikelsystem - Galaxis
2.9.3 Schwärme
Schwärme haben sehr ähnliches Verhalten wie Partikelsysteme. Sie haben jedoch keine begrenzte
Lebensdauer. Bei ihnen ist nicht nur der Gesamteindruck, sondern auch der dynamische Eindruck
maßgebend. Die Akteure darin sind komplexer als Partikel. Beispiele dafür wären ein Schwarm
Vögel (Aktionen: Flügel schlagen, Geräusche) oder Fische (Aktionen: Flossen bewegen). 1987 hat
Craig Reynolds das Schwarmverhalten im Film Stanley and Stella – breaking the ice näher
spezifiziert. Das Schwarmverhalten kann seiner Meinung nach durch folgende drei grundlegende
Aktionen beschrieben werden:
● Kollisionsvermeidung
● Geschwindigkeitsanpassung
● Schwarmzentrierung
Abbildung 2.9.4: Schwärme – Fische
Abbildung 2.9.5: Schwärme - Vögel
-9-
II. Abbildungsverzeichnis
Titelbild
Quelle: http://www.cs.berkeley.edu/b-cam/Papers/Arikan-2003-MSA/pictures/fig1.jpg [2. Juli 2007]
Abbildung 2.1.1: Rotoskopie
Quelle: http://www.nature.com/nature/journal/v441/n7096/images/441922a-i1.0.jpg [30. Juni 2007]
Abbildung 2.2.1: Keyframing
Quelle: www.icg.tu-graz.ac.at/courses/cgcv/Slides/cg2-13-computer_animation.pdf [30. Juni 2007]
Abbildung 2.3.1: Bush – Schwarzenegger
Quelle: http://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Bush-Arnie-morph.jpg/300pxBush-Arnie-morph.jpg [1. Juli 2007]
Abbildung 2.3.2: Tier – Auto
Quelle: http://www.nissan.de [29. Juni 2007]
Abbildung 2.4.1: Interpolationsmethoden
Quelle: http://de.wikipedia.org/wiki/Interpolation [1. Juli 2007]
Abbildung 2.5.1: Skelett
Quelle: http://www.webreference.com/3d/lesson96/96-2.gif [30. Juni 2007]
Abbildung 2.5.2: Skeleton Animation
Quelle: http://www.mpi-inf.mpg.de/~edeaguia/images/img_master03.jpg [1. Juli 2007]
Abbildung 2.6.1: Skelett und Skin einer Katze
Quelle: http://www.robertpeake.com/uploads/cat-1.jpg [1. Juli 2007]
Abbildung 2.6.2: Skinning
Quelle: http://www.robertpeake.com/uploads/cat-2.jpg [30. Juni 2007]
Abbildung 2.8.1: Motion Capture – mechanisch
Quelle: http://www.inition.com/inition/images/product_mocaptrack_animazoo_gypsy5_2.jpg
[30. Juni 2007]
Abbildung 2.8.2: Motion Capture – optisch
Quelle: http://www.rdc.imi.i.u-tokyo.ac.jp/robotbrain/img/movies/bcs_2.jpg [1. Juli 2007]
Abbildung 2.9.1: geologische Simulation
Quelle: http://www.uni-muenster.de/Physik/DEK/FB-Brosch/GEO2.jpg [1. Juli 2007]
Abbildung 2.9.2: Strömungssimulation
Quelle: http://wwwcg.in.tum.de/Research/Projects/Windtunnel/justpoints.png [1. Juli 2007]
Abbildung 2.9.3: Partikelsystem – Feuer
Quelle: http://content.answers.com/main/content/wp/en/thumb/0/06/180px-Particle_sys_fire.jpg
[29. Juni 2007]
Abbildung 2.9.4: Partikelsystem – Galaxis
Quelle: http://content.answers.com/main/content/wp/en/thumb/0/06/180px-Particle_sys_stars.jpg
[1. Juli 2007]
Abbildung 2.9.4: Schwärme – Fische
Quelle: http://www.ip-atlas.com/pub/nap/image/cr-boid1.gif [1. Juli 2007]
Abbildung 2.9.5: Schwärme – Vögel
Quelle: http://aiplanet.sourceforge.net/screenshots/v0.61/flocking-boyd1.JPG [1. Juli 2007]
III. Literaturverzeichnis
[1] Bender, Michael; Brill, Manfred: Computergrafik – Ein
anwendungsorientiertes Lehrbuch, München 2006
[2] URL: www.cc.gatech.edu/gvu/animation/papers/ency.pdf
[1. Juli 2007]
[3] URL: www.inf.tudresden.de/cg/lectures/WS0203/secure/animation.pdf [1. Juli 2007]
[4] URL: www.fh-kl.de/~brill/cav/Downloads/cav_animation.pdf
[1. Juli 2007]
[5] URL: www.fh-kl.de/~brill/cav/Downloads/cav_vrml.pdf
[30. Juni 2007]
[6] URL: www-gs.informatik.tu-cottbus.de/~wwwgs/cg2_v14a.pdf
[30. Juni 2007]
[7] URL: content.grin.com/data/8/29124.pdf [1. Juli 2007]
[8] URL: www.eecs.berkeley.edu/~job/Papers/hodgins-2000-CA.pdf
[1. Juli 2007]
[9] URL: www.mysticgd.com/misc/AdvancedParticleSystems.pdf
[1. Juli 2007]
[10] URL: www.2ld.de/gdc2004/MegaParticlesPaper.pdf [30. Juni 2007]
[11] URL: de.wikipedia.org/wiki/Animation [1. Juli 2007]
[12] URL: www.cc.gatech.edu/classes/cs8113a_98_spring/kinematics.pdf
[1. Juli 2007]
[13] URL: www-clmc.usc.edu/~adsouza/papers/dsouza-IROS2001.pdf
[1. Juli 2007]
[14] URL: people.csail.mit.edu/jovan/assets/papers/sumner-2005-mik.pdf
[1. Juli 2007]
[15] URL: fivedots.coe.psu.ac.th/~ad/jg/ch12/chap12.pdf [1. Juli 2007]
[16] URL: www.cc.gatech.edu/classes/cs8113a_98_spring/keyframing.pdf
[30. Juni 2007]