english version
Diplomarbeit

MotionLab ist ein Tool, das sowohl auf der Technik des Motion-Capturings aufbaut, als auch die Werkzeuge der Keyframe-Animation aufgreift. Es ist für die Software Maya Version 2.5 (als es noch keinen Trax gab) und in deren Scriptsprache MEL implementiert. Aufgabe dieses speziellen Werkzeuges ist es, den großen Vorteil, den die Motion-Capture-Technologie bietet, nämlich ein perfektes Abbild von menschlichen (oder nichtmenschlichen) Bewegungsabläufen zu liefern, mit den Freiheiten, die der Animator bei der KeyFrame-Animation hat, zu verbinden.
MotionLab besteht aus vier Modulen:

MotionLab als PDF

Motion-Equalizer

Click to watch movie (1.2MB)
Der Motion-Equalizer ist ein Grafik-Equalizer für Bewegung. Er stellt die Bewegung dar wie ein Euqalizer in einem Audioverstärker, wo die Amplitude (Gain) jedes Frequenzbandes mittels eines Sliders individuell angepasst werden kann, bevor alle Bänder wieder zum entgültigen Signal zusammengefaßt werden. Das Tool splittet das Bewegungssignal in fünf Frequenzbänder auf, die einzeln angehoben oder abgesenkt werden können. Dadurch wird die Bewegung auch in ihre verschiedenen Charakteristiken aufgespalten. Zittern befindet sich zum Beispiel meistens in den hochfrequenten Bändern (Band 1 oder 2), sodaß es eliminiert werden kann, indem diese Bänder auf Null gesetzt werden. Ein Anheben der hochfrequenten Bänder fügt der Bewegung ein nervöses Zucken zu. Sie haben normalerweise eine sehr geringe Amplitude. Ein Anheben der mittleren Frequenzen ergibt eine weichere aber betontere Bewegung. Ein Anheben der unteren Frequenzen erzeugt eine gedämpfte, gezwungenere Bewegung. Sie haben meist die höchste Amplitude.

Original-Signal

Band 1

Band 2

Band 3

Band 4

Band 5
Cycle

Click to watch movie (2.8MB)
Mit Cycle läßt sich ein Bewegungsabschnitt so verändern, daß er einen nahtlosen Loop bildet.
Edit

Click to watch movie (1.5MB)
Mit dem Edit-Modul kann ein Signal lokal verändert werden, während die Kontinuität und der Charakter des Signals beibehalten werden. Um eine Bewegung abzuändern, ändert der Animator nur die Pose des Charakters an ein paar Keyframes. Über diesen Versatz an mehreren Stellen wird für jeden Freiheitsgrad eine Spline-Kurve gelegt, und die Werte dieser Spline- Kurve werden auf die Original-Bewegung aufaddiert, um eine neue, veränderte Bewegung zu erhalten. Da dieser Prozess nicht viel Rechenaufwand erfordert, erhält man einen schnellen Interaktionszyklus. Mit diesem Modul erhält man ein Mittel, mit dem eine Bewegung wie das Ergreifen eines Objekts an einer Stelle des Tischs, sehr einfach in das Ergreifen eines Objekts irgendwo sonst auf dem Tisch umgändert werden kann. Das erlaubt eine einfache und direkte Veränderung von Motion-Capture Daten durch ein normales Keyframe-Interface. Deshalb ist das Interface des Edit-Moduls sehr einfach gehalten, da die Funktionalität des Keyframings einzelner Attribute durch das Interface von Maya sehr gut gelöst ist. So muß sich der Animator in diesem Bereich nicht einmal umstellen, obwohl damit eine völlig neue Funktionalität verbunden ist.
Blend

Click to watch movie (1.4MB)
Eine weitere sehr wichtige Komponente von MotionLab bietet die Möglichkeit, zwei Animationen mit weichem Übergang ineinander überzublenden. Das macht den Einsatz von Bewegungsbibliotheken erst sinnvoll, da so verschiedene Bewegungsmuster mit nahtlosem Übergang aneinandergereiht werden können. So läßt sich zum Beispiel aus einer Geh-Animation und einer Lauf-Animation eine Animation erstellen, in der der Charakter erst geht und dann langsam anfängt zu laufen. Die Überlagerung erfolgt durch Interpolation. Dabei werden zu einem Zeitpunkt die Werte der beiden Ausgangsanimationen nach einer Blendfunktion durch folgende Formel miteinander ver-mischt: (1 - blendFunction) * input[0] + blendFunction * input[1] Die Blendfunktion wird durch eine Kurve, der BlendCurve dargestellt, die in einem GraphEditor, dem Blend-Editor innerhalb von MotionLab beliebig editiert werden kann. Die Ergebnis-Animation wird auf einen Ziel-Charakter gelegt und läßt sich in Echtzeit betrachten. Durch diesen Interaktionszyklus in Echtzeit wird ein optimaler Workflow erreicht. Dieses Tool erfordert auch ein Interface, in dem alle Parameter übersichtlich dagestellt und editierbar sind. Um das Ineinanderblenden von zwei Animationen sinnvoll zu machen, müssen die Animationen zeitlich aufeinander abgestimmt sein. Aus diesem Grund werden die beiden Animationen in einem Editor, dem Timing-Editor in MotionLab dargestellt. Dieser Timing-Editor, erinnert ein wenig an einen Editor eines Video-Editing-Systems. Das ist ziemlich naheliegend, da das ganze Verfahren dasselbe ist. Im Timing-Editor kann das Timing der Animationen aufeinander abgestimmt werden und die Animationen können skaliert werden. Ist ein aufwendigeres Editieren über die Zeit einer Animation nötig, so muß dieses zuvor im Speed-Modul erfolgen. Der Editor reagiert wie alle Editoren von MotionLab nicht auf Änderungen der aktuellen selectionList, d.h. es kann zwischendurch an anderen Dingen gearbeitet werden, wobei natürlich andere Objekte selektiert werden, und danach wieder zu MotionLab zurückgekehrt werden, ohne die Darstellung der zu blendenden Objekte, sowie der BlendingCurve verloren zu haben. Dies erfordert natürlich, daß zuvor die zu blendenden Objekte als solche dem System bekanntgegeben werden. Daraufhin werden sofort die Editoren aktualisiert.
Speed

Click to watch movie (1.4MB)
Mit einer weiteren Komponente von MotionLab läßt sich die Geschwindigkeit einer Animation mittels einer Spline-Kurve beliebig editieren. Da bei jeder lokalen Änderung die komplette Kurve für jeden Freiheitsgrad jedes Joints neu berechnet werden muß, ist diese Funktion leider nicht in Echtzeit möglich.