After Effects Expressions – Wozu braucht man sie?

Als eine Person, die vom Coding überhaupt nichts bzw. kaum etwas versteht, ist die Hürde groß Expressions in After Effects für Animationen anzuwenden. In diesem Blogbeitrag möchte ich den Fragen nachgehen, weshalb Expressions genutzt werden sollten und welche Expressions in jedem Workflow-Toolbox inkludiert sein sollten.

Was sind Expressions?

Die Kraft in Expressions liegt darin, dass komplexe Animationen ohne Hunderte von Hand gesetzte Keyframes gebaut werden können. Das kann dadurch bewerkstelligt werden, dass die Expression, ein kurzer JavaScript-Code, Animationseigenschaften anspricht, welche zu einem bestimmten Zeitpunkt als Wert ausgewertet und dargestellt wird (vgl. Adobe 2023).

Im Gegensatz zu einem Skript, das Anweisungen an die Anwendung gibt, weist eine Expression einer Eigenschaft etwas zu. Zum Beispiel kann eine Expression auf eine Ballbewegung angewendet werden, um dem Ball ein Zittern zu verleihen, anstatt jede einzelne Position mit Keyframes über einen Zeitraum von 30 Sekunden zu animieren (vgl. Adobe 2023).

Vorteile von Expressions

  1. Zeit sparen und Animationen schneller erstellen
    • Sich wiederholende Aktionen, wie zum Beispiel Verwackeln, Flattern oder Hüpfen, können durch Expressions automatisiert werden. Das ist extrem zeit- und arbeitssparend.
  2. Verknüpfung von verschiedene Eigenschaften
    • Die Verknüpfung von Eigenschaften lässt zu, dass nur eine Eigenschaft animiert werden kann und die weiteren hängen sich dieser an. In After Effekt kann auch einfach das Pigwhip-Tool verwendet werden (vgl. Adobe 2023).

Expressions und ihre Werte in After Effects

In After Effects können alle animierbaren Eigenschaften einen Wert vor und nach der Anwendung einer Expression haben. Der Wert vor der Expression ist der ursprüngliche Wert der Eigenschaft, entweder statisch oder durch Keyframes animiert. Dieser Wert kann von Expressions verändert oder verwendet werden, ähnlich wie ein Bild bevor es durch Effekte ändert wird. Durch die Veränderung kommt man zum Wert nach der Expression. In After Effects sind Werte vor der Expression blau, während die Werte nach der Expression rot sind (vgl. Adobe 2023)..

Bei Werten vor der Expression kann mit einen Attributwert Veränderungen vorgenommen werden. Beispielsweise fügt man der Expression value bei der Drehung mit ursprünglich 5 Grad ein +90 an, würde die Drehung des Objektes bei 95 Grad anfangen (Im Expression Feld würde das folgend aussehen: value+90). Andere Möglichkeiten sind key(index).value (= Wenn der Index-Wert 1 ist, wird der erste Keyframe abgerufen, wenn der Wert 2 beträgt, der zweite Keyframe, usw.) und key(numKeys).value (=immer gleich der Anzahl der Keyframes für die Eigenschaft, also der Wert des letzten Keyframes) (vgl. Adobe 2023).

Wenn das Attribut Drehung mit Keyframes von 0 bis 45 versehen wird, bewirkt die gleiche Expression value+90 eine Animation von 90 bis 135. Auf die Werte der Keyframes kann auch über key(index).value zugegriffen werden, wobei 1 für den Index verwendet wird, um den Wert des ersten Keyframes abzurufen, 2 für den zweiten usw. Das Attribut numKeys ist immer gleich der Anzahl der Keyframes für die Eigenschaft, also ist key(numKeys).value der Wert des letzten Keyframes. Es gibt auch einige Methoden wie beispielsweise wiggle(), welche implizit den Wert vor der Expression verwenden (vgl. Adobe 2023).

Grundlegende Expressionsbeispiele

Wiggle Expression

Wiggle Expression auf der Position der Kreise; https://www.schoolofmotion.com/blog/wiggle-expression%20

Die Wiggle Expression ist einer der am häufigsten benutzten After Effects-Expressions. Ihre Aufgabe ist es, die angesprochene Eigenschaft nach einem Zufallsprinzip auszuführen. Daher sieht die resultierende Animation verwackelt aus. Der Syntax sind wie folgt aus:

wiggle (2,30);

Die Zahlen innerhalb der Klammer bestimmen den Rahmen, in welchem der Wiggle geschieht. Dabei bezieht sich die erste Zahl auf den Wiggle pro Sekunde (Frequenz) und die zweite Zahl gibt die Amplitude/ Stärke der Verwacklung an. Beispielsweise wackelt eine Expression auf der Positionseigenschaft mit dem Syntax wiggle (2,30), zweimal pro Sekunde und kann bis zu 30 Pixel ausschlagen (vgl. Plummer 2024).

