Multiplikator- & Nachlasskurven

Dieses Tutorial baut auf dem ersten Spuransicht-Tutorial auf, indem das animieren einer springenden Kugel erklärt wird. Nur nochmal kurz zur Erinnerung: In dem Tutorial wurde gezeigt, wie man das Beschleunigungsverhalten der z-Bewegung der Kugel vor und nach den einzelnen Keys beeinflussen muß, um eine geschmeidige Hüpfbewegung zu erhalten. Die Kugel fällt "aus dem Stand" herab, beschleunigt dabei, prallt auf den Boden auf, wird dabei mit derselben Geschwindigkeit zurückgeschleudert, steigt wieder nach oben auf und verliert dabei an Geschwindigkeit, bis sie schließlich zum Stillstand kommt.

Hier stoppt das Tutorial. Für eine geloopte Animation völlig ausreichend.

Um die Animation aber noch zu perfektionieren, fehlen noch einige Dinge: Die Kugel hat nach ihrem ersten Bodenkontakt weniger Energie (z.B. durch Reibungsverluste), kann also nicht mehr so hochspringen, und erreicht somit nicht mehr die Höhe, die sie zu Anfang hatte. Mit jedem Sprung verliert sie immer mehr an Energie, die Sprünge werden somit kleiner, und kürzer (zeitlich gesehen). Dies soll nun animiert werden:

Es gibt mehrere Ansätze dieses Problem zu lösen. Die simpelste wäre natürlich entsprechende Keys zusetzen. Immer niedrigere z-Höhen in immer kürzeren Zeitabständen. Geht auch, ist aber umständlich, vorallem wenn man später etwas daran ändern möchte (viel Spaß beim Keys rumschieben!). Die nächste Methode wäre eine Dynamik-Lösung. Hier kann mann tausende Parameter einstellen, vom Luftwiderstand, über Gewicht und Haftreibung der Kugel und des Bodens bis zur Schwerkraft (Mond oder Erde?). Extrem physikalisch, zeitaufwendig und leider auch extrem absturzgefährdet.

Dann lieber doch zurück zur klassischen Animation. Ladet Euch die Szene "Kugel Ausgangsszene". Hier ist alles soweit vorbereitet. Ein Boden, ein Gummiball, Lichter und Kamera, alles da... ;-) Die Kugel hab ich bereits animiert. Zwischen Frame 0 und 30 macht sie brav einen Hüpfer. Beschleunigungsverhalten ist auch schon fertig. Wie Ihr am Zeitbalken erkennen könnt, habe ich die Gesamtlänge der Animation auf 150 Frames gestellt. Als erstes soll die Kugel nun dazu veranlasst werden ihre Bewegung zu loopen und somit über die gesamten 150 Frames kontinuierlich weiter zu hüpfen. Öffnet dazu die Spuransicht:

Die Außenbereichstypen:

Wuselt Euch bis zur Positionsspur der hüpfenden Kugel durch, aktiviert die Spur, und klickt oben in der Menüleiste der Spuransicht auf den Button "Funktionskurven". Ihr solltet nun die aus dem oben genannten Tutorial bekannte Funktionskurve sehen (siehe Bild links).

 

 

 

 

 

