Computeranimation Vortrag im Seminar Computergraphik Alan Akbik.

Post on 06-Apr-2016

215 views 0 download

Transcript of Computeranimation Vortrag im Seminar Computergraphik Alan Akbik.

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

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