next up previous contents
Next: 9. Interaktionen Up: 8. Der Medientyp Animation Previous: 8.3 Das Storyboard

Unterabschnitte

8.4 Die Computeranimation

Die Computeranimation kann unter verschiedenen Aspekten betrachtet und in Bereiche unterteilt werden. So unterscheidet [FvDH90] zwischen Bewegungs- und Zustandsanimation. [IW94] bezeichnet Computeranimation als ,,rechnergestützte Generierung einer Sequenz von Bildern, von denen jedes folgende eine leichte Veränderung des vorherigen ist``. Die Animationstechniken unterscheiden sich auch aufgrund der verschiedenen Computergrafikformate. In der 2D-Technik werden Grafiken meist in Pixmaps angelegt. Die 3D-Technik arbeitet nur mit Vektorgrafiken. In den folgenden Kapiteln werden Pixmap-Animation und Morphing im 2D beschrieben. Anschliessend wird die Modellierung von 3D-Welten und die Computerunterstützte Animation dargestellt[LE89]. Die Anwendungsgebiete der Computeranimation sind z.B. Spiele, Präsentationen und Simulationen. Die Begriffe Animation und Simulation werden oft nicht sauber getrennt. Die Simulation ist allgemein eine Nachbildung von Objektverhalten unter bestimmten physikalischen Gesetzen. Die Animation zeigt die wahrnehmbaren Veränderungen der Objekte in einer bestimmten Zeitspanne. Simulationen können allerdings vollkommen ohne Visualisierung stattfinden und bieten nur ein Endergebnis, gehören damit also nicht zur Animation.

8.4.1 2D-Technik

8.4.1.1 Pixelgrafik

Pixmaps werden mit einem Malprogramm erstellt. Zudem besteht die Möglichkeit eine Vorlage einzuscannen und im Computer weiterzuverarbeiten. Malprogramme bieten Funktionen zum Erzeugen und Manipulieren von Bildern. Veschiedene Elemente wie Kreise, Rechtecke, etc. können in das Bild eingefügt werden. Bildausschnitte können z.B. vergrößert, gelöscht oder verfärbt werden. Spezielle Programme zum Bearbeiten von Fotos bieten zudem Funktionen, wie Kontrast- und Helligkeitsänderungen oder Farbfilter an. Die 2D-Grafiktechnik des Computers ähnelt in vielen Bereichen dem Zeichentrick. Die Trennung von bewegten Figuren und (mehrere) Hintergründen ist genauso wie in der analogen Folientechnik möglich. Diese Technik wird beispielsweise in Spielen eingesetzt. Animierte Pixmaps(Sprites) werden über einen starren Hintergrund bewegt. Verfahren, die Computeranimationsprogramme anbieten, um die Erstellung eines Films zu erleichtern, werden in Kapitel 8.4.3 vorgestellt.

8.4.1.2 2D-Morphing

Ein Beispiel für die einfache Erstellung einer Animation mit Hilfe des Computers ist das Morphing. Beim Morphing wird gleichzeitig die Form und die Farbe eines Bildes verändert. Ziel ist es, einen fließenden Übergang zwischen zwei Pixmaps zu erzeugen. Dabei muß der Benutzer markante Punkte in Anfang- und Endbild bestimmen. Zum Beispiel werden bei Porträtfotos Augen, Mundwinkel, Nase, etc. markiert. Die Punkte werden durch ein Netz verbunden, welches die Pixmaps in Bildbereiche ein. Wie in Abb.8.5 zu sehen ist, befinden sich die Punkte in beiden Bildern an verschiedenen Positionen. Z.B. ist die Nase der Katze im Bild höher angesetzt als die Nase der Frau.
  
Abbildung 8.5: Erstellung eines Morphings
\begin{figure}
\centerline{\epsffile{./zeichnungen/morph2.mk.ps}}
\end{figure}

Um eine Veränderung der Gesichtform zu erzielen, werden die Punkte von der Anfangsposition in die Endposition verschoben. Dadurch verändert sich allerdings auch das Netz. Der Computer skaliert die Bildbereiche auf die neue Form, wie in Abb.8.5 unten zu sehen ist. Die Pixel der Zwischenbilder werden aus den Farben des Anfangs- und Endbilds gemischt. Dabei nimmt der prozentuale Anteil des Endbildes zu. In dem Beispiel aus Abb.8.5 sind die Prozentanteile der Farben unter die Zwischenbilder gesetzt.
  
