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]