Upload
viktoria-kolbe
View
214
Download
0
Embed Size (px)
Citation preview
ComputeranimationVortrag im SeminarComputergraphik
Alan Akbik
Zielsetzung Was ist Animation? Ein kurzer Einblick in
ihre Entdeckung Überblick über die verschiedenen Arten
der Computeranimation und Begriffsklärung
Ein Beispiel zur Partikelanimation Methoden zur Umsetzung von
Hierarchischer Bewegung
Struktur des Vortrags Zielsetzung/Motivation Entdeckung der Animation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen /
Hierarchische Bewegung Verhaltensgesteuerte Animation
Entdeckung der Animation (1)
1820: Peter Mark Roget veröffentlicht seinen Bericht ‚The Persistance of Vision with Regard to Moving Objects‘
Er stellt fest, dass das menschliche Auge ein Bild etwa 1/16 einer Sekunde lang in der Retina behält, auch wenn dieses Bild schon verschwunden ist
Gezeigt durch das Thaumatrope, 1824 erfunden von John A. Paris
Thaumatrope
Entdeckung der Animation (2)
Mit sehr schnell aufeinanderfolgenden, sich leicht verändernden Bildern kann der Eindruck von Bewegung gewonnen werden
1832: Phenakistoscope (Joseph Plateau) 1834: Zeotrope (William George
Horner)
Entdeckung der Animation (3)
1919 Max Fleischer - ‚Feline Follies‘
Pixar - Luxo Jr. Erster gerenderter Film - 1986
Struktur des Vortrags Zielsetzung/Motivation Entdeckung der Animation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen /
Hierarchische Bewegung Verhaltensgesteuerte Animation
Starrkörperanimation
Im Englischen: Rigid Body Animation Begriffsklärung Interpolation/Keyframing Explizites Skripten
Umfasst Translation und Rotation
Grundlegendste Art der Animation
Interpolation/Keyframing
Einige Schlüsselframes werden angegeben, der Computer soll die dazwischenliegenden Frames interpolieren
Lineare Interpolation oft nicht ausreichend
Alternativen zur linearen Interpolation
B-Splines
http://www.public.asu.edu/~ambar/cagd/bspline/
http://www.cs.technion.ac.il/~cs234325/Homepage/Applets/applets/bspline/GermanApplet.html
Explizites Skripten
Struktur des Vortrags Zielsetzung/Motivation Entdeckung der Animation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen /
Hierarchische Bewegung Verhaltensgesteuerte Animation
Physikalische Simulation Idee: Nutze Gesetze der Physik um
realistische Bewegungen zu erzeugen Auf Objekte wirken zB Schwerkraft,
Beschleunigung, Luftwiderstand Der Animator gibt für Objekte Masse,
Startgeschwindigkeit, -beschleunigung, -richtung an
Der Computer simuliert und animiert die daraus folgende Bewegung
Probleme Kontrolle nur über die Startwerte der
Objekte Komplexe Systeme sehr schwer zu
modellieren Problem der Inversen Dynamik
Struktur des Vortrags Zielsetzung/Motivation Entdeckung der Animation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen /
Hierarchische Bewegung Verhaltensgesteuerte Animation
Partikelanimation Wird benutzt zum Erstellen von Effekten
wie Explosionen Feuer Nebel Wasser(dampf) Sternenfenster
Was ist ein Partikel? Eine sehr kleine Primitive (e.g. ein
Wassertropfen, ein Sandkorn, ein Funken...)
Teil einer großen Menge von Partikeln Entlang eines vorgegebenen Skriptes
randomisierte Bewegung (Ausrichtung, Lebensdauer u.s.w...)
Attribute eines Partikels Startposition Startrichtung und Startgeschwindigkeit Transparenz Form Lebensdauer
Durchzuführende Schritte pro Frame
Partikel deren Lebensdauer abgelaufen ist werden entfernt
Neue Partikel werden generiert Den neuen Partikeln werden individuelle
(randomisierte) Werte gegeben Partikel werden bewegt (andere Werte wie
Farbe oder Transparenz gegebenenfalls geändert)
Partikel werden gerendert
Beispielprogramm In der Präsenation wurde an dieser Stelle
das Programm „Fireworks“ gezeigt. Im Netz zu finden unter www.sulaco.co.za/opengl2.htm
Auf den folgenden Seiten ein Blick auf den Quelltext des Programms
TypdefinitionconstEXPLOSION_SIZE = 0.8;
type TParticle = Record X, Y, Z : glFloat; dX, dY, dZ : glFloat; R, G, B : glFloat; end; TFirework = Record
Particle : Array[0..127] of TParticle; Trail : Array[0..15] of TParticle; StartTime : Integer; Duration : Integer; Style : Integer; X, Y : glFloat;
dX, dY : glFloat; end;
Procedure SetupFirework// exploding particles for I :=0 to 127 do with Firework[N].Particle[I] do begin if Firework[N].Style < 2 then R := (random/6 +0.4)/10*EXPLOSION_SIZE else R := (random/10 -0.05)*EXPLOSION_SIZE; dX :=R*cos(I/10); dY :=R*sin(I/10); dZ :=R*cos(I/4); X :=dX; Y :=dY; Z :=dZ; if Clr = 0 then R :=random/3 + 0.7 else R :=random/3 + 0.4 if Clr = 1 then G :=random/3 + 0.7 else G :=random/3 + 0.4; if Clr = 2 then B :=random/3 + 0.7 else B :=random/3 + 0.4; end;
Struktur des Vortrags Zielsetzung/Motivation Entdeckung der Animation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen /
Hierarchische Bewegung Verhaltensgesteuerte Animation
Zusammengesetzte Strukturen / Hierarchische Bewegung
Begriffsklärung: Articulated Structures Foward Kinematics Inverse Kinematics Motion Capturing
Articulated Structures (1) Objekte mit Gelenken Für die Animation eines solchen Objektes
muss zunächst eine skelettartige Struktur modelliert werden
Articulated Structures (2)
Eine Gelenkhierarchie muss festgelegt werden
Articulated Structures (3) Für jedes Gelenk müssen Freiheitsgrade
festgelegt werden Es gibt 6 Freiheitsgrade: Bewegung entlang der X-Achse, Y-Achse,
Z-Achse Roll: Rotation um X-Achse Pitch: Rotation um Y-Achse Yaw: Rotation um Z-Achse
Forward Kinematics (1)
Forward Kinematics (2)
Forward Kinematics (3)
Hierarchische Bewegung Forward Kinematics ist mit viel Aufwand
verbunden
Idee: Keyframing für Articulated Structures
Inverse Kinematics (1) Man gibt Keyframes des Objektes an Computer interpoliert dazwischenliegende
Frames Interpolation bleibt dem Skelettbau und den
Freiheitsgraden der Gelenke treu
Inverse Kinematics (2)
Inverse Kinematics (3) Selbst bei Strukturen mit wenigen Gelenken gibt
es oft verschiedene Wege einen Zielpunkt zu erreichen
Inverse Kinematics (4)
Kürzester Weg soll animiert werden Oftmals viele gleichwertige Lösungen Anzahl der Lösungen steigt exponential
mit höherer Anzahl an Gelenken
Inverse Kinematics (5) Vorteile: Schlüsselframes genügen zum erzeugen
einer animierten articulated Structure -> stark reduzierter Aufwand
Nachteile: Bei komplexen Strukturen (viele Gelenke)
Berechnung sehr aufwendig Entzieht künstlerische Freiheit
Motion Capturing (1) Einem Menschen (oder anderem Objekt
mit Skelettstruktur) werden an für die benötigte Bewegung wichtigen Stellen Sensoren angebracht
Der Mensch läuft diese Bewegung durch, während die Positionswerte der Sensoren aufgezeichnet werden
Auf dieser Basis lassen sich natürliche Bewegungen im Computer rekonsturieren
Motion Capturing (2) Beispiel eines real-time Motion Capturings
Man bemerke: Finger und Füße bleiben immer starr ausgerichtet
Motion Capturing (3) Vorteile: Menschliche Bewegungen mit
vergleichsweise niedrigem Aufwand in hoher Qualtät
Nachteile: Nur vorgefertigte Sequenzen
Struktur des Vortrags Zielsetzung/Motivation Entdeckung der Animation Starrkörperanimation Physikalische Simulation Partikelanimation Zusammengesetzte Strukturen /
Hierarchische Bewegung Verhaltensgesteuerte Animation
Verhaltensgesteuerte Animation
Animierte Figuren bewegen sich entsprechend ihres festgelegten Verhaltenskodex‘
Sind nur über diesen zu steuern, ähneln also Agenten
Nützlich für Computerspiele Nützlich zB für die Animation von
Tierherden (König der Löwen)
Fragen