Abbildung 8.6: Bilder einer Morphsequenz
\begin{figure}
\centerline{\epsffile{./zeichnungen/morph.mk.ps}}
\end{figure}

8.4.1.3 Vektorgrafik

Bei der Erzeugung von Computergrafik kann zwischen dem direkten und indirekten Modus unterschieden werden[FvDF +94]. Grafiksysteme, die Bilder im direkten Modus erzeugen (z.B. Malprogamme) können zwar vordefinierte Formen wie Rechtecke, Kreise oder Polygone in die Pixmap einfügen, der Benutzer kann jedoch nicht eine schon gezeichnete Form auswählen und verändern. Das Programm fügt die Formen direkt in die Grafik ein, ohne die Formen separat abzuspeichern. Manipulationen können auf Pixelebene vorgenommen werden. Eine Pixelmenge, häufig ein rechteckiger Bildausschnitt, kann ausgewählt und beispielsweise in Farbe und Größe verändert werden. Zeichenprogramme arbeiten im indirekten Modus. Der Benutzer kann im Gegensatz zum Malprogramm hier jederzeit die zuvor plazierten Formen auswählen und editieren. Je nach Anwendung heißen die vordefinierten Formen auch Symbole, Schablonen oder Objekte. Die Objekte werden vom Grafiksystem mit den zugehörigen Attributen, wie Größe und Position, gespeichert. Dies ermöglicht die spätere Editierung der Objekte. Die Grafikobjekte werden in der Regel aus Linienzügen zusammengesetzt und im Grafiksystem als Vektoren abgespeichert, welche die einzelnen Linien repräsentieren. Wird ein Objekt vom Benutzer verändert, erzeugt das Zeichenprogramm automatisch eine aktualisierte Grafik. Die Benutzung von Vektorgrafiken hat in der Animation Vorteile. Da die Attribute eines Grafikobjektes bei der Vektorgrafik mit abgespeichert werden, können alle Attribute auch animiert werden. So ist der Anwender nicht mehr auf die Animation von Pixelposition und -farbe beschränkt, sondern er kann Objekte auch in Größe, Position, Farbe und Form animieren. Bei der Erstellung von Simulationen können neben den oben aufgeführten geometrischen Attributen noch Eigenschaften wie Gewicht, Temperatur, etc. den Objekten zugewiesen werden. Komplexe Vorgänge werden durch die zeitliche Veränderung dieser Eigenschaften simuliert und können als Animation dargestellt werden.

8.4.2 3D-Technik

Den Arbeitsablauf einer Animationserstellung im 3D-Raum kann in vier Bereiche gegliedert werden[ME94], die im folgenden genauer erläutert werden:
1.
Im Modeller legt der Benutzer Form, Größe und Position der Objekte im dreidimensionalen Raum fest.
2.
Der Shader definiert Oberflächenstrukturen für Objekte mit optischen Eigenschaften wie Transparenz- und Reflexionsverhalten. Die einzelnen Objekte werden zu einer Szene zusammengefaßt. Außerdem werden Lichtquellen und Kamera positioniert.
3.
Der Renderer berechnet(rendert) aus den Daten des Modellers und Shaders eine Grafik. Je nach verwendeten Renderverfahren werden Schattenwurf der Objekte, und Reflexion und Transparenz der Oberflächen berücksichtigt.
4.
Im Animationsmodul kann der Benutzer Bewegungen und Zustandsänderungen der Objekte, der Kamera und der Lichter festlegen. Spezielle Funktionen von Animationsprogrammen werden im Kapitel 8.4.3 beschrieben.

8.4.2.1 Die Konstruktion im Modeller

