Ein unglaublich wichtiges und mächtiges Tool von 3dsMax; vorallem wenn es um Animation geht. Hier kann man Keys hin und her schieben, kopieren, löschen, Kurvenerhalten steuern und vieles mehr. Am Beispiel einer springenden Kugel möchte ich erklären wie die Spuransicht funktioniert. Das Beispiel ist zwar nicht gerade anspruchsvoll, aber es eignet sich hervorragend die Problematik anschaulich darzustellen.

Beginnen wir mit dem Aufbau einer einfachen Szene. Erstellt euch im Ansichtsfenster von oben einen Quader von 200x200 Einheiten und einer Höhe von -5. Das ist der Boden auf dem die Kugel rumhüpft. Als nächstes erstellt ihr eine Kugel im Ansichtsfenster von vorn, die sich oberhalb des eben erstellten Quaders befindet. Diese Ausgangsszene könnt ihr auch hier runterladen. Die Szene sollte auf jeden Fall so aussehen wie das Bild links.

Die Animation der springenden Kugel ist nicht besonders lang. Das Herunterfallen und das Zurückspringen dauert in diesem Beispiel gerade mal 30 Frames. Klickt dazu auf den Button "Zeitkonfiguration" rechts in der Nähe des Anim-Buttons. Ändert im erscheinenden Fenster die Länge der Animation auf 30 Frames, und bestätigt mit ok.

 

 

Nun zur Animation: Bewegt den Zeitbalken zu Frame 15 und aktiviert den Anim-Button. Ihr befindet euch nun im Animationsmodus. Aktiviert die Kugel, und verschiebt sie nach unten, so daß sie den Quader knapp berührt. Wechselt dann zu Frame 30 und schiebt die Kugel wieder in ihre Ausgangsposition zurück. Spielt die Animation ab. Die Kugel sollte sich nun auf und ab bewegen wie diese Animaton zeigt (achtet darauf, daß Euer Mediaplayer die Animation loopt!). Nicht besonders realistisch, oder? Die Kugel scheint vor dem Abprallen abzubremsen, und beschleunigt wieder auf ihrem Weg nach oben. Um das zu ändern wechseln wir nun in die Spuransicht:

 

Wählt dazu in der Menüleiste den Punkt Spuransicht -> Spuransicht öffnen. Der generelle Aufbau des sich öffnenden Fensters: Links werden sämtliche Objekte und deren zugehörigen Spuren aufgelistet. Rechts werden Keys oder Kurvenverläufe der einzelnen Spuren zeitlich angezeigt. An welchem Frame der Animation man sich gerade befindet zeigt die dünne schwarze Linie, und der dazugehörige Zeitbalken. In der oberen Leiste befinden sich verschiedene Buttons, um in der Spuransicht arbeiten zu können.
Klickt nun auf das Kreuzchen vor den Objekten und die einzelnen Objekte in eurer Szene werden aufgelistet. Es handelt sich dabei nur um den Quader und die Kugel. Außerdem könnt Ihr im rechten Teil der Spuransicht einen schwarzen Balken erkennen. Das sagt Euch, daß bei dem Kugelobjekt von Frame 0 bis 30 irgendetwas animiert wurde.
Um mehr über die Kugel zu erfahren, klickt auf das Kreuz vor der Kugel. Die Spuransicht wird weiter aufgegliedert. Ihr könnt erkennen daß es sich bei der Animation um eine Transformation handelt, sprich die Kugel ihre räumliche Position verändert. In der Spur "Position" sind sogar die von Euch zuvor gesetzten Keys zu erkennen. Einer bei Frame 0, der nächste bei 15 und dann der letzte bei Frame 30. Seht Euch das Bild oben an. So ähnlich sollte es bei Euch auch aussehen.

