In­terakt­ive 3D An­im­a­tion in VRML

Diplomarbeit von Olaf Dammrose

Einleitung

Animation

Das Wort Animation leitet sich vom lateinischen animare ab und bedeutet etwa belebt oder bewegt. Es steht in enger Verbindung mit dem Begriff Bild, so daß man auch von "bewegten Bildern" spricht. Für eine Animation werden mehrere Bilder erzeugt, die sich nur minimal voneinander unterscheiden. Sie können von Hand gezeichnet, mit einem Computerprogramm erstellt oder auch Fotografien sein. Sieht man diese Bilder in schneller Folge, so ergibt sich daraus eine Bewegungssequenz. Es entsteht also der Eindruck einer kontinuierlichen Veränderung hervorgerufen durch einzelne Bilder.

3D-Animation

Bei der Gestaltung von 3D-Animationen mit dem Computer liegt als Ausgangsbasis ein dreidimensionales Modell ohne jegliche Bewegung vor. Sie entsteht erst durch räumliche und zeitliche Änderung oder Änderung der Gestalt der synthetischen Gegenstände in einem virtuellen Raum. Die Gegenstände können je nach eingesetzten Computerprogramm komfortabel auf dem Bilschirm bewegt und in ihrem Aussehen verändert werden.

Klassifizierung

Es gibt verschiedene Animationsmethoden, die sich in zwei Klassen einteilen lassen.

  • Bild-für-Bild-Animation
    Hierbei werden einzelne Bilder erzeugt und gespeichert. Eine Wiedergabe der Bildsequenz kann danach zu einem beliebigen Zeitpunkt erfolgen. Solche Sequenzen kann man in Kinofilmen wie "Jurassic Park", "Terminator2" oder "Titanic" finden.

  • Echtzeitanimation
    Die Bilder werden unmittelbar nach ihrer Erzeugung dargestellt. Damit es zu einer kontinuierlichen Bewegungssequenz kommt, muß der Wechsel von Erzeugung und Wiedergabe im gleichen Zeitabstand erfolgen.
    In diversen Computerprogrammen wie "ABAQUS", "AutoCAD", "CATIA" können synthetische Körper abhängig von der Steuerung des Bedieners unmittelbar neu berechnet und angezeigt werden.

VRML und Interaktion

Eine Autorengruppe veröffentlichte 1995 die erste Spezifikation von VRML. Diese Abkürzung steht für "Virtual Reality Modeling Language" und ist der Name einer Beschreibungssprache für virtuelle Welten. Der Begriff virtuell stammt aus der Optik und wird dort für ein Spiegelbild verwendet, das man in oder "hinter" einem Spiegel sieht. Künstliche und berechnete Welten werden als virtuelle Welten oder auch virtuelle Realität bezeichnet.

Diese virtuellen Welten können ähnlich wie Web-Seiten über das Internet übertragen werden. Das bedeutet, daß die Informationen des weltweiten Informationssystems nicht mehr nur aus Texten, angereichert mit zweidimensionalen Graphiken oder Videos bestehen müssen. Es können nun auch räumliche Gegebenheiten übermittelt werden. Die erste Version von VRML beschränkte sich auf die Beschreibung statischer Objekte und Welten, die über Hyperlinks miteinander verbunden werden konnten. Mit der Version 2.0 sind neue Sprachelemente eingeführt worden, die die Manipulation von 3D-Objekten ermöglichen. Diese Manipulation erfolgt über Sensoren, die entsprechend des Benutzerverhaltens Ereignisse auslösen. Diese Ereignisse können dann in einem Skript benutzt werden, um die Bewegung und das Verhalten von Objekten zu steuern.

Ziel und Beispiel

Ziel dieser Arbeit ist es, die Erzeugung von interaktiven Animationen in VRML durch vorgefertigte Bausteine zu vereinfachen. Wichtige Animationsmethoden (z.B. Translation, Rotation, Skalierung oder Farbänderung) werden als parametrisierbare Bausteine entwickelt und können mit statischen Objekten verknüpft werden. Mehrere einfache Animationen können dabei zu komplexen Abläufen kombiniert werden. Zusätzlich ist eine Interaktion mit den erzeugten animierten Objekten vorgesehen. Das bedeutet, daß die Objekte in einer 3D-Szene frei bewegbar sind und direkt eigene Bewegungen ausführen.

Als Beispel kann man mit einem VRML 2.0 fähigen Browser folgende einfache Szene betrachten und erforschen:
Auf einer Wasserfläche schwimmt ein Boot, das man durch die Navigationshilfe des Browsers erreichen kann oder durch Wählen des Viewpoints "im Boot". Mit der Maus läßt sich das Boot auf dem See manövrieren und führt dabei Eigenbewegungen aus, die einen Wellengang simulieren.

Andere Objekte als das Boot ließen sich einbinden, so daß man z.B. mit einem Auto über Straßen fahren oder menschliche Figuren über eine Ebene gehen lassen kann. Diese Objekte können Eigenbewegungen ausführen, die - abgestimmt auf die Steuerung - durch den Benutzer beeinflußbar sind. Das Auto bewegt die Räder entsprechend der zurückgelegten Strecke und die Figur ihre Beine und Arme.

Im Vordergrund der Arbeit steht die Bewegung und das Verhalten von Objekten, im besonderen ihr Reagieren auf Interaktion. Dafür wird die oben genannte Kombinationsfähigkeit von VRML 2.0 mit einer Skriptsprache genutzt.