Praxis Adobe After Effects: Tip#5: Variablen und Dimensionen

Adobe After Effects: Tip#5: Variablen und Dimensionen

Das letzte Mal wurden beim Thema Expressions mit After Effects Arrays und Dimensionen vorgestellt, in diesem Kurz-Tip geht es um Variablen und Indexierung - ebenfalls sehr wichtige Instrumente in Sachen Expression-Scripting für After Effects.

// 18:14 Di, 10. Jul 2007von

Das letzte Mal wurden beim Thema Expressions mit After Effects Arrays und Dimensionen vorgestellt, in diesem Kurz-Tip geht es um Variablen und Indexierung - ebenfalls sehr wichtige Instrumente in Sachen Expression-Scripting für After Effects.



Für diejenigen, die neu in diesen Mini-Expression-Workshop einsteigen gilt die Empfehlung, die vorangegangenen Tips kurz nachzuvollziehen, da die Artikel aufeinander aufbauen. Diejenigen, die soweit dabei geblieben sind, sollten die Expression mit dem dazugehörigen selbstgebauten Projekt, mit dem wir uns die letzten Male beschäftigt haben, noch parat haben.



Adobe After Effects: Tip#5: Variablen und Dimensionen : QuadKo


Zur Sicherheit nachfolgend nochmal für alle unsere Übungsexpresssion, mit deren Hilfe wir die Z-Position aller Beta-Quadrate über die Z-Position des Alpha-Quadrates steuern. Das dunkelgraue Alpha-Quadrat fungiert also als eine Art Steuer-Ebene mit der Einschränkung, dass nur die Z-Position von den anderen Quadraten relativ übernommen wird. Die Expresssion wurde der leichteren Verständlichkeit halber nach ihren Sinneinheiten geordnet:



xPos=position[0];



yPos=position[1];



zPos=thisComp.layer("Alpha").transform.position[2] + value[2] ;



[xPos , yPos , zPos]




Gleich beim ersten Blick fällt auf, dass in den drei ersten Zeilen jeweils eine Gleichung gesetzt wurde. Wenn ein Gleichheitszeichen in einer Expression-Formel von After Effects auftaucht, handelt es sich häufig um die Definition einer Variablen. Aber was ist eine Variable und wofür braucht man sie ?



In diesem Fall stellt die Variable einfach nur einen Platzhalter, bzw. eine Bezeichnung dar, die das Hantieren mit der Gleichung übersichtlicher gestaltet. Für die x,y und die z-Position wurde als Variable der Name xPos, yPos und zPos gewählt. Mit gleichem Recht hätten wir Karl, Sabine und Tanja wählen können und die Expression würde genauso funktionieren. Probiert es ruhig mal aus:



Karl=position[0];



Sabine=position[1];



Tanja=thisComp.layer("Alpha").transform.position[2] + value[2] ;



[Karl , Sabine , Tanja]



Adobe After Effects: Tip#5: Variablen und Dimensionen : kar




Karl, Sabine und Tanja sind also einfach nur Namen die als Platzhalter fungieren. Und zwar als Platzhalter (sprich: Variable) für unterschiedliche Inhalte. Einmal für einfache Positionswerte in Zeile 1 und Zeile 2 und einmal als Platzhalter für eine längere Formel in Zeile 3, nämlich eine Additionsformel, die aus zwei Werten besteht, die addiert werden sollen:



Wert 1 lautet:



thisComp.layer("Alpha").transform.position[2]



und wird zu folgendem weiteren Wert addiert:



value[2]



Dies ist eines der Hauptanwendungsgebiete von Variablen. Der relativ lange, additive Ausdruck:



thisComp.layer("Alpha").transform.position[2] + value[2]



verschwindet einfach im Namen Tanja, sobald ein Gleichheitszeichen davor gesetzt wird:



Tanja=thisComp.layer("Alpha").transform.position[2] + value[2]



Ziemlich elegante Sache dies und Tanja klingt irgendwie auch viel besser und ist vor allem um einiges kürzer und handlicher als die lange Formel. Wann immer eine Formel eine andere oder mehrfache Verwendung finden soll, lohnt es sich, diese in eine Variable zu packen. Darüberhinaus werden Variablen gebraucht, wenn Werte flexibel bleiben müssen - dazu gleich mehr nach einem kurzen Blick auf unsere Formel.



Wenn wir jetzt unsere Formel betrachten, bleibt nur noch wenig Unbekanntes übrig.



Karl=position[0];



Sabine=position[1];



