Adobe

Expressions – Grundlagen


 
By clicking Submit, you accept the Adobe Terms of Use.
 

  • Expressions
  • Hinzufügen, Bearbeiten und Entfernen von Expressions
  • Beispiel: Verwenden der Expression-Sprachreferenz, um eine Expression zu schreiben
  • Anzeigen von Expressions und der Expression-Kurve
  • Schreiben von Expressions für Quelltext
  • Hinzufügen von Kommentaren zu einer Expression
  • Speichern und Wiederverwenden von Expressions
  • Effekte unter „Einstellungen für Expressions“
  • Konvertieren einer Expression in Keyframes
  • Die Expression-Sprache
  • Expression-Fehler

Viele der in diesem Abschnitt genannten Beispiele basieren auf Beispielen von Dan Ebberts. Darüber hinaus bietet Dan Ebberts auf seiner Motionscript-Website eine hervorragende Sammlung von Beispiel-Expressions und Lehrgängen zur Erläuterung der Arbeit mit Expressions an.

Das AE Enhancers Forum bietet zahlreiche Beispiele und Informationen zu Expressions sowie Skripte und Animationsvorgaben.

Chris und Trish Meyer bieten auf der ProVideo Coalition-Website einen einfachen Video-Überblick über Expressions an.

Chris und Trish Meyer bieten auf der ProVideo Coalition-Website eine Reihe von Artikeln über Expressions an. Diese Artikel enthalten viele nützliche Beispiele.