Modeller ermöglichen dem Benutzer die Eingabe von Grafikobjekten und deren Plazierung im dreidimensionalen Raum[FvDF +94,ME94]. Für die interne Verarbeitung und Darstellung der Körper im Modeller gibt es zwei vorherrschende Verfahren. 3D-Konstruktionsprogramme werden deshalb generell in zwei Arten unterschieden: Der Polygonmodeller setzt Objekte aus einer Vielzahl kleiner Flächen(Polygone) zusammen. Polygone sind im Computer leicht zu verarbeiten. Die Speicherung und Berechnung einer Grafik aus Polygondaten ist sehr effizient. Allerdings fehlen oft die nötigen Details. Runde Formen wie bei Kugeln werden nur näherungsweise dargestellt. Deshalb können diese Körper nicht beliebig vergrößert und verformt werden. Der Splinemodeller beschreibt Kurven und Körper anhand von Formeln. Splines berechnen Kurven aus zwei Endpunkten und zwei Kontrollpunkten, die die Stärke der Auslenkung eines Kurvenabschnitts bestimmen (siehe Abb.8.7). Veränderungen können ohne Qualitätsverlust erfolgen. Außerdem lassen sich Oberflächenstrukturen(Texturen) leicht anpassen. Ein Nachteil ist der längere Aufbau einer Ansicht und Schwächen bei der Durchführung boolscher Mengenoperationen.
  
Abbildung 8.7: Spline mit zwei Endpunkten und zwei Kontrollpunkten.
\begin{figure}
\centerline{\epsffile{./zeichnungen/spline.mk.ps}}
\end{figure}

Abb.8.8 zeigt das Arbeitsfenster eines 3D-Konstruktionsprogramms. Das größte Problem bei der Konstruktion im 3D ist das Arbeiten an einem 2D-Bildschirm. Um Positionierung und Auswahl der 3D-Grafikobjekte am Bildschirm zu ermöglichen, bietet der Modeller verschiedene Ansichten des 3D-Raums an. Die Ansichten sind die X-, Y- und Z-Ebene des 3D-Koordinatensystems. Hinzu kann der Benutzer i.a. noch eine frei definierbare vierte Ansicht wählen. Die Positionierung eines Punktes muß durch Angabe in mindestens zwei Ebenen stattfinden. Natürlich steht einem die numerische Positionsbeschreibung als Alternative zur Verfügung und erweist sich oft als schneller und genauer. In jedem Fall ist ein gutes dreidimensionales Denken von Vorteil, das sich jedoch auch nach einer gewissen Einarbeitungszeit am Bildschirm entwickelt.
  
Abbildung 8.8: Ansichten eines 3D-Modeller
\begin{figure}
\epsfxsize=\textwidth
\centerline{\epsffile{./zeichnungen/ansicht.mk.ps}}
\end{figure}

Um im Modeller ein 3D-Grafikobjekt zu erzeugen gibt es verschiedene Ansätze. Im folgenden werden die wichtigsten Methoden vorgestellt:

8.4.2.2 Der Shader

Das Shading bestimmt die Beleuchtung, Oberflächengestaltung, Kameraposition und die Schattierungsqualität.

8.4.2.2.1 Beleuchtung und Kamera

Der Benutzer kann im Shader zwischen drei Lichtquellen wählen [FvDF +94]: Zu der Modellierung von Lichtquellen gehört die Definition der Position, Form (beispielsweise Punkt, Fläche und Kugel), der Intensität, mit der die Lichtquelle strahlt, und dessen Farbe. Für die Kamera kann der Benutzer dessen Position bestimmen. Einige Shader bieten zudem noch unterschiedliche Objektivarten (z.B. Weitwinkel) und Farb- oder Nebelfilter an. Da die Beleuchtung eine lange Tradition in der Fotografie und im Film hat, sollte bei diesem Thema Fachliteratur zu Rate gezogen werden. Das gleiche gilt für die Kameratechnik. Viele Anwendungen simulieren bei der Betrachtung herkömmliche Spiegelreflexkameras. Das Wissen über Blendeneinstellungen und Belichtungszeiten ist also von hohem Nutzen.[dTLB71,Fre76,Bis89]

8.4.2.2.2 Oberflächengestaltung