Tanja=thisComp.layer("Alpha").transform.position[2] + value[2] ;



[Karl , Sabine , Tanja]



Zu dem, was wir noch nicht geklärt haben, gehören die Ausdrücke auf der anderen Seite der Gleichungen. Die Zahlen in den eckigen Klammern, die ja für gewöhnlich einen Array anzeigen, werden in diesem Fall als Index bezeichnet. Betrachten wir zur Erklärung nochmal die Positionsangabe in einer Expression: Die kürzeste Expression Eingabe für die 3-D-Position eines 3-D-Layers würde z.B. so aussehen:



[300, 200, 100]



Also ein Array mit 3 Dimensionen. Mit dieser Expression wurde die Position der Ebene für alle Ewigkeit auf die Koordinaten x=300, y=200 und z=100 festgelegt. Wenn sich die Ebene nicht weiter bewegen soll: fein. Wenn jedoch die Ebene in der x- und y-Achse beweglich bleiben soll, brauche ich dafür einen Ausdruck, der flexibel ist. After Effects hat deshalb unterschiedlichen Parametern wie Position, Größe, Farbe etc. eigene Ausdrücke zugeordnet. Um bei einem Wert wie der Position im 3D-Raum nicht durcheinander zu kommen, gibt es eine feste Reihenfolge dieser Werte. Diese Reihenfolge wird als Index bezeichnet und ist festgeschrieben. Der Index 0 bezeichnet dabei den x-Wert, Index 1 steht für den y-Wert und Index 2 steht für den z-Wert. Mit folgender Expression bleiben die x- und y-Position der Ebene beweglich, während die Z-Position bei 100 festgeschrieben ist:



x=position[0];



y=position[1];



z=100;



[x,y,z]



Es muss also eine Variable für jede Position definiert werden, sobald die Werte flexibel, also variabel bleiben sollen. Wichtig bei dieser Formel ist ebenfalls die Setzung der Werte im finalen Array[x,y,z].



Je nachdem, wieviele Dimensionen ein Wert hat, können mit entsprechenden Index-Zahlen bestimmte Werte eines Parameters oder Arrays angesprochen werden. Die After Effects Hilfe bietet eine beispielhafte Übersicht von Parametern die von einer bis zu vier Dimensionen reichen und entsprechen mit bis zu 4 Index-Stufen adressiert werden können:



Adobe After Effects: Tip#5: Variablen und Dimensionen : Inde





Zum Schluß ein Blick auf Zeile 3 unserer Expression:



Tanja=thisComp.layer("Alpha").transform.position[2] + value[2]



Ok, Tanja als Variable hatten wir bereits geklärt.



Folgende Formel generiert uns After Effects bei Bedarf auch automatisch:



thisComp.layer("Alpha").transform.position[2]



Sie stellt ganz einfach nur den Z-Wert der Ebene "Alpha" dar. Automatisch generieren lässt sich der Ausdruck mit Hilfe des Expression-Gummibandes (Pickwhip):



Adobe After Effects: Tip#5: Variablen und Dimensionen : zpo



Einfach die Expression-Eingabe aktivieren und mit dem Gummiband einen einzelnen Positions-Wert einer anderen Ebene selektieren, z.B. die Z-Position der Ebene Alpha wie im Bild zu sehen.



Damit sollte die Expression die wir zur Steuerung der Z-Parameter für unsere "Postkarten im Weltall" via Alpha-Ebene klar sein.



Wer besonders cool sein möchte, kann die Gesamt-Expression noch weiter verkürzen, z.B. auf diese schmissige Formel, die wir quasi in einen einzigen Array packen:



[position[0] , position[1] , zPos=thisComp.layer("Alpha").transform.position[2] + value[2]]



Andere Möglichkeiten sind denkbar.



Viel Spass beim Experimentieren - die After Effects Tip zum Mini-Kapitel Expression sind damit erstmal abgeschlossen. Urlaub ist angesagt und ab Mitte August geht es dann weiter mit unseren wöchentlichen After Effects Tips.



Rob











Ähnliche Artikel //
Umfrage
    Meine nächste Kamera wird eine










    Ergebnis ansehen

slashCAM nutzt Cookies zur Optimierung des Angebots, auch Cookies Dritter. Die Speicherung von Cookies kann in den Browsereinstellungen unterbunden werden. Mehr Informationen erhalten Sie in unserer Datenschutzerklärung. Mehr Infos Verstanden!
RSS Suche YouTube Facebook Twitter slashCAM-Slash