Klickt nun in der Werzeugleiste der Spuransicht auf den Button "Funktionskurven" (so ziemlich in der Mitte, neben dem Magneten). Wenn ihr mit eurem Mauszeiger ein wenig über dem Button verharrt, wird der Name des Buttons auch angezeigt. Das Bild des rechten Teils eurer Spuransicht verändert sich. Ihr seht nun nicht mehr die einzelnen Spuren und deren Keys, sondern nur noch eine einzelne Spur, und deren Funktionskurve. Wenn ihr im linken Teil des Fensters eine nichtanimierte Spur ausgewählt habt, wird selbstverständlich auch keine Kurve angezeigt. Also wechselt auf die Positonsspur eurer Kugel. Eine blaue Kurve erscheint, die Z-Position eurer Kugel wiederspiegelt. Die x und y Positionskurve wird als eine gerade Linie dargestellt, ist ja auch klar, schließlich wird hier nichts animiert. Im Kurvenverlauf erkennt ihr auch nochmals die einzelnen Keys, die Ihr zuvor gesetzt habt.

Was sagt uns nun diese Kurve? Seht euch das Bild links an. Ihr könnt nur eine blaue Kurve erkennen. Den drei Werten XYZ werden in der Spuransicht die entsprechenden Farben RGB (rot, grün, blau)zugeteilt. Die blaue Kurve entspricht also der z-Position der Kugel, während x und y (bzw. rot und grün) immer auf null bleiben, sprich sich nicht verändern (die Kugel macht in diesen Raumachsen keine Bewegung).

Bei Frame 0 befindet sich die Kugel auf der Z-Postion +100. Zu Frame 15 wandert sie auf die Z-Position +/-0, und steigt dann wieder auf zu z=+100. Jetzt wird's mathematisch: erinnert euch zurück an eure Mathestunden (ich hätte damals niegedacht, daß ich das ganze jemals in meinem Leben gebrauchen könnte). Wisst ihr noch was "Steigung" bedeutet?
Die Steigung ist die Tangente an einem Graphen (bzw. unserer blauen Kurve). Eine Tangente ist eine gerade Linie die den Graphen nur an einem Punkt berührt. Je steiler (=senkrechter) diese Tangente, umso größer ist die Geschwindigkeit, je flacher (=waagerechter) umso langsamer. Betrachtet dazu das Bild links unten. Die Tangenten (rot eingezeichnet), sind anfangs steil, und werden zu Frame 15 hin immer flacher, d.h. die Geschwindigkeit (in Z-Richtung) nimmt ab. Das bedeutet für unsere Kugel: sie fällt mit einer hohen Anfangsgeschwindigkeit herab, und bremst je näher sie dem Boden kommt (bzw. Frame 15) ab. Bei Frame 15 hat sie die Geschwindigkeit 0, und beschleunicgt dann wieder nach oben, bis sie Frame 30 erreicht hat.
Was bedeutet das in der Realität? Eine Kugel würde so niemals zu Boden fallen. Im Gegenteil: Die Kugel wird in der Luft festgehalten, losgelassen und fällt herunter (Frame 0). Während sie herunterfällt nimmt ihre Geschwindigkeit immer weiter zu (Luftwiderstände werden nicht berücksichtigt), sie prallt auf den Boden (Frame 15), und wird mit derselben Geschwindigkeit mit der sie ankam wieder nach oben geschleudert. Auf ihrem Weg nach oben verliert die Kugel immer mehr an Geschwindigtkeit (aufgrund der Schwerkraft), sie bremst sozusagen ab, bis sie keine Geschwindigkeit mehr hat (Frame 30), und fällt dann wieder zurück nach unten (Loop von Frame 0-15).

Die Z-Kurve zeigt also, daß sich unsere Kugel komplett falsch verhält (deshalb sieht die Animation auch so seltsam aus). Betrachten wir zunächst mal das Abprallen der Kugel bei Frame 15. Wie bereits gesagt, müßt die Kugel mit stetig ansteigender Geschwindigkeit auf dem Boden aufprallen, und mit der gleichen Geschwindigkeit wieder nach oben steigen. Unsere Steigungstangenten zeigen aber, daß die Kugel bei Frame 15 abbremst. Und genau das muß verändert werden.