Frequenz Parameter; https://www.schoolofmotion.com/blog/wiggle-expression%20

Amplitude Parameter; https://www.schoolofmotion.com/blog/wiggle-expression%20

LoopIn and LoopOut Expression

Die loopIn und loopOut Expression wiederholt die Keyframe Animation über die gesamte Dauer der Ebene. Der Unterschied der beiden liegt darin, dass LoopIn die Animation vom Start der Keyframes bis zum Ende der Ebene wiederholt und loopOut die Animation vom Start der Ebene bis zu den Keyframes wiederholt. Für einen infinite loop ohne Anfang oder Ende sollte man folgende Expression verwenden:

loopIn() + loopOut() – value;

Außerdem gibt es noch 2 Arten von Loop-Expressions: LoopOutDuration und LoopInDuration. Diese beiden unterscheiden sich geringfügig, da sie es ermöglichen, After Effects mitzuteilen, den Loop auf Sekunden statt auf Keyframes zu basieren (vgl. Motion Array 2020).

Arten von Loops

  1. PingPong: Der Pingpong loop nimmt den ersten und letzten Keyframe und bewegt sich zwischen diesen zwei hin und zurück.
  2. Cycle: Der Cycle Loop wiederholt die Keyframes in ihrer Reihenfolge. Deshalb sollte man darauf achten, dass der Start- und End-Keyframe denselben Wert hat, um einen flüssigen Lauf zu bewerkstelligen.
  3. Offset: Der Offset Loop ist etwas schwierig zu verstehen, aber unglaublich kraftvoll in der Anwendung. Im Wesentlichen wiederholt der Offset Loop die Keyframe-Animation, versetzt sie jedoch, so dass sie wieder ab dem letzten Keyframe beginnt.
  4. Continue: Der Continue Loop kann helfen, die Enden von animierten Szenen sauber zu verbinden, wenn man möchte, dass alles gleichzeitig vom Bildschirm verschwindet. Dieser Loop setzt die Geschwindigkeit/Wert des letzten Schlüsselbilds fort; die Animation läuft einfach unendlich weiter, oder bis man entscheidet, ihr ein Ende zu setzen (vgl. Motion Array 2020).
PingPong
Cycle
Offset
Continue

Zeit Expression

Die Expression time eignet sich für Objekte, die ständig in Bewegung sind. Wenn Sie beispielsweise möchten, dass sich ein Objekt für unbestimmte Zeit dreht, können Sie die Expression time zur Eigenschaft Drehung hinzufügen, und das Objekt wird um 1 Grad pro Sekunde gedreht. Es funktioniert auch mit grundlegenden mathematischen Gleichungen. Wenn Sie also möchten, dass sich das vorherige Objekt 40-mal schneller dreht, verwenden Sie die Expression time*40.

Adobe 2023

Bei der Zeit Expression wird mit time der Verlauf von einer Eigenschaft angesprochen, wie zum Beispiel die Position. So lautet der Syntax der Expression:

property + expression

Zum Beispiel: Wenn man die Transparenz einer Ebene über die Zeit hinweg verändern möchte, kann man die folgende Expression verwenden:

opacity + time * 10
Diese Expression verstärkt die Transparenz schrittweise über die Zeit hinweg.

Fazit

Dieser Blogbeitrag muss als Einstieg in die Materie der Expressions gesehen werden. Es gibt einige Arten und Weisen sowie Einschränkungen wie man mit Expressions arbeiten kann. Diese Auflistung oder Auseinandersetzung würde den Rahmen dieses Blogbeitrages, aber komplett sprengen. Trotzdem konnte ich ein erstes Gefühl/ Verständnis für Expressions in After Effects erlangen. Vor allem habe ich durch meine Recherche bemerkt, wie ich meinen Flow in After Effects effizient durch Expressions beschleunigen kann.

Quellenverzeichnis

Adobe(11.10.2023): Expressions Grundlagen. Online unter: https://helpx.adobe.com/at/after-effects/using/expression-basics.html [zuletzt zugegriffen: 25.01.2024].

Motion Array (29.12.2020): How to Master the Loop Expression in After Effects. Online unter: https://motionarray.com/learn/after-effects/loop-expression-in-after-effects/ [zuletzt zugegriffen: 25.01.2024].

Plummer, Ryan (2024): Getting Started with the Wiggle Expression in After Effects. In School of motion. Online unter: https://www.schoolofmotion.com/blog/wiggle-expression [zuletzt zugegriffen: 25.01.2024].

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert