Expressions in After Effects sind JavaScript-basierte Codezeilen, die direkt an Eigenschaften von Layern angehängt werden und deren Werte dynamisch berechnen – so entstehen automatisierte, parametrische Animationen ohne manuelle Keyframes.
Rubrik: Software & Tools Deep-Dive · Unterrubrik: After Effects · Niveau: Einsteiger Synonyme / Auch bekannt als: AE-Expressions, Expression Language, Skriptanimation, Parametrische Animation
Was sind Expressions?
Expressions sind kleine Codeschnipsel, die in After Effects Eigenschaftswerte berechnen, anstatt sie per Keyframe manuell festzulegen. Sie basieren auf JavaScript (genauer: einer eingeschränkten, AE-spezifischen Variante davon) und greifen auf die After Effects Expression Language API zu. Expressions machen Animationen wiederverwendbar, verknüpfbar und skalierbar.
Erklärung
Expression aktivieren: Eine Expression wird aktiviert, indem man bei einer animierbaren Eigenschaft (z. B. Position, Opacity, Rotation) die Alt-Taste hält und auf das Stoppuhr-Symbol klickt (Windows: Alt+Klick, Mac: Option+Klick). Dadurch öffnet sich das Expression-Eingabefeld direkt unter der Eigenschaft in der Timeline. Der bisher eingetragene Wert bleibt erhalten, kann aber nun durch Expression-Code ergänzt oder ersetzt werden.
Grundstruktur einer Expression: Expressions geben immer einen Wert zurück, der dem Typ der Eigenschaft entsprechen muss. Für eine 2D-Position muss die Expression ein Array aus zwei Zahlen zurückgeben: [x, y]. Für Rotation oder Opacity eine einzelne Zahl.
Referenzierung mit dem Pickup-Whip: Mit dem Pickup-Whip-Werkzeug (die spiralförmige Linie neben dem Expression-Feld) kann man auf Eigenschaften anderer Layer zeigen. After Effects generiert automatisch den entsprechenden Expressions-Code, zum Beispiel: `` thisComp.layer("Null 1").transform.position `` Das verknüpft die eigene Position mit der Position des Null Objects „Null 1".
Wichtige Expression-Objekte:
thisComp– Zugriff auf die aktuelle Komposition (z. B.thisComp.durationfür die Gesamtdauer)thisLayer– Zugriff auf die eigene Layer-Ebenetime– aktuelle Zeit in Sekundenvalue– der aktuelle Eigenschaftswert ohne Expression (nützlich als Basis für additive Berechnungen)
Mathematik in Expressions: Expressions unterstützen alle Standard-JavaScript-Operatoren (+, -, *, /) sowie Math-Funktionen wie Math.sin(), Math.cos(), Math.abs() und Math.random(). Trigonometrie-Funktionen sind besonders nützlich für kreisförmige Bewegungen und Schwingungen.
Häufige Anwendungen:
- Wiggle:
wiggle(frequenz, amplitude)– fügt organische Unruhe hinzu - Loopout:
loopOut("cycle")– wiederholt Keyframe-Animationen endlos - Time-Expression:
time * 360– dreht ein Objekt kontinuierlich (1 Umdrehung pro Sekunde) - Index-basierte Verschiebung:
[index * 100, 0]– verschiebt Layer um ihren Index multipliziert mit 100 Pixel
Expressions deaktivieren vs. löschen: Expressions können temporär deaktiviert werden (= Symbol in der Timeline anklicken), ohne den Code zu verlieren. Gelöscht werden sie durch erneutes Alt+Klick auf das Stoppuhr-Symbol.
Beispiele
- Logo-Rotation:
[value[0], value[1]] + wiggle(2, 10)– Logo bewegt sich leicht unruhig um seine Grundposition herum, wirkt lebendig ohne Keyframes. - Progress-Bar:
thisComp.layer("Controller").effect("Slider Control")("Slider")– Ein Slider-Control-Effekt auf einem Null Object steuert die Scale-X eines Rechtecks als Fortschrittsanzeige. - Automatisch drehende Uhr: Expression auf Sekundenzeiger:
time * 6– dreht 6 Grad pro Sekunde = 360/60 Sekunden. - Stagger-Delay:
value + [index * 0.1 * 100, 0]– staffelt mehrere Layer mit jeweils 0,1 Sekunden Versatz. - Reaktiver Kreis: Verknüpfung der Scale-Eigenschaft mit einem Audio-Layer via
thisComp.layer("Audio").audioToKeyframesoder Expression-basiertem Audio-Pick.
In der Praxis
Erste Expression schreiben:
- Eigenschaft (z. B. Rotation) in der Timeline anzeigen: Taste R
- Alt+Klick auf Stoppuhr-Symbol – Expression-Feld öffnet sich
- Code eingeben:
time * 45(dreht 45 Grad pro Sekunde) - Enter oder Klick außerhalb bestätigt
Expression-Editor öffnen: Bei längeren Expressions: Icon mit den „</>"-Klammern öffnet den vollständigen Expression-Editor mit Syntax-Highlighting.
Fehler beheben: Fehlerhafte Expressions werden rot markiert. Warnungs-Icon anklicken zeigt die Fehlermeldung.
Vergleich & Abgrenzung
Cinema 4D nutzt XPresso als node-basiertes System für parametrische Verknüpfungen – mächtiger für komplexe 3D-Szenarien, aber weniger direkt als AE-Expressions. Blender bietet Driver-Expressions über Python. After Effects Expressions sind durch ihre direkte Verknüpfung mit der Timeline besonders zugänglich für Motion Designer ohne tiefes Programmierwissen.
Häufige Fragen (FAQ)
Muss ich JavaScript lernen, um Expressions zu verwenden? Für Basis-Expressions wie wiggle() oder loopOut() reicht es, die Syntax einmal zu lernen und Vorlagen zu kopieren. Für komplexere parametrische Systeme sind Grundkenntnisse in JavaScript (Variablen, if-Abfragen, Arrays, Schleifen) sehr hilfreich, aber kein Muss für Einsteiger.
Verlangsamen Expressions After Effects? Einfache Expressions haben kaum messbaren Einfluss auf die Performance. Bei sehr vielen Layern mit komplexen Expressions kann es zur Verlangsamung kommen. In solchen Fällen empfiehlt es sich, Expressions zu „baken" (mit dem AE-Tool oder Drittan bieter-Plugins in Keyframes umzuwandeln) oder die Expressions für Preview zu deaktivieren.
Verwandte Einträge
Weiterführend
- Harrington, R. (2017): After Effects for Designers. Focal Press.
- Adobe After Effects Hilfe – helpx.adobe.com/after-effects/expressions
- Mt. Mograph – YouTube-Kanal „Expressions in After Effects"