Wählt dazu den Key bei Frame 15 aus, indem ihr einfach mit gerückter linker Maustaste ein Box um ihn herum aufzieht. Der Key wird weiß (=aktiviert). Klickt nun mit der rechten Maustaste auf den aktivierten Key. Daraufhin sollte ein Fenster erscheinen wie Bild 5 es zeigt.

Ihr könnt darauf erkennen, an welchem Key ihr euch befindet (Nr.2), zu welcher Zeit (Frame 15), welchen xyz-Wert die kugel zu diesem Zeitpunkt hat (in diesem Beispiel X=0 / y=0 / z=20), und (das wichtigste) wie sich die Kurve links und rechts von diesem Key aus verhält (hinein/heraus). In den Felder "hinein/heraus" werden sogenannte Bezier-Tangententypen festgelegt:

Standardmäßig verwendet Max den Typ "glatt":


Dieser Typ erstellt eine glatte Interpolation durch den Key hindurch, will heißen, der Graph (und somit die zugehörige Tangente) beschreibt immer geschmeidige Bewegungen, Geschwindigkeiten werden niemals abrupt verändert. Genau dies soll aber verändert werden.

Die Kugel soll von einem Frame zum anderen ihre Richtung um -100% verändern: Klickt also in das Feld "hinein", und wählt den Typ "schnell" aus, das gleiche macht ihr bei "heraus". So sieht der Typ schnell aus:

Dadurch erreichen wir eine zunehmende Beschleunigung (Steilheit der Tangente) der Z-Kurve um den Frame 15 herum. Genau so wie es der Realität entspricht. Seht euch das Ergebnis in der Animation an: Ihr könnt erkennen, daß die Kugel zwar korrekt zurückgestoßen wird, ihr Hüpfverhalten aber immer noch sehr unnatürlich wirkt. Das liegt an ihrem Beschleunigungsverhalten am Anfang und am Ende der Animation. Die Z-Kurve in der Spuransicht zeigt das Problem deutlicher. Werft einen Bilck auf das Bild rechts:

Zwischen Frame 0-15 und 15-30 erkennt Ihr, wie die Kurve kurzzeitig abflacht, ihre Geschwindigkeit verringert sich. Das ist falsch. Um das zu verändern aktiviert den ersten Key bei Frame 0. Öffnet wieder mit der rechten Maustaste das kleine Tangentenfenster. Und betrachtet wieder die Tangententypen. Auch an Frame 0 hat Max den Standardtyp "glatt" verwendet. Wir benötigen einen anderen Typ: "langsam".

Dieser Typ bewirkt, daß die Kugel zunächst die Geschwindigkeit 0 hat, und dann kontinuierlich beschleunigt. Wählt also für "hinein" und "heraus" jeweils den Typ langsam. Wiederholt das gleiche bei Frame 30.

Eure Z-Kurve sollte dann wie das Bild linksaussehen. Die Kugel beschleunigt langsam, fällt herunter, wird mit der ankommenden Geschwindigkeit wieder zurückgestoßen, steigt wieder auf, und bremst dabei langsam ab. Somit ist das ganze dann auch loopbar. Spielt eure Animation ab. Sie sollte so aussehen wie diese hier.

Das fertige MAX-File könnt Ihr Euch hier herunterladen (das Zip-File ist das selbe wie oben, es enthält beide Max-Dateien).
Sicherlich ist diese Animation noch lange nicht perfekt. Die Kugel müßte sich beim Aufprallen etwas zusammenstauchen. Mit jedem Hüpferer verliert sie immer mehr an Höhe, die Sprünge werden kleiner und kürzer, bis sie schließlich zum Stillstand kommt. Dennoch hoffe ich Euch einen kleinen Einblick in die Spuransicht verschafft zu haben.

Mehr zu dem Thema findet ihr in der Online Referenz zu 3dsMAX. Sucht einfach nach den Stichworten wie "Spuransicht" oder "Bezier-Controller". Es gibt noch viele Dinge mehr über dieses Thema zu sagen, vielleicht gibts in den kommenden Wochen noch das eine oder andere Tutorial dazu....

 

© 2000 Andreas Skrzypnik / lightrays.de

93Grad - design und animation für entertainment