Tips : Adobe After Effects: Tip#4: Arrays und Dimensionen von rob Do, 28.Juni 2007

In diesem Kurztip wollen wir einen Blick auf die Grundbausteine von Expressions in After Effects werfen. Hierzu sind u.a. folgende Begriffe von zentraler Bedeutung: Arrays, Dimensionen (und Variablen). Also gilt es erstmal Klarheit zu schaffen. Anschließend beginnen wir mit der Analyse der Expression für das Finetuning des Z-Parameters, die im letzten AE-Tip zum Einsatz kam.

Aber jetzt erstmal zu den Grundbausteinen von Expressions in After Effects:
Fangen wir mit einem Zitat aus der offiziellen After Effects Hilfe zum Thema Array an:
"Ein Array ist ein Objekttyp, der einen geordneten Satz Zahlen speichert. Dargestellt wird ein Array als Liste von Zahlen, die, wie in diesem Beispiel, durch Kommas voneinander getrennt und von Klammern umgeben sind. [10, 23]"
Und da wir gerade so schön dabei sind, gleich noch ein Zitat hinterher:
"Die Dimension eines Array entspricht der Anzahl der Elemente in diesem Array."
Alles klar ? Ja ? Nein ? Vielleicht !
OK, dann lieber in der Praxis:

1.
Wir fangen mit einer neuen Komp in AE in der Größe 768x576 an

2. Wir generieren eine Farbfläche in der gleichen Größe
Soweit das alte Spielchen.

3.
Jetzt holen wir uns per Shortcut die Werte für Skalierung und Transparenz (Deckkraft) hervor. Also mit gehaltener Shift-Taste einmal "t" für Transparenz und "s" für Skalierung drücken.
Wie wir sehen, unterscheiden sich die beiden Parameter in den Werten, die diese Parameter beeinflussen: Die Skalierung hat zwei Prozentzahlen (einmal für die x-Skalierung und einmal für die y-Skalierung), wohingegen die Transparenz nur über einen Wert geregelt wird - klar hier braucht es auch nicht mehr.
Für das Kreieren einer Expression zieht dieser Umstand eine ganze Reihe von Regeln nach sich:
a)
Parameter, die über mehr als einen Wert beschrieben werden (wie bsp. Skalierung) werden in einem sogenannten "Array" zusammengefasst.
b)
Die Anzahl der Werte in diesem Array wird "Dimension" genannt.
c)
Ein Array wird immer in eckigen (!) Klammern geschrieben.
d)
Die Werte innerhalb eines Arrays (Zahlenwerte) werden durch Kommata voneinander getrennt.
e)
Mehrere Arrays oder Formeln werden durch Semikolon voneinander getrennt.
f)
Hat ein Werte nur eine Dimension (bsp. Transparenz), braucht er keinen Array, um direkt angesprochen zu werden.
Ok, das waren jetzt eine ganze Menge Regeln - probieren wir sie einfach mal aus:
1.
Mit gehaltener ALT Taste klicken wir auf die Stoppuhr für die Deckkraft unseres Layers.

2.
Wir geben einfach einen Zahlenwert ein, z.B. 50 und klicken auf einen anderen Bereich in der Timeline. Unser Layer
wechselt auf 50 % Deckkraft. Korrekter Weise hätten wir eigentlich einen Array mit eckigen Klammern (ALT + 5, bzw 6) generieren müssen und dann in diesen unseren Wert 50 einsetzen müssen - das funktioniert natürlich auch. Da die Deckkraft jedoch nur über einen Werte geregelt wird, können wir hier den Array-Klimbim getrost bei Seite lassen.
Anders sieht die Sache jedoch bei Parametern mit zwei Dimensionen aus. Machen wir erstmal das Negativ-Beispiel:
1.
Mit gehaltener ALT Taste klicken wir auf die Stoppuhr für die Skalierung unseres Layers.
2.
Wir geben auch hier zunächst einen einzelnen Werte ein - sagen wir wieder unsere 50.

3.
Nachdem wir auf einen anderen Bereich der Timeline
geklickt haben, quittiert After Effects unsere Eingabe mit einer Fehlermeldung:
Es braucht einen Wert mit der Dimension 2 - OK, damit können wir jetzt etwas anfangen:
Wir klicken erneut auf die Stoppuhr für die Skalierung mit gehaltener ALT-Taste und geben nun einen Array mit zwei Dimensionen ein: z.B.:
[20,50]
Voilà, unser erster korrekter Array in Sachen After Effects-Expression.
Wenn wir uns nun die Expression vom letzten Mal vergegenwärtigen, dann lässt sie sich bereits ein bißchen verständlicher ordnen. Anstatt
xPos=position[0]; yPos=position[1]; zPos=thisComp.layer("Alpha").transform.position[2] + value[2] ;[ xPos , yPos , zPos]
in einem durchzuschreiben, können wir durch Semikolon getrennte Sinneinheiten und einen Array mit drei Dimensionen am Ende erkennen:
xPos=position[0];
yPos=position[1];
zPos=thisComp.layer("Alpha").transform.position[2] + value[2] ;
[xPos , yPos , zPos]
Dies hat uns ein großes Stück weiter gebracht. Bereits das Ordnen nach durch Semikolon getrennten Sinneinheiten macht die Expression verständlicher. Wir können einen Array identifizieren und dessen Dimensionen und andere seltsame Sachen, weil wir jetzt wissen, dass Semikola mathematische Sinneinheiten trennen. Doch wir sind noch nicht ganz am Ziel. Hierfür müssen wir uns mit weiteren sehr nützlichen Expression-Optionen beschäftigen: Variablen und Indexierung.
Doch dazu beim nächsten Mal mehr.
rob
Tips: 13. Final Cut Pro X: Bezier vs Linear (Audiokeyframing u.a.) Di, 25.Dezember 2012 In diesem Final Cut Pro X Tip wollen wir Keyframepfade unter Final Cut Pro X mit Hinblick auf Bezier vs Linear genauer betrachten sowie ihr zugehöriges Umfeld in der Audiospur bzw. im Viewer bei Bewegungspfaden ... |
Tips: 12. Final Cut Pro (X):Verbindungen aufheben in FCP X 10.0.6 Mi, 31.Oktober 2012 Wie bereits http://www.slashcam.de/news/single/Apple-Final-Cut-Pro-X-10-0-6-verfuegbar-10234.html (berichtet) bringt das kostenlose Update auf Final Cut Pro X 10.0.6 eine ganze Reihe an neuen Funktionen und Bugfixes für Final Cut Pro X mit. In diesem Tip wollen wir die neue Funktion „Verbindungen aufheben“ vorstellen und auch zeigen, wie man sie sinnvoller aktiviert als von Apple vorgesehen. |
Tips: Älteren Laptop fit für Videoschnitt machen Teil II: SSD Fr, 18.Mai 2012 Im zweiten Teil unseres Laptop-Tuning Kapitels geht es um das Thema SSD. Welche Einbauoptionen gibt, worauf sollte man beim Kauf achten und was hat es mit TRIM, GARBAGE COLLECTION und den verbauten SATA-Controllern auf sich? |
Tips: Zusätzliche Festplatte(n) via eSATA an Mac und PC Di, 7.Februar 2012 |
Tips: 11. Final Cut Pro (X): AVCHD 1080 50p in Final Cut Pro (X) bearbeiten So, 29.Januar 2012 |
Tips: 9. Final Cut Pro (X): Splitscreen Mo, 19.September 2011 |
Tips: 8. Final Cut Pro: Der Waveform-Monitor Di, 7.September 2010 |