Leider macht die Kugel nur einen einsamen Hüpfer. Um sie zu loopen drückt auf den Button "Außenbereichstypen für Parameterkurve" (ebenfalls in der Menüleiste der Spuransicht zu finden. Es erscheint ein Fenster, wie es das Bild nebenan zeigt. Hier kann man nun beeinflussen, wie sich eine Animation vor und nach dem ersten, bzw. letzten Key verhalten soll. Standardmäßig verwendet Max den Typ "Konstant". Das Bildchen unter "Konstant" veranschaulicht das ganze recht gut. Die gepunktete Line zeigt, daß die Funktionskurve vor dem Beginn und nach dem Ende einer Animation auf dem Wert stehen bleibt, wo jeweils der erste und letzte Key gesetzt wurden.

 

 

Um unsere Kugel, ohne weiteres Keysetzen, weiterspringen zu lassen, wählt nun den Typ "Schleife". Wie ihr gleich an der gestrichelten Linie der Funktionskurve erkennen könnt, wird die Animation der Kugel nun bis ins unendliche geloopt (nächstes Bild). Einen direkten Einfluss auf diese "Außerbereichskurven" hat man jedoch keinen, da keine Keys dafür erstellt werden.

 

Die Multiplikatorkurve:

Nun soll die Kugel aber an Energie verlieren, sprich jeder Sprung nach und nach niedriger werden. Dazu kommt nun die "Multiplikator"-Kurve zum Einsatz (ebenfalls in der Menüleiste der Spuransicht zu finden). Stellt sicher, daß noch immer die Positionsspur der Kugel aktiviert ist, und klickt dann auf den Knopf Multiplikatorkurve.

Könnte sein, daß der Button nicht sofort zu erkennen ist, da er eventuell und dem "Nachlasskurve"-Button versteckt ist. Einfach ein bisschen länger die Maustaste gedrückt lassen, dann könnt ihr die Multiplikatorkurve auswählen.

Auf der linken Seite der Spuransicht ist nun unter der Positonsspur, die Multiplikator-Spur erschienen. Klickt darauf, so daß sie aktiviert wird. Die Funktionskurve der Multiplikatorkurve verläuft linear, und ist auf den Wert 1 gesetzt.

Was bewirkt die Multiplikatorkurve? Sie multipliziert die Spur, der sie zugewiesen wurde. D.h. momentan hat die Multiplikatorkurve einen Wert von 1. Die Werte der Positionsspur werden also mit 1 multipliziert. Und somit passiert zunächst gar nichts, denn mit 1 multipliziert gibt bekanntlich das gleiche Ergebnis. Würde man nun beide Keys der Multiplikatorkurve (Max erstellt automatisch einen Key am Anfang und am Ende einer Animation) auf 0.5 setzen, so würden die Werte der zugehörigen Positionsspur um die Hälfte reduziert (die Kugel hüpft nur noch halb so hoch). Würde man die Multiplikatorkurve auf 2 setzen, so würde die Kugel doppelt so hoch springen.

Nun soll die Kugel zum Ende der Animation immer niedriger hüpfen, d.h. der Wert der Multiplikatorkurve muß von 1 (am Anfang) auf 0 (am Ende der Animation) sinken. Dadurch wird jeder Sprung nach und nach niedriger. Wählt also den letzen Key der Multiplikatorkurve aus, und setzt ihn auf 0. Daß sich die Änderung der Multiplikatorkurve auch auf die Positionsspur auswirkt, seht ihr im Bild links. Je näher sich die Multiplikatorkurve dem Wert 0 nähert, umso geringer die z-Bewegung, und somit auch die Sprünge der Kugel.

Eure Animation sollte nun wie diese hier aussehen (kugel1.avi / 231kb ).
Das Max-File "Kugel m. Multiplikatorkurve" gibt's hier zum download (falls ihr Euch das Zipfile noch nicht runtergeladen habt).

 

Die Nachlasskurve:

Die Animation ist jedoch immer noch nicht richtig. Obwohl die Sprünge kleiner werden, sie dauern alle gleich lang. In der Realität werden die Sprünge aber nicht nur kleiner, sondern auch kürzer. Man müßte die Sprungintervalle zum Ende hin immer mehr verkürzen. Aber wie, wenn man keine Keys hat, die man hinundher schieben kann? Hier kommt die Nachlasskurve zum Einsatz. Mit ihr kann man die Dauer von Animationen beschleunigen oder verkürzen. Die Nachlasskurve verbirgt sich unter dem gleichen Button wie die Multiplikatiorkurve (siehe oben). Um sie hinzuzufügen stellt sicher, daß Ihr die Postionsspur Eurer Kugel aktiviert habt. Wenn die Multiplikatorspur noch aktiv sein sollte, würde die Nachlasskurve darauf angewendet werden, und das ergäbe ein falsches Ergebnis.

Was bewirkt nun die Nachlasskurve? Seht euch dazu die Funktionskurve an. Sie stellt eine gerade Linie dar die auf Frame 0 einen Wert von 0 hat, bei Frame 150 einen Wert von 150. Sie verläuft also linear mit einer Steigung von 1 (für alle die es aus ihrer Schulzeit vergessen haben: m (Steigung) = y/x (yWert/Zeit)). Für den Animationsablauf bedeutet eine solche lineare Steigung von 1, daß am Zeitablauf der Animation nichts verändert wird.

Würde man die Steigung der Nachlasskurve auf 2 erhöhen (die Kurve steiler machen), so würde die Animation doppelt so schnell ablaufen. Dazu müßte man den letzten Key (bei Frame 150) der Nachlasskurve auf 300 setzen, den mittleren Key kann man der Einfachheit halber mal löschen. Die Kugel würde somit doppelt so schnell springen (ein Intervall braucht nur noch 15 Frames statt der ursprünglichen 30).

Genauso verhält es sich wenn man die Nachlasskurve auf eine Steigung von 0,5 setzt, also flacher werden läßt. Die Animation wird gestreckt. Statt 30 Frames braucht die Kugel nun 60 Frames um ein Intervall zu durchlaufen. Seht Euch dazu die Bilder unten an (achtet dabei vorallem auf die Zahlenangaben von Y und der Zeit X). Laßt Euch dabei nicht von Ausreissern in der Kurve irritieren (das rechte untere Bild z.B.). Scheint nur ein Darstellungsfehler von Max zu sein.

Wie muß nun die Nachlasskurve in unserem Fall aussehen? Die Animation muß anfangs mit normaler Geschwindigkeit ablaufen, und zum Schluss hin immer schneller und schneller werden. Also muß sich auch die Steigung der Nachlasskurve zum Schluss hin erhöhen. Den ersten Sprung möchten wir dabei noch auf seiner originalen Geschwindigkeit belassen. Ich gehe im folgenden jetzt davon aus, daß Ihr Eure Nachlasskurve nicht verändert habt, der mittlere Key der Kurve also noch existiert.

Aktiviert diesen Key, indem Ihr mit gedrückter linker Maustaste einen Markierungsrahmen um ihn herum aufzieht. In der unteren Zeile der Spuransicht gibt es zwei Zahlenfelder in denen die Werte 75 und 75.000 auftauchen. Der erste Wert spiegelt den Frame 75 wieder, der zweite den Wert 75.000 (y-Achse). Dieser Key soll nun zu Frame 30 verschoben werden: gebt also im ersten der beiden Felder 30 ein, und der Key wird zum entsprechenden Frame verschoben. Nun noch den Wert von 75 auf 30 heruntergesetzt, und somit ist sichergestellt, daß die Animation in den ersten 30 Frames ihre normale Geschwindigkeit beibehält. Damit die Animation zum Schluss hin schneller wird aktiviert den letzten Key und setzt ihn auf einen Wert von 250.

Spielt die Animation ab. Sie ist fast perfekt. Die Sprünge werden anscheinend zum Schluss etwas schneller, aber noch ist ein kleiner Fehler in drin. Das liegt am Kurvenverhalten der Nachlasskurve, alle Keys haben den Standardwert "glatt" (siehe dazu auch das Tutorial "Einführung in die Spuransicht"). Dies muß verändert werden: Wählt für den ersten Key, heraus=linear. Für den zweiten Key, hinein=linear, heraus=glatt. Für den letzten Key hinein=schnell. Durch diese Einstellungen wird sichergestellt, daß die Steigung der Kurve immer größer als 1 ist, und zum Ende hin immer weiter ansteigt. Und somit wird die Animation zum Ende hin auch immer schneller. Am besten öffnet Ihr die downloadbare Max-Datei "Kugel fertig.max", und seht Euch dort die Einstellung an.

Wenn Ihr alles richtig gemacht habt (und ich mich nicht zu umständlich ausgedrückt habe), sollte die fertige Animation wie diese hier (Kugel2.avi / 234 kb) aussehen.

© 2000 Andreas Skrzypnik / lightrays.de

93Grad - design und animation für entertainment