Ein Shaderprogramm bietet dem Benutzer die Möglichkeit, Oberflächen für die im Modeller erstellten Objekte zu erzeugen. Oberflächen können Muster aufweisen, jedoch auch spezielle Leuchteigenschaften besitzen. Die Reflexionseigenschaften verschiedener Materialien unterscheiden sich in diffuser und spiegelnder Refexion. Die diffuse Reflexion verteilt reflektierendes Licht gleichmäßig in alle Richtungen. Das Objekt wirkt dadurch stumpf(z.B. Kreide). Andere Objekte glänzen und reflektieren das Licht in eine bestimmte Richtung (z.B. Spiegel). Dieses nennt sich spiegelnde Reflexion. Hinzu kommt noch, das ein Objekt lichtdurchlässig(transparent) sein kann. Ein Lichtstrahl kann von einem transparenten Objekt in seiner Richtung abgelenkt werden(Lichtbrechung). Trifft ein Lichtstrahl senkrecht auf eine Oberfläche, weist die Oberfläche oft ein Glanzlicht auf. Die Stärke dieses Effektes(Specular) läßt sich in den meisten Shading-Programmen steuern. Oberflächenmuster(Textures) sind Pixmaps, die auf das modellierte Objekt abgebildet werden. Das meist rechteckige Musterfeld(texture map) muß dabei auf die Größe und Form der Objektoberfläche angepaßt werden. Das Muster kann auch öfters aneinander gehängt werden, um so eine größere Fläche auszufüllen. Ein besonderes Verfahren ist das Bump-Mapping. Hierbei wird versucht, Unebenheiten bzw. rauhe Oberflächen und deren Auswirkungen auf das reflektierte Licht des Körpers zu simulieren. Eine bump map enthält ein Feld mit Verschiebungswerten. Damit können geringfügige Verschiebung der Punkte einer Oberfläche nach unten oder oben simuliert werden.

8.4.2.3 Rendering

Rendering bezeichnet die Berechnung einer Grafik aus den Daten des Modellers und Shaders. Zum Rendering gehören die Ermittlung der vom Betrachter aus sichtbaren Flächen eines Objekts, Schattenwurf und Oberflächenschattierung der Objekte. Die einfachste und schnellste Renderingmethode ist Wireframe. Objekte werden als einfaches Drahtgittermodell dargestellt. Dabei sind auch die Rückseiten eines Objektes sichtbar. Lichtquellen, Schattenwurf und Oberflächenstrukturen werden nicht berücksichtigt. Hidden-Line arbeitet nach der gleichen Renderingtechnik wie Wireframe. Allerdings werden nur die vom Betrachter sichtbaren Flächen dargestellt.

8.4.2.3.1 Rendering von Polygonmodellen

Generell kann für jeden Punkt eines Grafikobjekts die Schattierung einzeln berechnet werden. Diese direkte Berechnung der Farbwerte der einzelnen Pixel ist jedoch sehr zeitaufwendig. Um das Rendering effizienter zu gestalten, können für Polygonmodelle die folgenden Methoden angewand werden. Im folgenden Abschnitt wird davon ausgegangen, daß Grafikobjekte aus Polygongittern zusammengesetzt sind.
8.4.2.3.1.1 Flat-Shading oder konstante Schattierung
Der Farbwert für ein Polygone wird nur in einem Punkt berechnet. Die gesamte Polygonfläche wird dann mit diesem Wert eingefärbt. Bei der Modellierung von gekrümmten Flächen mit Hilfe von Polygonenmodellern, stellen die Polygone nur eine Annäherung an das Grafikobjekt dar. Werden die Polygone konstant schattiert, ensteht dadurch ein ,,facettiertes`` Objekt. Um diese Polygonfacetten zu vermeiden und eine gleichmäßig gekrümmte Fläche aus einem Polygongitter zu erstellen, benutzt eine Rendering-Programm Schattierung durch Interpolation. Ziel dieser Methode ist es, die Schattierungswerte nur an wenigen Punkten des Polygongitters zu berechnen und die anderen Punkte aus den berechneten Werten zu interpolieren. Diese Schattierungsmethode soll anhand des Gouraud- und Phongshadings erklärt werden:
8.4.2.3.1.2 Raytracing
Raytracing kann echte Schatten sowie Reflexionen mit unterschiedlichen Brechungen und Schatten erzeugen und ist nicht auf Polygonmodelle beschränkt. Dabei wird vom Ergebnisbild ausgegangen. Für jedes Pixel werden Strahlen(Rays) zu jeder Lichtquelle ausgeschickt (Siehe Abb.8.12). Trifft dabei der Strahl auf ein Objekt, liegt das Pixel im Schatten, und die Lichtquelle hat keinen Anteil an dem Farbwert dieses Pixels. Ist das Objekt allerdings transparent oder spiegelnd, werden weitere Strahlen unter Berücksichtigung der Brechung ausgeschickt. Treffen diese Strahlen wiederum auf ein Objekt, müssen von dort wieder Strahlen zu allen Lichtquellen ausgeschickt werden, um den Farbwert der Spiegelung zu bestimmen. Alle Strahlen, die eine Lichtquelle erreichen, werden dann in die Bestimmung des Farbwertes mit einbezogen. Die Berechnung erfolgt rekursiv und wird ab einer bestimmmten Tiefe, oder wenn keine Strahlen mehr zu verfolgen sind, abgebrochen. Für komplexe Szenen muß bei Benutzung des Raytracing-Verfahrens bei der heutigen Hardware mit einem beträchtlichen Aufwand von mehreren Stunden bis einigen Tagen pro Bild gerechnet werden.
  