Chris und Trish Meyer bieten Tipps über Expressions in ihrem Buch _Creating Motion Graphics_ auf der ProVideo Coalition-Website an.

    Nach oben

    Expressions

    Expressions können Sie beispielsweise verwenden, wenn Sie komplexe Animationen erstellen oder verknüpfen möchten, dafür aber nicht Dutzende oder Hunderte von Keyframes per Hand einrichten wollen. Eine Expression ist – ähnlich wie ein Skript – eine kleine Softwareanwendung, die zu einem bestimmten Zeitpunkt für eine einzelne Ebeneneigenschaft einen bestimmten Wert festlegt. Während Skripte angeben, was eine Anwendung tun soll (Funktion), geben Expressions an, wie eine bestimmte Eigenschaft ist (Wert).

    Mithilfe von Expressions können Sie Beziehungen zwischen Ebeneneigenschaften herstellen und die Keyframes einer Eigenschaft zum dynamischen Animieren anderer Ebenen verwenden. Sie können beispielsweise auch das Expression-Auswahlwerkzeug verwenden, um Pfadeigenschaften zu verknüpfen, sodass eine Maske ihren Pfad von einem Pinselstrich oder einem Formebenen-Objekt übernehmen kann.

    Die Sprache für Expressions basiert zwar auf der Standard-Skriptsprache JavaScript, aber Sie können Expressions auch ohne Kenntnisse von JavaScript verwenden. Sie können Expressions durch die Verwendung des Expression-Auswahlwerkzeugs erstellen oder indem Sie einfache Beispiele kopieren und diese Ihren Bedürfnissen entsprechend anpassen.

    Hinweis: Zwei Quellen für Beispiel-Expressions sind das Vorlagenprojekt Expression Sampler („Datei“ > „Vorlagenprojekte durchsuchen“ (Windows) bzw. „Ablage“ > „Vorlagenprojekte durchsuchen“ (Mac OS)) und die Animationsvorgaben in der Kategorie „Verhalten“ („Animation“ > „Vorgaben durchsuchen“).

    Animationsvorgaben können Expressions beinhalten oder sogar ausschließlich aus Expressions bestehen. Animationsvorgaben, die anstelle von Keyframes Expressions verwenden, werden manchmal Verhalten genannt.

    Wenn Sie einer Eigenschaft eine Expression hinzugefügt haben, können Sie weiterhin Keyframes für die Eigenschaft hinzufügen oder diese bearbeiten. Eine Expression kann den Wert einer Eigenschaft so übernehmen, wie diese von ihren Keyframes bestimmt wurde, und diesen als Eingabe zum Erstellen neuer, geänderter Werte verwenden. Die folgende Expression zur Eigenschaft „Drehung“ einer Ebene fügt zusätzlich zur Bewegung des Keyframes 90° zum Wert der Eigenschaft „Drehung“ hinzu:

      value + 90

    Einige Methoden, wie z. B. Verwackeln, haben direkten Einfluss auf die Eigenschaftswerte des Keyframes. (Siehe Objekttyp „Property“ (Eigenschaft): Attribute und Methoden (Expression-Referenz).)

    Die folgende Expression zur Eigenschaft „Position“ einer Ebene behält die Keyframe-Bewegung der Ebene bei und verursacht somit ein geringes Verwackeln:

      wiggle(10, 10)
    Hinweis: Es ist oft einfacher und schneller, die Expression wiggle zu verwenden als „Verwackeln“.

    Beim Animieren von Text können Sie die Expression-Auswahl verwenden, um anzugeben, wie stark eine Animator-Eigenschaft jedes Textzeichen beeinflussen soll. Sie können einer Animatorgruppe eine oder mehrere Expression-Auswahlbereiche hinzufügen. Diese Animatorgruppe kann eine oder mehrere Eigenschaften enthalten.

    Nach oben

    Hinzufügen, Bearbeiten und Entfernen von Expressions

    Sie können ganze Expressions selbst eingeben, indem Sie sie manuell eingeben oder indem Sie das Expression-Sprachmenü verwenden. Sie können eine Expression aber auch mit dem Expression-Auswahlwerkzeug erstellen oder aus einem Beispiel oder einer anderen Eigenschaft einfügen.

    Sie können alle Arbeiten an Expressions im Zeitleistenfenster durchführen. Doch manchmal ist es bequemer, das Expression-Auswahlwerkzeug zu einer Eigenschaft im Effekteinstellungsfenster zu ziehen. Auf der Zeitachse können Sie im größenveränderbaren Expression-Feld Expressions eingeben und bearbeiten. Im Modus „Ebenenbalken“ wird das Expression-Feld neben der Eigenschaft angezeigt; im Modus „Diagrammeditor“ wird das Expression-Feld am unteren Rand des Diagrammeditors angezeigt. Außerdem ist es möglich, eine Expression in einem Texteditor zu schreiben und dann in das Expression-Feld zu kopieren. Wenn Sie einer Ebeneneigenschaft eine Expression hinzufügen, wird eine Standard-Expression im Expression-Feld angezeigt. Die Standard-Expression bewirkt in der Regel nichts. Sie setzt den Eigenschaftswert fest, was Ihnen die Optimierung der Expression erleichtert.

    Expression-Benutzeroberfläche im Zeitleistenfenster im Modus „Ebenenbalken“.
    A.
    Schalter „Expression aktivieren“

    B.
    Schaltfläche „Kurve nach Expression anzeigen“

    C.
    Expression-Auswahlwerkzeug

    D.
    Expression-Sprachmenü

    E.
    Expression-Feld

    Während Sie eine Expression bearbeiten, werden Vorschauen aller Art zurückgestellt. Am unteren Rand der Fenster, die darauf warten, dass Sie den Textbearbeitungsmodus verlassen, wird ein roter Balken angezeigt.

    Die Werte für eine Eigenschaft, die eine Expression enthält, werden in roter oder rosa Schrift angezeigt.

    Eine gute Methode zu Beginn der Arbeit ist das Erstellen einer einfachen Expression mit dem Expression-Auswahlwerkzeug und dem anschließenden Anpassen des Verhaltens der Expression mit einfachen mathematischen Operationen. Einige sind in der folgenden Tabelle aufgeführt:

    Symbol

    Funktion

    +

    Addieren

    -

    Subtrahieren

    /

    Dividieren

    *

    Multiplizieren

    *-1

    Umkehrung des Originals, z. B. „gegen den Uhrzeigersinn“ statt „im Uhrzeigersinn“

    Sie können das Ergebnis z. B. verdoppeln, indem Sie am Ende einer Expression *2 eingeben. Sie können das Ergebnis aber auch halbieren, indem Sie am Ende der Expression /2 eingeben.

    Wenn Sie mit dem Bearbeiten von Expressions vertrauter sind, können Sie diese einfachen Operationen kombinieren und mehr. Sie können z. B. /360*100 am Ende einer Expression hinzufügen, um ihren Bereich von 0 bis 360 in 0 bis 100 zu ändern. Diese Änderung ist z. B. dann sinnvoll, wenn Sie die Werte einer 360°-Steuerung in einen Regler mit Prozentwerten umwandeln möchten.

    Das Expression-Sprachmenü im Zeitleistenfenster enthält alle programmspezifischen Sprachelemente für After Effects, die Sie in einer Expression verwenden können. Sie können dieses Menü als Referenz verwenden, um nachzusehen, welche Elemente gültig und verfügbar sind und welche Syntax jeweils zu verwenden ist. Wenn Sie ein beliebiges Objekt, ein Attribut oder eine Methode aus dem Menü auswählen, fügt After Effects dieses Element automatisch an der Einfügemarke in die Expression ein. Wird Text im Expression-Feld ausgewählt, ersetzt der neue Expression-Text den ausgewählten Text. Befindet sich die Einfügemarke nicht im Expression-Feld, ersetzt der neue Expression-Text den gesamten Text im Feld.

    Das Expression-Sprachmenü enthält eine Liste der Argumente und Standardwerte. Auf diese Weise können Sie sich schnell und einfach einen Überblick darüber verschaffen, welche Elemente Sie beim Schreiben von Expressions zur Verfügung haben. Im Sprachmenü in der Kategorie „Eigenschaft“ wird die Methode „wiggle“ z. B. als wiggle(freq, amp, octaves=1, amp_mult=.5, t=time) angezeigt. Hinter wiggle sind fünf Argumente in Klammern angegeben. Das = in den letzten drei Argumenten bedeutet, dass diese Argumente optional sind. Wenn Sie keine Werte angeben, werden automatisch die Standardwerte 1 und 0,5 sowie die aktuelle Zeit verwendet.
    Wichtig: Sie müssen die von dem Expression-Sprachmenü geschriebenen Argumentnamen durch tatsächliche Werte ersetzen.

    Paul Tuersley bietet im AE Enhancers Forum ein Skript an, das ausgewählten Eigenschaften automatisch die Expressions wiggle, smooth und loop hinzufügt. Dieses Skript stellt eine gute Möglichkeit für Anfänger dar, mit Expressions zu experimentieren.

    Jeff Almasol hält ein Skript bereit, das Expressions automatisch verarbeitet, indem es bestimmte Änderungen daran vornimmt. Mit dem Skript können beispielsweise deaktivierte Expressions automatisch entfernt oder aktiviert werden. Weitere Informationen finden Sie auf Jeff Almasols Redefinery-Website.

    Hinzufügen, Deaktivieren oder Entfernen einer Expression

    • Wenn Sie einer Eigenschaft eine Expression hinzufügen möchten, wählen Sie die Eigenschaft im Zeitleistenfenster aus und klicken Sie dann auf „Animation“ > „Expression hinzufügen“. Alternativ können Sie die Alt-Taste+Umschalttaste+= (Windows) bzw. die Wahltaste+Umschalttaste+= (Mac OS) drücken oder bei gedrückter Alt-Taste (Windows) bzw. Wahltaste (Mac OS) auf die Stoppuhr-Schaltfläche  neben dem Eigenschaftsnamen im Zeitleisten- oder Effekteinstellungsfenster klicken.
    • Wenn Sie eine Expression vorübergehend deaktivieren möchten, klicken Sie auf den Schalter „Expression aktivieren“ . Wenn eine Expression deaktiviert ist, wird das Schaltersymbol durchgestrichen angezeigt.
    • Wenn Sie eine Expression aus einer Eigenschaft entfernen möchten, wählen Sie die Eigenschaft im Zeitleistenfenster aus und wählen Sie „Animation“ > „Expression entfernen“ oder klicken Sie bei gedrückter Alt-Taste (Windows) bzw. bei gedrückter Wahltaste (Mac OS) auf die Stoppuhr-Schaltfläche neben dem Eigenschaftsnamen im Zeitleisten- oder Effekteinstellungsfenster.

    Bearbeiten einer Expression mit dem Expression-Auswahlwerkzeug

    Auch wenn Sie weder mit JavaScript noch mit der After Effects-Expression-Sprache vertraut sind, können Sie die vielfältigen Möglichkeiten nutzen, die Expressions bieten – verwenden Sie einfach das Expression-Auswahlwerkzeug. Ziehen Sie einfach das Expression-Auswahlwerkzeug  von einer Eigenschaft zu einer anderen, um die Eigenschaften mit einer Expression zu verknüpfen, dann wird der Expression-Text an der Einfügemarke in das Expression-Feld eingegeben. Wird Text im Expression-Feld ausgewählt, ersetzt der neue Expression-Text den ausgewählten Text. Befindet sich die Einfügemarke nicht im Expression-Feld, ersetzt der neue Expression-Text den gesamten Text im Feld.

    Durch Ziehen des Expression-Auswahlwerkzeugs können Sie eine Verknüpfung zu den Eigenschaftswerten herstellen.

    Sie können das Expression-Auswahlwerkzeug auf den Namen oder den Wert einer Eigenschaft ziehen. Wenn Sie das Expression-Auswahlwerkzeug auf den Namen der Eigenschaft ziehen, werden in der sich dabei ergebenden Expression alle Werte als einer angezeigt. Wenn Sie z. B. das Expression-Auswahlwerkzeug auf den Namen der Eigenschaft „Position“ ziehen, wird folgende Expression angezeigt:

      thisComp.layer("Layer 1").transform.position

    Wenn Sie das Expression-Auswahlwerkzeug zu einem Wert der Eigenschaft „Position“ ziehen (z. B. zum y-Wert), wird eine Expression wie die folgende angezeigt, in der sowohl die x- als auch die y-Koordinate der Eigenschaft mit dem y-Wert der Eigenschaft „Position“ verknüpft sind.

      temp = thisComp.layer("Layer 1").transform.position[1]; 
      [temp, temp]

    Wenn die Ebene, die Maske oder der Effekt, zu dem Sie das Expression-Auswahlwerkzeug ziehen, keinen eindeutigen Namen in seinem lokalen Kontext hat, wird das entsprechende Element von After Effects umbenannt. So wird beim Vorhandensein mehrerer Masken mit dem Namen „Maske“ auf derselben Ebene die Maske, auf die das Expression-Auswahlwerkzeug gezogen wird, in „Maske 2“ umbenannt.

    Das Format der mit dem Expression-Auswahlwerkzeug erstellten Expressions wird durch die Voreinstellung „Expression-Auswahlwerkzeug schreibt kompaktes Englisch“ („Bearbeiten“ > „Voreinstellungen“ > „Allgemein“ (Windows) oder „After Effects“ > „Einstellungen“ > „Allgemein“ (Mac OS)) bestimmt. Das Expression-Auswahlwerkzeug erstellt standardmäßig kurze englische Expressions, die die Namen für Eigenschaften verwenden, wie sie im Zeitleistenfenster für die Eigenschaften in einer Expression angezeigt werden. Da diese Namen fest in die Anwendung programmiert sind und sich nie ändern, können diese Expressions auch funktionieren, wenn After Effects in einer anderen Sprache ausgeführt wird. Eigenschaftennamen, die Sie ändern können, werden in doppelte Anführungszeichen gesetzt und bleiben in allen Sprachen gleich. Wenn Sie Ihre Projekte nicht für mehrere Sprachen freigeben möchten, können Sie diese Voreinstellung deaktivieren. Diese Voreinstellung hat keine Auswirkungen auf Namen oder Eigenschaften von Effekten.

    Hier ist ein Beispiel in kompaktem Englisch:

      thisComp.layer("Layer 1").transform.position

    Hier ist dieselbe Expression, nicht in kompaktem Englisch:

      thisComp.layer("Layer 1")("Transform")("Position")
    Hinweis: Da die Voreinstellungsoption „Expression-Auswahlwerkzeug schreibt kompaktes Englisch“ standardmäßig aktiviert ist, wird in allen Beispielen und Abbildungen in diesem Dokument „kompaktes Englisch“ verwendet.
    1. Ziehen Sie das Expression-Auswahlwerkzeug auf eine andere Eigenschaft im Zeitleisten- oder Effektfenster.
    2. Sie können auch die Standard-Expression im Expression-Feld bearbeiten.
    Hinweis: Wenn Sie mit dem Auswahlwerkzeug eine Expression erstellen, um auf eine Ebene zu verweisen, und diese Ebene denselben Namen hat wie eine andere Ebene in derselben Komposition, wird der Name der Zielebene geändert. Der neue Ebenenname entspricht dem alten Namen mit einer angehängten Zahl. Diese Änderung ist notwendig, damit die Expression eindeutig auf eine einzige Ebene der Komposition verweist.

    Manuelles Bearbeiten einer Expression

    1. Klicken Sie in das Expression-Feld, um in den Textbearbeitungsmodus zu gelangen.
      Hinweis: Wenn Sie den Textbearbeitungsmodus aufrufen, wird die gesamte Expression ausgewählt. Wenn Sie der Expression etwas hinzufügen möchten, klicken sie in die Expression, um die Einfügemarke zu platzieren, sonst ersetzen Sie die ganze Expression.
    2. Geben Sie Text in das Expression-Feld ein und bearbeiten Sie diesen. Dabei können Sie das Expression-Sprachmenü verwenden.
      Wenn Sie mehr von einer mehrzeiligen Expression anzeigen möchten, ziehen Sie am oberen oder unteren Rand des Expression-Feldes, um die Größe anzupassen.
    3. Wenn Sie den Textbearbeitungsmodus beenden und die Expression aktivieren möchten, führen Sie einen der folgenden Schritte aus:
      • Drücken Sie die Eingabetaste auf dem Ziffernblock.

      • Klicken Sie außerhalb des Expression-Feldes.

    Nach oben

    Beispiel: Verwenden der Expression-Sprachreferenz, um eine Expression zu schreiben

    Anhand dieses Beispiels können Sie lernen, wie Sie mit der Expression-Sprachreferenz von After Effects-Expressions schreiben können. Die in diesem Beispiel erstellte Expression verknüpft die Eigenschaft „Position“ von „Farbfläche 1“ mit derselben Eigenschaft von „Farbfläche 2“, wobei die Bewegung von „Farbfläche 2“ gegenüber der von „Farbfläche 1“ um zwei Sekunden versetzt ist.

    1. Erstellen Sie zwei Farbflächenebenen: „Farbfläche 1“ und „Farbfläche 2“.

    2. Animieren Sie die Werte für die Eigenschaft „Position“ für „Farbfläche 1“. (Siehe Animation, Keyframes und Expressions.)

    3. Wählen Sie die Positionseigenschaft für „Farbfläche 2“ aus und klicken Sie auf „Animation“ > „Expression hinzufügen“ oder bei gedrückter Alt-Taste (Windows) bzw. Wahltaste auf die Eigenschaftsschaltfläche „Stoppuhr“ . Standardmäßig erscheint die folgende Expression:

        transform.position
    4. Überschreiben Sie transform.position mit folgendem Eintrag:

        thisComp
    5. Das Element thisComp ist ein globales Attribut, dessen Wert ein Objekt des Typs „Comp“ (Komposition) ist, das die aktuelle Komposition darstellt. Um festzustellen, was in Ihrer Expression nach thisComp stehen kann, suchen Sie den Rückgabewert für thisComp unter Globale Objekte, Attribute und Methoden (Expression-Referenz) heraus.

      Beachten Sie, dass thisComp ein Objekt des Typs „Comp“ (Komposition) zurückgibt. Im Abschnitt Objekttyp „Comp“ (Komposition): Attribute und Methoden (Expression-Referenz) ist angegeben, welche Attribute und Methoden Sie mit einem Objekt des Typs „Comp“ verwenden können. Eine Option ist layer(index). Der Index (die Nummer) in Klammern gibt die Ebene an, die Sie verwenden möchten. In diesem Beispiel wird davon ausgegangen, dass „Farbfläche 1“ die erste Ebene in der Komposition ist. Wenn Sie Werte aus der ersten Ebene der aktiven Komposition abrufen möchten, geben Sie am Ende der Expression .layer(1) ein. Sie erhalten folgendes Ergebnis:

        thisComp.layer(1)
    6. Ein erneuter Blick in die After Effects-Referenz für Expression-Elemente zeigt, dass layer(index) ein Objekt des Typs „Layer“ (Ebene) zurückgibt. Suchen Sie unter Objekttyp „Layer General“ (Ebene allgemein): Allgemeine Attribute und Methoden (Expression-Referenz) das gewünschte Element heraus. Wenn Sie z. B. die Werte der Eigenschaft „Position“ für eine Ebene abrufen möchten, geben Sie am Ende der Expression .position ein. Sie erhalten folgendes Ergebnis:

        thisComp.layer(1).position 
    7. Aus dem Abschnitt Objekttyp „Layer General“ (Ebene allgemein): Allgemeine Attribute und Methoden (Expression-Referenz) können Sie ersehen, dass das Attribut position eine Eigenschaft zurückgibt. Beachten Sie unter Objekttyp „Property“ (Eigenschaft): Attribute und Methoden (Expression-Referenz), dass Sie der Expression einen Zeitfaktor hinzufügen können. Wenn Sie eine bestimmte Zeit, z. B. den aktuellen Zeitpunkt plus 2 Sekunden hinzufügen möchten, geben Sie am Ende der Expression .valueAtTime(time+2)ein. Sie erhalten folgendes Ergebnis:

        thisComp.layer(1).position.valueAtTime(time+2)
    8. Beachten Sie unter Objekttyp „Property“ (Eigenschaft): Attribute und Methoden (Expression-Referenz), dass die Methode valueAtTime eine Zahl oder ein Array zurückgibt. Wenn eine Expression eine Zahl, ein Array oder einen booleschen Wert (z. B. „true“ oder „false“) zurückgibt, können Sie dieser Expression keine weiteren Attribute oder Methoden hinzufügen. (Auf Wunsch können Sie jedoch Operatoren wie + , – , * und / hinzufügen)

    Nach oben

    Anzeigen von Expressions und der Expression-Kurve

    Im Modus „Diagrammeditor“ wird das einzelne Expression-Feld am unteren Rand des Diagrammeditors als größenveränderbares Feld angezeigt und zeigt nur die Expression der ausgewählten Eigenschaft an. Um mehrere Expression-Felder gleichzeitig anzuzeigen, muss sich das Zeitleistenfenster im Modus „Ebenenbalken“ befinden.
    Drücken Sie Umschalttaste + F3, um zwischen den Modi „Ebenenbalken“ und „Diagrammeditor“ hin- und herzuschalten.
    • Um nur Eigenschaften mit Expressions anzuzeigen, wählen Sie eine oder mehrere Ebenen aus und drücken Sie dann zweimal die Taste „E“.
    • Wenn Sie das Expression-Feld im Diagrammeditor anzeigen möchten, wählen Sie unten im Diagrammeditor aus dem Menü „Diagrammtyp und Optionen wählen“  die Option „Expression-Editor anzeigen“. Wenn Sie einer Eigenschaft eine neue Expression hinzufügen, wird der Expression-Editor angezeigt, unabhängig von dieser Einstellung.
      Um die Größe des Expression-Felds zu ändern, ziehen Sie dessen unteren Rand nach oben oder unten.
    • Um die Auswirkungen der Expression auf Werte oder Geschwindigkeit zu beurteilen, klicken Sie im Diagrammeditor auf das Symbol „Kurve nach Expression anzeigen“ .

      Die schwach eingefärbte Kurve zeigt den Wert oder die Geschwindigkeit vor Anwendung der Expression. Die leuchtend farbige Kurve zeigt, wie sich die Expression auf den Wert oder die Geschwindigkeit auswirken wird. Der Anzeige des Bewegungspfads im Kompositionsfenster können Sie ebenfalls entnehmen, welche Auswirkungen die Expression auf den Pfad hat, sofern die Option „Kurve nach Expression anzeigen“ aktiviert ist.

    Mit dem Suchfeld im Zeitleistenfenster können Sie sowohl nach Expressions als auch nach anderen Komponenten einer Eigenschaft suchen. Wenn die Suchzeichenfolge in einer Expression vorkommt, werden die entsprechende Eigenschaft sowie die Eigenschaftsgruppe und die Ebene, zu der die Eigenschaft gehört, in den gefilterten Suchergebnissen angezeigt.
    Nach oben

    Schreiben von Expressions für Quelltext

    Die Eigenschaft „Quelltext“ einer Textebene wird von Expressions als JavaScript-String interpretiert. Sie können das Expression-Auswahlwerkzeug verwenden, um auf den Quelltext aus einer anderen Ebene zuzugreifen, es wird jedoch nur der Stil des ersten Zeichens der Zielebene verwendet.

    Weitere Informationen zum JavaScript-Objekt „String“ finden Sie einer JavaScript-Referenzressource.

    Mit "\r" in einer String-Expression wird eine neue Textzeile begonnen. Wenn Sie z. B. den Originaltext einer Ebene in Großbuchstaben auf dieselbe Ebene in eine neue Zeile kopieren möchten, verwenden Sie die folgende Expression:

      text.sourceText + "\r" + text.sourceText.toUpperCase()

    Das Hinzufügen einer Textebene zu einer Komposition und das Hinzufügen einer Expression zu deren Eigenschaft „Quelltext“ ist eine gute Möglichkeit, die Eigenschaftswerte anderer Ebenen zu untersuchen. Die folgende Expression in einer Eigenschaft „Quelltext“ meldet den Namen und Wert der Eigenschaft „Deckkraft“ für die nächste Ebene in der Stapelreihenfolge von Ebenen:

      thisComp.layer(index + 1).name + "\rOpacity = " + thisComp.layer(index + 1).opacity.value

    Im folgenden Beispiel wird der Name des Footageelements angegeben, das als Quelle der ersten Bildebene im Stapel zum aktuellen Zeitpunkt verwendet wird, für das der Schalter „Video“ eingestellt ist.

      source_footage_name = ""; 
      for (i = 1; i <= thisComp.numLayers; i++){ 
          if (i == index) continue; 
          my_layer = thisComp.layer(i); 
          if (! (my_layer.hasVideo && my_layer.active)) continue; 
          if (time >= my_layer.inPoint && time < my_layer.outPoint){ 
              try{ 
                  source_footage_name = my_layer.source.name; 
              }catch(err1){ 
                  source_footage_name = my_layer.name 
              } 
              break; 
          } 
      } 
      source_footage_name

    Aharon Rabinowitz stellt unterRed Giant TV einen Video-Lehrgang und Beispiel-Expressions zur Verfügung, die zeigen, wie ein Videospielstand mit der Eigenschaft „Quelltext“ und einem Schiebereglereffekt (Effekt „Einstellungen für Expressions) animiert werden kann.

    Harry Frank hat auf seiner graymachine-Website eine Schulung veröffentlicht, in der die Verwendung von Expressions für das Lesen von Daten aus einer externen Textdatei erläutert wird.

    Nach oben

    Hinzufügen von Kommentaren zu einer Expression

    Wenn Sie eine komplexe Expression schreiben, die Sie für sich selbst oder andere Benutzer zur späteren erneuten Verwendung vorgesehen haben, sollten Sie Kommentare hinzufügen, in denen erklärt wird, welche Aufgaben die Expression durchführt und wie ihre Bestandteile funktionieren.

    • Geben Sie am Anfang des Kommentars // ein. Text zwischen // und dem Ende der Zeile wird vom Programm ignoriert. Beispiel:
        // This is a comment.

      Weitere Beispiele für Kommentare dieser Art finden Sie im Abschnitt Expression-Beispiel: Deckkraft einer 3D-Ebene entsprechend der Entfernung zur Kamera blenden.

    • Geben Sie am Anfang des Kommentars /* und am Ende */ ein. Text zwischen /* und */ wird ignoriert. Beispiel:
        /*  This is a   
            multiline comment. */

      Weitere Beispiele für Kommentare dieser Art finden Sie im Abschnitt Speichern und Wiederverwenden von Expressions.

    Nach oben

    Speichern und Wiederverwenden von Expressions

    Wenn Sie eine Expression geschrieben haben und zur späteren Verwendung speichern möchten, können Sie sie entweder kopieren und in einer Textverarbeitungsanwendung einfügen oder als Animationsvorgabe oder Vorlagenprojekt speichern. Da Expressions jedoch in Bezug auf andere Ebenen in einem Projekt geschrieben und dabei bestimmte Ebenennamen verwendet werden, müssen Sie die Expression beim Übertragen in ein anderes Projekt häufig entsprechend anpassen.

    Mithilfe der normalen JavaScript-Funktionssyntax können Sie in Expressions auch eigene Funktionen definieren. In diesem Beispiel wird in der letzten Zeile eine Funktion verwendet, mit der der Durchschnitt zweier Werte berechnet wird:

      function average(a, b) 
      { 
        return (a + b) / 2; 
      } 
      average(position, thisComp.layer(1).position); 
    Hinweis: Sie müssen jede Funktion vollständig in allen Expressions definieren, in denen sie verwendet wird. Es gibt kein globales Funktionsverzeichnis, dem Sie Funktionen hinzufügen könnten.

    Wenn Sie eine Expression zur Verwendung in einem anderen Projekt speichern möchten, sollten Sie der Expression Kommentare hinzufügen. (Siehe Hinzufügen von Kommentaren zu einer Expression.) Außerdem sollten Sie Variablen verwenden, damit Sie einen Wert nur an einer Stelle und nicht an mehreren Stellen ändern müssen.

    Diese Expression hat z. B. einen mehrzeiligen Kommentar am Anfang, in dem erklärt wird, welche Aufgaben die Expression durchführt. Ein kurzer Kommentar nach der Deklaration und Initialisierung einer Variablen erklärt, wofür die Variable verwendet wird:

      /*  This expression on a Source Text property reports the name 
          of a layer and the value of its Opacity property. */  
        
      var myLayerIndex = 1; // layer to inspect, initialized to 1, for top layer  
        
      thisComp.layer(myLayerIndex).name + ": \rOpacity = " +   thisComp.layer(myLayerIndex).opacity.value

    Sie können eine Animationsvorgabe, die eine Expression enthält, speichern und in anderen Projekten wiederverwenden, vorausgesetzt, die Expression verweist nicht auf Eigenschaften, die in den anderen Projekten nicht existieren. Wenn Sie eine Vorgabe speichern, in der eine Eigenschaft nur eine Expression ohne Keyframe hat, wird nur die Expression gespeichert. Besitzt die Eigenschaft einen oder mehrere Keyframes, werden in der Vorgabe sowohl die Expression als auch alle Keyframe-Werte gespeichert.

    Sie können eine Expression aus einer Ebeneneigenschaft kopieren, entweder mit den Keyframes der Eigenschaft oder ohne die Keyframes.

    • Wenn Sie eine Expression und Keyframes von einer Eigenschaft in andere kopieren möchten, wählen Sie im Zeitleistenfenster die Eigenschaft „Quellebene“ aus, und kopieren Sie die Ebeneneigenschaft in die Eigenschaften der Zielebene.
    • Wenn Sie eine Expression ohne Keyframes von einer Eigenschaft in andere kopieren möchten, wählen Sie die Quelleigenschaft aus, dann wählen Sie „Bearbeiten“ > „Nur Expression kopieren“, anschließend die Zieleigenschaften und schließlich fügen Sie die Eigenschaft ein.
      Das Kopieren einer Expression ohne Keyframes empfiehlt sich besonders, wenn Sie mehrere Expressions gleichzeitig kopieren und in eine oder mehrere neue Ebenen einfügen möchten oder wenn Sie eine Expression kopieren und in mehr als eine Ebene einfügen möchten.
    Hinweis: Wie beim Einfügen von Keyframes und anderen Elementen können Sie das Element häufig in die Zielebene einfügen und sich darauf verlassen, dass After Effects ermittelt, welche Eigenschaft Ziel des Einfügevorgangs sein soll. Das funktioniert z. B. beim Kopieren von Positionseigenschaften aus einer Ebene in eine andere. Wenn Sie jedoch eine Expression aus einer Positionseigenschaft in eine Eigenschaft „Skalierung“ einfügen, müssen Sie die Zieleigenschaft selbst auswählen.

    Paul Tuersley stellt das pt_ExpressEdit script zum Verwalten und Bearbeiten von Expressions zur Verfügung.

    Nach oben

    Effekte unter „Einstellungen für Expressions“

    Mit den Effekten unter „Einstellungen für Expressions“ können Sie eine Einstellung hinzufügen, mit der sich die Werte einer oder mehrerer Eigenschaften manipulieren lassen. Dies geschieht, indem Sie die Eigenschaft mithilfe von Expressions mit der Einstellung verknüpfen. Eine einzelne Einstellung kann sich auf mehrere Eigenschaften gleichzeitig auswirken.

    Die Namen der Effekte unter „Einstellungen für Expressions“ geben an, auf welche Art von Eigenschaft sie sich beziehen: „Einstellungen für Winkel“, „Einstellungen für Kontrollkästchen“, „Einstellungen für Farben“, „Einstellungen für Ebenen“, „Einstellungen für Punkte“, „Einstellungen für Schieberegler“. After Effects CS5.5 und höher enthält ebenfalls eine 3D-Punkt-Steuerung.

    Wenn Sie eine Animationsvorgabe aus der Kategorie „Animationsvorgaben“ > „Formen“ > „Hintergründe“ anwenden, wird im Effektfenster ein angepasster Effekt vom Typ „Animierte Formkontrolle“ angezeigt. Dieser angepasste Effekt ist eine besondere Einstellung für Expressions, die speziell für diese Animationsvorgaben erstellt wurde. Sie können diesen Effekt kopieren und auf anderen Ebenen einfügen oder als eigene Animationsvorgabe speichern, damit sie sich anderswo anwenden lässt.

    Die Effekte unter „Einstellungen für Expressions“ werden auf die gleiche Weise auf eine Ebene angewendet wie andere Effekte, z. B. indem der Effekt aus dem Effekte- und Vorgabenfenster auf die Ebene gezogen wird.

    Die Effekte unter „Einstellungen für Expressions“ können zwar jeder beliebigen Ebene zugewiesen werden; es empfiehlt sich jedoch, diese Effekte auf eine Nullebene anzuwenden, die gewissermaßen als Steuerungsebene verwendet werden kann. Anschließend können Sie Expressions zu Eigenschaften auf anderen Ebenen hinzufügen, damit diese Ebenen Eingaben von der betreffenden Einstellung annehmen. Sie können einer Nullebene („Null 1“) z. B. den Effekt „Einstellungen für Schieberegler“ hinzufügen und anschließend diese Expression auf die Positionseigenschaften mehrerer Ebenen anwenden:

      position+[0,10*(index-1)*thisComp.layer("Null 1").effect("Slider Control")("Slider")]

    Wenn Sie den Schieberegler in diesem Beispiel ziehen, wird jede Ebene mit dieser Expression verschoben. Ebenen mit höheren Indexnummern (am unteren Rand des Zeitleistenfensters) werden weiter verschoben als Ebenen mit niedrigeren Indexnummern, und zwar in 10-Pixel-Schritten. Auf der Nullebene können Sie Keyframes für den Schieberegler festlegen; alle anderen Ebenen werden entsprechend animiert.

    Oft ist es sinnvoll, die einzelnen Instanzen eines Effekts unter „Einstellungen für Expressions“ gemäß ihres speziellen Zwecks umzubenennen. Wenn Sie beispielsweise eine Instanz des Effekts „Einstellungen für Farben“ in Himmelsfarbe umbenennen, ist sofort zu erkennen, welcher Effekt damit erzielt wird. Sie können die Instanzen eines Effekts unter „Einstellungen für Expressions“ genau wie jeden anderen Effekt umbenennen: Wählen Sie den Effekt im Zeitleisten- oder Effektfenster aus und drücken Sie die Eingabetaste (Windows) bzw. den Zeilenschalter (Mac OS).

    Um eine Einstellung zu ändern, klicken Sie mit der rechten Maustaste (Windows) bzw. bei gedrückter Ctrl-Taste (Mac OS) auf den unterstrichenen Eigenschaftswert der Einstellung und wählen Sie im Kontextmenü „Wert bearbeiten“ aus.

    Weitere Ressourcen zu den Effekten unter „Einstellungen für Expressions“

    Jerzy Drozda, Jr. (Maltaannon) bietet auf der Motionworks-Website eine einfache Erläuterung und Demonstration des Effekts „Einstellungen für Winkel“ und der Effekte unter „Einstellungen für Expressions“ im Allgemeinen an.

    Aharon Rabinowitz’ dreiteilige Video-Lehrgangsserie „After Effects Expression Controls“ auf der Creative COW-Website stellt die Effekte unter „Einstellungen für Expressions“ vor und zeigt einige grundlegende Beispiele ihrer Verwendung.

    Harry Frank stellt auf seiner graymachine-Website ein Uhrenprojekt vor, in dem die Zeigerbewegungen mit einem Effekt „Einstellungen für Winkel“ auf einer Nullebene verbunden sind, die die Zeit steuert.

    Todd Kopriva stellt in seinem sampleImage Anleitungen zur Verwendung der After Effects Region of Interest-Blog-Methode und des Effekts „Einstellungen für Punkte“ zur Farbüberwachung eines bestimmten Punktes während der Farbkorrektur bereit.

    Nach oben

    Konvertieren einer Expression in Keyframes

    In einigen Situationen kann es sinnvoll sein, eine Expression in Keyframes umzuwandeln. Dies ist z. B. dann der Fall, wenn Sie die Werte in einer Expression einfrieren möchten. Sie können in diesem Fall die Expression in Keyframes umwandeln und dann die Keyframes entsprechend anpassen. Auch wenn die Auswertung einer Expression sehr lange dauert, kann es sinnvoll sein, sie in Keyframes umzuwandeln, um das Rendern zu beschleunigen. Wenn Sie eine Expression in Keyframes umwandeln, wertet After Effects die Expression aus, richtet an allen Frames einen Keyframe ein und deaktiviert die Expression dann.

     Wählen Sie im Zeitleistenfenster die Eigenschaft aus, für die die Expression geschrieben wurde, und wählen Sie „Animation“ > „Keyframe-Assistent“ > „Expression in Keyframes umwandeln“.
    Nach oben

    Die Expression-Sprache

    Die After Effects-Expression-Sprache basiert auf JavaScript 1.2, verfügt aber über einen erweiterten Satz integrierter Objekte. After Effects verwendet nur den Kernteil von JavaScript 1.2 und greift nicht auf die für Webbrowser spezifischen Erweiterungen zurück. After Effects arbeitet mit einem eigenen Satz von Erweiterungsobjekten, wie „Layer“ (Ebene), „Comp“ (Komposition), „Footage“ und „Camera“ (Kamera), mit deren Hilfe Sie die meisten Werte in einem After Effects-Projekt abrufen können.

    Obwohl die Sprache für Expressions auf einer Skriptsprache basiert, besteht ein feiner, aber wichtiger Unterschied zwischen einem Skript und einer Expression: Während Skripte angeben, was eine Anwendung „tun“ soll (Funktion), geben Expressions an, wie eine bestimmte Eigenschaft „ist“ (Wert).

    Weitere Informationen zu JavaScript finden Sie einer JavaScript-Referenzressource.

    Beachten Sie beim Erstellen von Expressions folgende Punkte:

    • Der Wert einer Expression entspricht dem Wert der zuletzt ausgewerteten Anweisung.

    • Die JavaScript-Sprache unterscheidet zwischen Groß- und Kleinschreibung.

    • Anweisungen oder Linien sind durch Semikola voneinander zu trennen.

    • Leerzeichen zwischen Wörtern werden ignoriert, außer innerhalb eines Strings.

    In JavaScript wird ein Wert, der in einem Objekt gespeichert ist, als property (Eigenschaft) bezeichnet. In After Effects dient der Begriff Eigenschaft dagegen zur Bezeichnung von Ebenenkomponenten im Zeitleistenfenster. Deshalb werden JavaScript-„properties“ in After Effects entweder als Methode oder Attribut bezeichnet. In der Praxis besteht der Unterschied zwischen einer Methode und einem Attribut darin, dass eine Methode ausgeführt wird, damit ihr Ausgabewert (oder Rückgabewert) neu erstellt wird, während ein Attribut nur auf einen bereits vorhandenen Wert verweist, um seinen Ausgabewert (Rückgabewert) zu bestimmen. Eine Methode ist dadurch von einem Attribut leicht zu unterscheiden, dass in den Klammern nach dem Methodennamen Eingabeargumente für die Methode angegeben sind.

    Ein Objekt ist ein Element, das andere Objekte, Attribute und Methoden enthalten kann. Kompositionen, Ebenen und Footageelemente sind Beispiele für Objekte. Kompositionen, Ebenen und Footageelemente werden genauer auch als globale Objekte bezeichnet. Das bedeutet, dass in jedem beliebigen Kontext ohne Verweis auf ein übergeordnetes Objekt auf sie verwiesen werden kann.

    Zugreifen auf Attribute und Methoden

    Mit der Expression-Sprache greifen Sie auf Attribute und Methoden von Ebeneneigenschaften zu. Hierzu verwenden Sie eine Kette von Objektreferenzen, die durch den Punktoperator (.) voneinander getrennt werden. Wenn Sie Objektreferenzen über die Ebene hinaus verketten möchten (z. B. um auf Effekteigenschaften, Masken oder Textanimatoren zu verweisen), können Sie dazu Klammern einsetzen. Beispiel: Um die Eigenschaft „Deckkraft“ in Ebene A mit der Eigenschaft „Stärke“ des Gaußschen Weichzeichnereffekts in Ebene B zu verknüpfen, geben Sie im Expression-Feld für die Eigenschaft „Deckkraft“ der Ebene A folgende Expression ein:

      thisComp.layer("Layer B").effect("Gaussian Blur")("Blurriness")

    Beim Lesen dieser Expression von links nach rechts gelangen Sie vom übergeordneten Objekt, das andere Objekte enthält, zur bestimmten Eigenschaft:

    • Das hier verwendete globale Objekt verweist auf die aktuelle Komposition: thisComp.

    • Innerhalb dieser Komposition wird auf ein bestimmtes Ebenenobjekt mit seinem Namen verwiesen: layer("Ebene B").

    • Innerhalb dieser Ebene wird auf ein bestimmtes Effektobjekt mit seinem Namen verwiesen: effect("Gaussian Blur").

    • Innerhalb dieses Effekts wird auf eine bestimmte Effekteigenschaft mit ihrem Namen verwiesen: ("Blurriness").

    Für die n-te Komponente einer mehrdimensionalen Eigenschaft, wie die y-Komponente eines Effektankerpunkts, hängen Sie [n] wie hier dargestellt ans Ende an:

      thisComp.layer("Layer B").effect("Advanced Lightning")("Origin")[1]

    Das Standardobjekt für eine Expression ist die Eigenschaft, für die die Expression geschrieben wurde, gefolgt von der Ebene, die die Expression enthält. Daher müssen Sie die Eigenschaft nicht extra angeben. Eine Verwackeln-Expression (Wiggle) für die Eigenschaft „Position“ einer Ebene kann also auf zweierlei Art und Weise geschrieben werden:

      wiggle(5, 10) 
      position.wiggle(5, 10)

    Wenn die Ebene und die Eigenschaft außerhalb der Ebene und Eigenschaft liegen, für die Sie die Expression schreiben, müssen Sie allerdings Ebene und Eigenschaft mit angeben. Beispiel: Eine Expression für die Eigenschaft „Deckkraft“ der Ebene B, die mit der Eigenschaft „Drehung“ von Ebene A verknüpft werden soll, sähe folgendermaßen aus:

      thisComp.layer("Layer A").rotation
    Wenn Sie weitere Beispiele zu dieser Funktion sehen möchten, verknüpfen Sie mithilfe des Expression-Auswahlwerkzeugs eine Ebeneneigenschaft mit einer anderen und sehen Sie sich die Expressions an, die dabei erstellt werden.

    Jeff Almasol bietet auf seiner Redefinery-Website ein Skript an, mit dem Sie bestimmen können, wie auf Eigenschaften in Expressions verwiesen werden soll.

    Arrays und mehrdimensionale Eigenschaften

    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]

    Die Zuweisung von Arrays zu Variablen ermöglicht es Ihnen, Verweise auf Arraywerte in anderen Bereichen der Expression zu erstellen. Beispiel:

      myArray = [10, 23]

    Die Dimension eines Arrayobjekts gibt die Anzahl der Elemente im Array an. Die Dimension von myArray ist 2. Eigenschaften in After Effects können abhängig von der Anzahl der Wertargumente unterschiedliche Dimensionen haben. In der Expression-Sprache werden Eigenschaftswerte entweder als einzelne Werte (Zahlenobjekte) oder Arrays (Arrayobjekte) angegeben.

    Die folgenden Tabelle enthält Beispiele einiger Eigenschaften und ihrer Dimensionen:

    Dimension

    Eigenschaft

    1

    Drehung °

    Deckkraft %

    2

    Skalierung [x=Breite, y=Höhe]

    Position [x, y]

    Ankerpunkt [x, y]

    Audiopegel [links, rechts]

    3

    Skalierung [Breite, Höhe, Tiefe]

    3D-Position [x, y, z]

    3D-Ankerpunkt [x, y, z]

    Ausrichtung [x, y, z]

    4

    Farbe [Rot, Grün, Blau, Alpha]

    Durch Verwendung eckiger Klammern und einer Indexnummer können Sie angeben, welches Element des Arrayobjekts verwendet werden soll, und so auf die einzelnen Elemente zugreifen. Jeder Position im Arrayobjekt ist eine Indexnummer zugewiesen, wobei die Nummerierung bei 0 beginnt. Bleiben wir beim vorherigen Beispiel, ist myArray[0] gleich 10 und myArray[1] ist gleich 23.

    Die folgenden beiden Expressions sind gleichwertig:

      [myArray[0], 5] 
      [10, 5]

    Die Arrays der Eigenschaft „Position“ sind folgendermaßen indiziert:

    • Position[0] ist die x-Koordinate der Position.

    • Position[1] ist die y-Koordinate der Position.

    • Position[2] ist die z-Koordinate der Position.

    Farben werden als vierdimensionale Arrays dargestellt [Rot, Grün, Blau, Alpha]. In Projekten mit einer Farbtiefe von 8 Bit oder 16 Bit liegt jeder Wert in einem Farbarray zwischen 0 (Schwarz) und 1 (Weiß). So kann Rot entweder den Wert 0 (keine Farbe) oder den Wert 1 (Rot) haben. [0,0,0,0] bedeutet also schwarz und transparent, während [1,1,1,1] für weiß und deckend steht. In Projekten mit einer Farbtiefe von 32 Bit sind Werte unter 0 und über 1 zulässig.

    Wenn Sie einen Index verwenden, der größer ist als der Index der Komponente mit der höchsten Dimension in einem Arrayobjekt, gibt After Effects eine Fehlermeldung zurück. So wird bei myArray[2] eine Fehlermeldung angezeigt, während position[2] die z-Koordinate der Eigenschaft „Position“ zurückgibt.

    Viele der Eigenschaften und Methoden in der After Effects-Expression-Sprache haben Arrayobjekte als Argumente oder geben Arrayobjekte als Werte zurück. So ist z. B. thisLayer.position ein Array, das abhängig von der jeweiligen Ebene entweder zwei- oder dreidimensional ist.

    Wenn Sie eine Expression schreiben möchten, bei der der y-Wert der Animation („Position“) erhalten bleiben, der x-Wert aber auf 9 gesetzt werden soll, müssen Sie Folgendes schreiben:

      y = position[1]; 
      [9,y]

    Das Folgende ist noch kürzer:

      [9, position[1]]

    Dies ist ein wichtiger Punkt, der anhand eines weiteren Beispiels genauer betrachtet werden soll. Wenn Sie den Wert der x-Position aus Ebene A mit dem Wert der y-Position aus Ebene B kombinieren möchten, würden Sie Folgendes schreiben:

      x = thisComp.layer("Layer A").position[0];  
      y = thisComp.layer("Layer B").position[1];  
      [x,y]

    Sie können eine Expression erstellen, die sich nur auf einen einzigen Wert innerhalb des Arrays einer 2D- oder 3D-Eigenschaft bezieht. Standardmäßig wird der erste Wert verwendet, solange Sie nichts anderes festlegen. Beispiel: Wenn Sie das Expression-Auswahlwerkzeug von der Eigenschaft „Drehung“ der Ebene A auf die Eigenschaft „Skalierung“ der Ebene B ziehen, wird folgende Expression angezeigt:

      thisComp.layer("Layer B").scale[0]

    Diese Expression verwendet standardmäßig den ersten Wert der Eigenschaft „Skalierung“, also die Breite. Soll an Stelle der Breite der Höhenwert verwendet werden, ziehen Sie das Expression-Auswahlwerkzeug direkt auf den zweiten Wert, statt auf den Namen der Eigenschaft, oder ändern Sie die Expression wie folgt:

      thisComp.layer("Layer B").scale[1]

    Wenn Sie umgekehrt das Expression-Auswahlwerkzeug von der Eigenschaft „Skalierung“ der Ebene B auf die Eigenschaft „Drehung“ der Ebene A ziehen, erstellt After Effects automatisch eine Variable, weist ihr den Wert der eindimensionalen Eigenschaft „Drehung“ zu und verwendet sie für beide Dimensionen der Eigenschaft „Skalierung“:

      temp = thisComp.layer(1).transform.rotation; 
      [temp, temp]

    Vektoren

    Viele Eigenschaften und Methoden in After Effects haben Vektoren oder geben diese zurück. In After Effects wird ein Array als Vektor bezeichnet, wenn er entweder einen Punkt oder eine Richtung im Raum repräsentiert. So gibt position für After Effects einen Vektor zurück.

    Bei einer Funktion wie audioLevels hingegen, die ebenfalls einen zweidimensionalen Wert zurückgibt (Pegel des linken und des rechten Kanals), wird das Ergebnis nicht als Vektor bezeichnet, da es weder einen Punkt noch eine Richtung darstellt. Einige Funktionen in After Effects können mit Vektorargumenten umgehen, sind aber im Allgemeinen nur dann sinnvoll, wenn die zurückgegebenen Werte eine Richtung angeben. So berechnet z. B. cross(vec1, vec2) einen dritten Vektor, der rechtwinklig zu den Eingabevektoren steht. Das Vektorkreuzprodukt ist dann nützlich, wenn vec1 und vec2 zwei Vektoren sind, die Richtungen im Raum darstellen. Stellen sie dagegen nur zwei willkürliche Ansammlungen von Zahlen dar, ergibt das Ganze keinen Sinn.

    Indizes und Labels

    Beim Indizieren der Ebenen-, Effekt- und Maskenelemente in After Effects wird mit 1 begonnen. Die erste Ebene im Zeitleistenfenster wäre beispielsweise layer(1).

    Im Allgemeinen empfiehlt es sich, statt einer Nummer den Namen der jeweiligen Ebene, des Effekts oder der Maske zu verwenden, um Unklarheiten und Verwechslungen zu vermeiden, falls die Ebene, der Effekt oder die Maske verschoben wird oder die Argumente bei Produktaktualisierungen und -upgrades geändert wurden. Wenn Sie einen Namen statt einer Nummer verwenden, setzen Sie diesen immer in gerade Anführungsstriche. Die erste der beiden Expressions ist einfacher zu verstehen als die zweite, und sie funktioniert auch dann noch, wenn Sie die Reihenfolge der Effekte ändern:

      effect("Colorama").param("Get Phase From")  
      effect(1).param(2)

    Zeit in Expressions

    Bei der Zeit innerhalb einer Expression handelt es sich immer um die Kompositionszeit, nicht um die Ebenenzeit. Die Kompositionszeit wird in Sekunden gemessen. Die Standardzeit für Expressions ist der Zeitpunkt der aktuellen Komposition, an dem die Expression ausgewertet wird. Die folgenden Expressions verwenden beide die Standard-Kompositionszeit und geben identische Werte zurück:

      thisComp.layer(1).position 
      thisComp.layer(1).position.valueAtTime(time)

    Wenn Sie eine relative Zeitangabe verwenden möchten, fügen Sie dem Argument time einen Zeitwert hinzu. Wenn Sie z. B. einen Positionswert zu einem Zeitpunkt abrufen möchten, der 5 Sekunden vor dem aktuellen Zeitpunkt liegt, können Sie folgende Expression verwenden:

      thisComp.layer(1).position.valueAtTime(time-5)

    Standardmäßige Zeitreferenzen für Eigenschaften in verschachtelten Kompositionen verwenden die originale Standard-Kompositionszeit, nicht die zeitgedehnte Zeit. Verwenden Sie jedoch zum Abrufen einer Eigenschaft die Funktion source, wird die zeitgedehnte Zeit verwendet.

    Beispiel: Wenn die Quelle einer Ebene in der übergeordneten Komposition eine verschachtelte Komposition ist, in der übergeordneten Komposition mit gedehnter Zeit gearbeitet wird und Sie die Positionswerte einer Ebene in der verschachtelten Komposition mit der folgenden Expression abrufen, verwenden die Positionswerte die Standardzeit der Komposition:

      comp("nested composition").layer(1).position

    Referenzieren Sie die Ebene jedoch mit der Funktion source, verwenden die Positionswerte die gedehnte Zeit:

      thisComp.layer("nested composition").source.layer(1).position
    Hinweis: Wenn Sie in einer Expression eine bestimmte Zeit verwenden, wird die verzerrte Zeit ignoriert.

    Da Expressions auf der Basis von Zeit in Sekunden (nicht Frames) funktionieren, müssen Sie möglicherweise die Zeitwerte mithilfe von Konvertierungsmethoden in Frames umwandeln. (Siehe Zeitkonvertierungsmethoden (Expression-Referenz).)

    Nach oben

    Expression-Fehler

    Wenn eine Expression nicht verarbeitet werden kann, zeigt After Effects eine erläuternde Fehlermeldung an und deaktiviert die Expression automatisch. Neben der Expression erscheint dann ein gelbes Warnsymbol . Klicken Sie auf dieses Warnsymbol, wenn die Fehlermeldung noch einmal angezeigt werden soll.

    Um Expressions anzuzeigen, die Fehler enthalten, wählen Sie mindestens eine Ebene aus, klicken Sie mit der rechten Maustaste (Windows) bzw. bei gedrückter Ctrl-Taste (Mac OS) auf eine ausgewählte Ebene im Zeitleistenfenster und wählen Sie im Kontextmenü „Expression-Fehler anzeigen“.
    Manche Expressions stützen sich auf die Namen von Ebenen oder Eigenschaften im Projekt. Wenn Sie den Namen einer Ebene oder Eigenschaft, die in einer Expression enthalten ist, ändern, versucht After Effects, die Expression zu aktualisieren und den neuen Namen zu verwenden. In komplexeren Fällen kann es jedoch vorkommen, dass After Effects nicht zur automatischen Aktualisierung der Expression in der Lage ist. In einem solchen Fall wird u. U. eine Fehlermeldung generiert und Sie müssen die Expression selbst aktualisieren.
    Wichtig: Wenn After Effects in einer anderen Sprache ausgeführt wird als die, in der die Expression geschrieben wurde, oder wenn Sie die Namen von Elementen (z. B. Ebenen, Effekte oder sonstige Eigenschaftsgruppen) geändert haben, funktioniert die Expression möglicherweise nicht. Sie müssen die Expression so ändern, dass die neuen Namen oder die Zeichenfolgen entsprechend der Sprache, in der After Effects ausgeführt wird, verwendet werden. Da die Beispiele in diesem Dokument für das Standardformat von After Effects in englischer Sprache erstellt wurden, funktionieren einige Beispiele in diesem Dokument ohne eine derartige Modifikation nicht.
    Hinweis: Die Argumente für einige After Effects-Effekte haben sich gegenüber den Argumenten von früheren Versionen geändert. Wenn Sie Expressions einsetzen, die statt Argumentnamen Argumentindexreferenzen verwenden, müssen Sie die Expressions möglicherweise so aktualisieren, dass sie Argumentnamen verwenden.
    Durch das Erstellen von Unterkompositionen mehrerer Ebenen können Expressions, die auf eine der Eigenschaften der Ebene verweisen, einen Fehler erzeugen. Dann müssen Sie diese Expressions aktualisieren, damit sie auf die Ebene in der neuen Komposition verweisen. Dies ist besonders bei Expressions wichtig, die mit thisComp statt über den Namen auf eine Komposition verweisen. (Siehe Erstellen von Unterkompositionen und Verschachteln.)
    Jeff Almasol bietet auf seiner redefinery-Website ein Skript an, mit dem Sie die Vorkommen von thisComp durch explizite Verweise auf einen Kompositionsnamen ersetzen können.
    Verwandte Hilfethemen

    Speichern von Animationsvorgaben

    Animation, Keyframes und Expressions

    Textauswahlbereiche

    Diagrammeditor

    Bewegungspfade

    Erstellen und Bearbeiten von Textebenen

    Ebeneneigenschaften im Zeitleistenfenster

    Null-Objekt-Ebenen

    Animationsvorgaben - Überblick und Ressourcen

    Farbtiefe und HDR-Farben

    Rechtliche Hinweise   |   Online-Datenschutzrichtlinien