Abbildung 8.12: Prinzip des Raytracings
\begin{figure}
\centerline{\epsffile{./zeichnungen/ray.mk.ps}}
\end{figure}

Zu der fotorealistischen Darstellung gehört auch die Berücksichtigung atmosphärischer Gegebenheiten. So kann man durch Filter und Nebelobjekte bestimmte Stimmungen erzeugen. Besonders wichtig ist die atmosphärische Abschwächung des Lichts. Je weiter ein Objekt entfernt ist, desto kleiner wird die Intensität des Lichts. Hinzu kommt noch eine Farbverschiebung zum Blau/Grau bei großen Entfernungen.

  
8.4.3 Computerunterstützung bei der Erstellung von Animation

Bei der Erstellung einer Animation müssen generell die drei verschiedenen Bereiche der Beleuchtung, Kamera und der Objekte beachten werden[TT90]. Jeder dieser Bereiche kann in Zustand und Position geändert werden. Ein bewegtes Licht kann zum Beispiel ein Autoscheinwerfer sein. Sonnenauf- und Untergänge sind Beispiele für die Animation der Intensität und Farbe einer Lichtquelle. Bei der Kamera gehören Schwenks und Fahrten durch die Szene zu den Bewegungsanimationen. Änderungen des Zustands ergeben sich aus verschiedenen Objektivarten, Brennweiten und Belichtungszeiten. Objekte können wiederum neben der Positionsänderung und Rotation andere Formen(Morphing), Größen(Skalierung) oder Farben annehmen. Interessante Effekte lassen sich durch Kombinationen der Bewegungs- und Zustandsanimation der Bereiche Beleuchtung, Kamera und der Objekte erzeugen. Zu den wichtigsten Funktionen, die ein Animationsprogramm zur Verfügung stellt, um den Benutzer bei der Erstellung einer Animation zu unterstützen, gehören die Zwischenbildanimation und die Pfadanimation[Ihm95]. Diese beiden Verfahren sind in allen Animationsprogrammen enthalten und sollen näher vorgestellt werden. Die Zwischenbildanimation ermöglicht die automatische Erzeugung von Zwischenbildern bei Vorgabe von Schlüsselszenen. Schlüsselszenen sind vom Benutzer vorgegebene Bilder, die in der Animationssequenz vorkommen und wichtige Abschnitte der Animation repräsentieren. Nötig sind mindestens ein Anfangs- und Endbild einer Sequenz, um daraus Zwischenbilder zu generieren. Die Pfadberechnung vereinfacht die Bewegungsanimation von Grafikobjekten. Das Objekt wird entlang eines frei definierbaren Pfades zu einer Zielposition bewegt. Der Pfad wird häufig durch einen Spline repräsentiert (siehe Abb.8.7). Bei der Erzeugung der Animation durch den Computer werden Geschwindigkeitswerte sowie Beschleunigungs- und Bremswerte berücksichtigt, um eine natürliche Verhaltensweise der Grafikobjekte zu simulieren. Weitere Hilfsfunktionen können von Animationsprogrammen angeboten werden. Die Programme unterscheiden sich allerdings im Aufbau und Vielfalt der angebotenen Funktionen. Deshalb werden hier einige Verfahren nur kurz vorgestellt[Wil95,MAC93]:
  
Abbildung 8.14: Inverse Kinematik
\begin{figure}
\epsfxsize=\textwidth
\centerline{\epsffile{./zeichnungen/kinem.mk.ps}}
\end{figure}


next up previous contents
Next: 9. Interaktionen Up: 8. Der Medientyp Animation Previous: 8.3 Das Storyboard
Dietrich Boles
1998-12-23