- Globale Objekte, Attribute und Methoden (Expression-Referenz)
- Zeitkonvertierungsmethoden (Expression-Referenz)
- Vektormathematische Methoden (Expression-Referenz)
- Methoden mit Zufallszahlen (Expression-Referenz)
- Interpolationsmethoden (Expression-Referenz)
- Farbkonvertierungsmethoden (Expression-Referenz)
- Weitere mathematische Methoden (Expression-Referenz)
- Objekttyp „Comp“ (Komposition): Attribute und Methoden (Expression-Referenz)
- Objekttyp „Footage“: Attribute und Methoden (Expression-Referenz)
- Unterobjekttyp „Layer“ (Ebene): Attribute und Methoden (Expression-Referenz)
- Objekttyp „Layer General“ (Ebene allgemein): Allgemeine Attribute und Methoden (Expression-Referenz)
- Ebeneneigenschaften – Attribute und Methoden (Expression-Referenz)
- Objekttyp „Layer 3D“ (Ebenen-3D): Attribute und Methoden für 3D-Ebenen (Expression-Referenz)
- Transformationsmethoden für Ebenen-Räume (Expression-Referenz)
- Objekttyp „Camera“ (Kamera): Attribute und Methoden (Expression-Referenz)
- Objekttyp „Light“ (Licht): Attribute und Methoden (Expression-Referenz)
- Objekttyp „Effect“ (Effekt): Attribute und Methoden (Expression-Referenz)
- Objekttyp „Mask“ (Maske): Attribute und Methoden (Expression-Referenz)
- Objekttyp „Property“ (Eigenschaft): Attribute und Methoden (Expression-Referenz)
- Objekttyp „Key“: Attribute und Methoden (Expression-Referenz)
- MarkerKey-Attribute (Expression-Referenz)
Verwenden Sie die After Effects-Expression-Elemente zusammen mit Standard-JavaScript-Elementen zum Schreiben von Expressions. Sie können das Expression-Sprachmenü jederzeit zum Einfügen von Methoden und Attributen in eine Expression verwenden. Mit dem Expression-Auswahlwerkzeug können Sie jederzeit Eigenschaften einfügen.
Wenn eine Argumentbeschreibung ein Gleichheitszeichen (=) und einen Wert (z. B. t=time oder width=.2) enthält, verwendet das Argument den enthaltenen Standardwert, sofern Sie keinen anderen Wert festlegen.
Einige Argumentbeschreibungen enthalten eine Zahlenangabe in eckigen Klammern. Diese Zahl gibt die Dimension der erwarteten Eigenschaft bzw. des erwarteten Arrays an.
Einige zurückgegebenen Wertbeschreibungen enthalten eine Zahlenangabe in eckigen Klammern. Diese Angabe gibt die Dimension der zurückgegebenen Eigenschaft bzw. des zurückgegebenen Arrays an. Wenn eine bestimmte Dimension nicht enthalten ist, richtet sich die Dimension des zurückgegebenen Arrays nach der Dimension der Eingabe.
Auf der W3Schools JavaScript Referenz-Website finden Sie Informationen zur Standard-Skriptsprache JavaScript, einschließlich Seiten zu den JavaScript-Objekten Math und String.
Globale Objekte, Attribute und Methoden (Expression-Referenz)
- comp(name)
- Rückgabetyp: Comp (Komposition).
Argumenttyp: name ist ein String.
Ruft eine andere Komposition anhand des Namens ab.
- footage(name)
- Rückgabetyp: Footage.
Argumenttyp: name ist ein String.
Ruft ein Footageelement anhand des Namens ab.
- thisComp
- Rückgabetyp: Comp (Komposition).
Steht für die Komposition, die die Expression enthält.
- thisLayer
- Rückgabetyp: Layer (Ebene), Light (Licht) oder Camera (Kamera).
Steht für die Ebene, die die Expression enthält. Da thisLayer das Standardobjekt ist, ist dessen Verwendung optional. Sie können z. B. eine Expression mit thisLayer.width oder width beginnen. Bei beiden Varianten erhalten Sie dasselbe Ergebnis.
- thisProperty
- Rückgabetyp: Property (Eigenschaft).
Steht für die Eigenschaft, die die Expression enthält. Wenn Sie z. B. eine Expression für die Eigenschaft „Drehung“ schreiben, können Sie diese mit thisProperty beginnen, um auf den Wert für die Eigenschaft „Drehung“ zu verweisen.
- time
- Rückgabetyp: Number (Zahl).
Steht für den Kompositionszeitpunkt (in Sekunden), an dem die Expression ausgewertet wird.
- colorDepth
- Rückgabetyp: Number (Zahl).
Gibt den Wert für die Farbtiefe des Projekts zurück. Wenn die Farbtiefe des Projekts z. B. 16 Bit pro Kanal beträgt, gibt colorDepth 16 zurück.
- posterizeTime(framesPerSecond)
- Rückgabetyp: Number (Zahl).
Argumenttyp: framesPerSecond ist eine Number (Zahl).
Der Wert für framesPerSecond wird zur Framerate für den Rest der Expression. Mit dieser Expression können Sie eine Framerate für eine Eigenschaft erstellen, die niedriger als die Framerate für die Komposition ist. Mit der folgenden Expression wird z. B. der Eigenschaftswert einmal pro Sekunde mit einem Zufallswert aktualisiert:
posterizeTime(1); random()
- value
- Rückgabetyp: Zahl, Array oder String.
Gibt den Wert am aktuellen Zeitpunkt für die Eigenschaft zurück, die die Expression enthält.
Zeitkonvertierungsmethoden (Expression-Referenz)
- timeToFrames(t = time + thisComp.displayStartTime, fps = 1,0 / thisComp.frameDuration, isDuration = false)
- Rückgabetyp: Number (Zahl).
Argumenttyp: t und fps sind Numbers (Zahlen); isDuration ist ein Boolean (boolescher Wert).
Konvertiert den Wert für t, der standardmäßig dem Zeitpunkt der aktuellen Komposition entspricht, in eine ganze Zahl Frames. Die Anzahl der Frames pro Sekunde wird im fps-Argument angegeben, das standardmäßig der Framerate der aktuellen Komposition entspricht (1.0 / thisComp.frameDuration). Das Argument isDuration, dessen Wert standardmäßig „false“ ist, sollte „true“ sein, wenn der Wert t keine absolute Zeit, sondern eine Differenz zwischen den beiden Zeiten darstellt. Absolute Zeiten werden gegen negativ unendlich abgerundet; Werte für die Dauer werden von Null weg gerundet (bei positiven Werten nach oben).
- framesToTime(frames, fps = 1.0 / thisComp.frameDuration)
- Rückgabetyp: Number (Zahl).
Argumenttyp: frames und fps sind Numbers (Zahlen).
Die umgekehrten Werte von timeToFrames. Gibt die Zeit zurück, die dem erforderlichen Argument frames entspricht. Dabei muss es sich nicht um einen Integer handeln. Eine Erklärung des Arguments fps finden Sie in der Beschreibung zu timeToFrames.
- timeToTimecode(t = time + thisComp.displayStartTime, timecodeBase = 30, isDuration = false)
- Rückgabetyp: String.
Argumenttyp: t und timecodeBase sind Numbers (Zahlen); isDuration ist ein Boolean (boolescher Wert).
Konvertiert den Wert für t in einen String, der für den Timecode steht. Eine Erläuterung der Argumente t und isDuration finden Sie in der Beschreibung zu timeToFrames. Der Wert timecodeBase, der standardmäßig den Wert 30 hat, gibt die Anzahl der Frames in einer Sekunde an.
- timeToNTSCTimecode(t = time + thisComp.displayStartTime, ntscDropFrame = false, isDuration = false)
- Rückgabetyp: String.
Argumenttyp: t ist eine Number (Zahl), ntscDropFrame und isDuration sind Booleans (boolesche Werte).
Konvertiert t in einen String, der für NTSC-Timecode steht. Eine Erläuterung der Argumente t und isDuration finden Sie in der Beschreibung zu timeToFrames. Ist ntscDropFrame „false“ (der Standardwert), ist der resultierende String NTSC-Non-Drop-Frame-Timecode. Ist ntscDropFrame „true“, ist der resultierende String NTSC-Drop-Frame-Timecode.
- timeToFeetAndFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, framesPerFoot = 16, isDuration = false)
- Rückgabetyp: String.
Argumenttyp: t, fps und framesPerFoot sind Numbers (Zahlen); isDuration ist ein Boolean (boolescher Wert).
Konvertiert den Wert t in einen String, der für Film-Feet und Frames steht. Eine Erläuterung der Argumente t, fps und isDuration finden Sie in der Beschreibung zu timeToFrames. Das Argument framesPerFoot gibt die Anzahl von Frames in einem Foot Film an. Der Standardwert ist 16, was der häufigsten Rate für 35-mm-Footage entspricht.
- timeToCurrentFormat(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)
- Rückgabetyp: String.
Argumenttyp: t und fps sind Numbers (Zahlen); isDuration ist ein Boolean (boolescher Wert).
Konvertiert den Wert von t in einen String, der für die Zeit im aktuellen Anzeigeformat der Projekteinstellungen steht. Eine Definition aller Argumente finden Sie in der Beschreibung zu timeToFrames.
Der Funktion timeToCurrentFormat() wurde in After Effects CS5.5 und höher das optionale Argument ntscDropFrame hinzugefügt. Standard: ntscDropFrame = thisComp.ntscDropFrame.
Wenn Sie mehr Kontrolle über das Aussehen des Timecodes in Ihrem Footage haben möchten, verwenden Sie anstelle der Effekte „Timecode“ oder „Zahlen“ die Methode timeToCurrentFormat oder andere timeTo-Methoden, um den Timecode zu generieren. Erstellen Sie eine Textebene, fügen Sie der Eigenschaft „Quelltext“ eine Expression hinzu und geben Sie timeToCurrentFormat() in das Expression-Feld ein. Mithilfe dieser Methode können Sie den Timecode-Text formatieren und animieren. Außerdem verwendet der Timecode das Anzeigeformat, das in den aktuellen Projekteinstellungen definiert wurde.
Vektormathematische Methoden (Expression-Referenz)
Vektormathematische Funktionen sind globale Methoden zum Ausführen von Operationen an Arrays, die als mathematische Vektoren behandelt werden. Im Gegensatz zu den integrierten JavaScript-Methoden wie Math.sin werden diese Methoden ohne das Präfix Math verwendet. Sofern keine anderen Festlegungen getroffen wurden, geben vektormathematische Methoden einen Wert mit der Dimension des größten Eingabearrayobjekts zurück und füllen die fehlenden Elemente mit Nullen auf. Die Expression add([10, 20], [1, 2, 3]) gibt z. B. [11, 22, 3] zurück.
JJ Giffords Website enthält Erläuterungen und Beispiele zur Verwendung einfacher Geometrie und Trigonometrie mit Expressions.
Chris und Trish Meyer stellen auf ihrer ProVideo Coalition-Website zusätzliche Informationen über Vektorberechnungsmethoden und Arrays zur Verfügung.
- add(vec1, vec2)
- Rückgabetyp: Array.
Argumenttyp: vec1 und vec2 sind Arrays.
Addiert zwei Vektoren.
- sub(vec1, vec2)
- Rückgabetyp: Array.
Argumenttyp: vec1 und vec2 sind Arrays.
Subtrahiert zwei Vektoren.
- mul(vec, amount)
- Rückgabetyp: Array.
Argumenttyp: vec ist ein Array, amount ist eine Number (Zahl).
Multipliziert jedes Element des Vektors mit dem Betrag.
- div(vec, amount)
- Rückgabetyp: Array.
Argumenttyp: vec ist ein Array, amount ist eine Number (Zahl).
Dividiert jedes Element des Vektors durch den Betrag.
- clamp(value, limit1, limit2)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: value, limit1 und limit2 sind Numbers (Zahlen) oder Arrays.
Der Wert jeder Komponente von value ist auf den Bereich zwischen den entsprechenden Werten limit1 und limit2 beschränkt.
Chris und Trish Meyer stellen in einem Artikel auf ihrer ProVideo Coalition-Website zusätzliche Informationen über die clamp-Methode zur Verfügung.
- dot(vec1, vec2)
- Rückgabetyp: Number (Zahl).
Argumenttyp: vec1 und vec2 sind Arrays.
Gibt das Punktprodukt (innere Punkte) der Vektorargumente zurück.
- cross(vec1, vec2)
- Rückgabetyp: Array [2 oder 3].
Argumenttyp: vec1 und vec2 sind Arrays [2 oder 3].
Gibt das Vektorkreuzprodukt von vec1 und vec2 zurück. Weitere Informationen finden Sie in Mathematik- bzw. JavaScript-Referenzhandbüchern.
- normalize(vec)
- Rückgabetyp: Array.
Argumenttyp: vec ist ein Array.
Normalisiert den Vektor, sodass die Länge 1,0 beträgt. Mit der normalize-Methode können Sie den Vorgangdiv(vec, length(vec)) abkürzen.
- length(vec)
- Rückgabetyp: Number (Zahl).
Argumenttyp: vec ist ein Array.
Gibt die Länge des Vektors vec zurück.
- length(point1, point2)
- Rückgabetyp: Number (Zahl).
Argumenttyp: point1 und point2 sind Arrays.
Gibt die Distanz zwischen zwei Punkten zurück. Das Argument point2 ist optional. So ist z. B. length(point1, point2) identisch mit length(sub(point1, point2)).
Beispiel: Fügen Sie der Eigenschaft „Fokusentfernung“ einer Kamera folgende Expression hinzu, um die Fokalebene mit dem Zielpunkt der Kamera zu verknüpfen, damit der Zielpunkt im Fokus bleibt:
length(position, pointOfInterest)
- lookAt(fromPoint, atPoint)
- Rückgabetyp: Array [3].
Die Argumenttypen fromPoint und atPoint sind Arrays [3].
Das Argument fromPoint ist der Standort der auszurichtenden Ebene im Welt-Raum. Das Argument atPoint ist der Punkt im Welt-Raum, auf den die Ebene gerichtet werden soll. Der Rückgabewert kann als Expression für die Eigenschaft „Ausrichtung“ verwendet werden, wobei die z-Achse der Ebene auf atPoint gerichtet ist. Diese Methode eignet sich besonders für die Ausrichtung von Kameras und Lichtern. Wenn Sie diese Expression für eine Kamera verwenden, deaktivieren Sie die Option „Automatische Ausrichtung“. Beispielsweise sorgt diese Expression für die Eigenschaft „Ausrichtung“ eines Spotlichts dafür, dass die Lichtquelle auf den Ankerpunkt der Ebene 1 in derselben Komposition gerichtet wird: lookAt(position, thisComp.layer(1).position)
Methoden mit Zufallszahlen (Expression-Referenz)
- seedRandom(offset, timeless=false)
- Rückgabetyp: keiner.
Argumenttyp: offset ist eine Number (Zahl), timeless ist ein Boolean (boolescher Wert).
Die Methoden random und gaussRandom verwenden einen Ausgangswert, der die Reihenfolge der Zahlen steuert. Der Ausgangswert wird standardmäßig als Funktion eines eindeutigen Ebenenbezeichners, der Eigenschaft innerhalb der Ebene, der aktuellen Zeit und einem Versatzwert von 0 berechnet. Rufen Sie seedRandom auf, um einen anderen Versatz als 0 einzustellen und eine andere Zufallsreihenfolge zu erstellen.
Setzen Sie das timeless-Argument auf true. Geben Sie nicht die aktuelle Zeit für die Zufallsverteilung ein. Wenn Sie das timeless-Argument auf true setzen, können Sie eine Zufallszahl generieren, die sich nicht abhängig von der Auswertungszeit ändert.
Mit dem Wert offset, nicht aber mit dem Wert timeless wird außerdem der Startwert der Funktion wiggle gesteuert.
Beispielsweise legt diese Expression in der Eigenschaft „Deckkraft“ einen zufälligen Deckkraftwert fest, der sich nicht im Verlauf der Zeit ändert:
seedRandom(123456, true); random()*100
Durch die Multiplikation mit 100 in diesem Beispiel wird der zwischen 0 und 1 liegende Wert, der von der Zufallsmethode zurückgegeben wird, in eine Zahl zwischen 0 und 100 konvertiert. Dieser Wertebereich ist besser für die Eigenschaft „Deckkraft“ geeignet, deren Werte zwischen 0 und 100 % liegen.
- random()
- Rückgabetyp: Number (Zahl).
Gibt eine Zufallszahl zwischen 0 und 1 zurück.
In After Effects CS6 ist das Verhalten des Zufallswerts() noch zufälliger, wenn Ebenen-IDs dicht beieinander liegen. Der Ausdruck „Verwackeln()“ wird nicht beeinflusst.
- random(maxValOrArray)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: maxValOrArray ist eine Number (Zahl) oder ein Array.
Wenn maxValOrArray eine Number (Zahl) ist, gibt diese Methode eine Zahl zwischen 0 und maxValOrArray zurück. Ist maxValOrArray ein Array, gibt diese Methode ein Array mit derselben Dimension wie maxValOrArray zurück, wobei die einzelnen Komponenten zwischen 0 und der entsprechenden Komponente von maxValOrArray liegen.
- random(minValOrArray, maxValOrArray)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: minValOrArray und maxValOrArray sind Numbers (Zahlen) oder Arrays.
Wenn minValOrArray und maxValOrArray Numbers (Zahlen) sind, gibt diese Methode eine Zahl zwischen minValOrArray und maxValOrArray zurück. Wenn die Argumente Arrays sind, gibt diese Methode ein Array mit derselben Dimension wie das Argument mit der größeren Dimension zurück, wobei jede Komponente im Bereich von der entsprechenden minValOrArray-Komponente bis zur entsprechenden maxValOrArray-Komponente liegt. Beispiel: Die Expression random([100, 200], [300, 400]) gibt ein Array zurück, dessen erster Wert im Bereich zwischen 100 und 300 und dessen zweiter Wert zwischen 200 und 400 liegt. Wenn die Dimensionen der beiden Eingabe-Arrays nicht übereinstimmen, werden die Werte der höheren Dimension des kürzeren Arrays mit Nullen aufgefüllt.
- gaussRandom()
- Rückgabetyp: Number (Zahl).
Gibt eine Zufallszahl zurück. Die Ergebnisse haben eine „Gaußsche“ (glockenförmige) Verteilung. Etwa 90 % der Ergebnisse liegen im Bereich von 0 bis 1; die übrigen 10 % liegen außerhalb dieses Bereichs.
- gaussRandom(maxValOrArray)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: maxValOrArray ist eine Number (Zahl) oder ein Array.
Ist maxValOrArray eine Number (Zahl), gibt diese Methode eine Zufallszahl zurück. Etwa 90 % der Ergebnisse liegen im Bereich von 0 bis maxValOrArray; die übrigen 10 % liegen außerhalb dieses Bereichs. Ist maxValOrArray ein Array, gibt diese Methode ein Array mit Zufallswerten zurück, und zwar mit derselben Dimension wie maxValOrArray. 90 % der Werte liegen im Bereich von 0 bis maxValOrArray; die übrigen 10 % liegen außerhalb dieses Bereichs. Die Ergebnisse haben eine „Gaußsche“ (glockenförmige) Verteilung.
- gaussRandom(minValOrArray, maxValOrArray)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: minValOrArray und maxValOrArray sind Numbers (Zahlen) oder Arrays.
Sind minValOrArray und maxValOrArray Numbers (Zahlen), gibt diese Methode eine Zufallszahl zurück. Ungefähr 90 % der Ergebnisse liegen im Bereich von minValOrArray bis maxValOrArray; die übrigen 10 % liegen außerhalb dieses Bereichs. Sind die Argumente Arrays, gibt diese Methode ein Array von Zufallszahlen zurück, dessen Dimension der des Arguments mit der größeren Dimension entspricht. Ungefähr 90 % der Ergebnisse der einzelnen Komponenten liegen im Bereich von der entsprechenden minValOrArray-Komponente bis zur entsprechenden maxValOrArray-Komponente; die übrigen 10 % liegen außerhalb dieses Bereichs. Die Ergebnisse haben eine „Gaußsche“ (glockenförmige) Verteilung.
- noise(valOrArray)
- Rückgabetyp: Number (Zahl).
Argumenttyp: valOrArray ist eine Number (Zahl) oder ein Array [2 oder 3].
Gibt eine Number (Zahl) zwischen -1 und 1 zurück. Das Rauschen ist nicht wirklich zufällig; es basiert auf dem Perlin-Rauschen, das heißt, dass die Rückgabewerte für zwei Eingabewerte, die nahe beieinander liegen, normalerweise ebenfalls nahe beieinander liegen. Diese Art des Rauschens ist nützlich, wenn Sie eine Folge von scheinbar zufälligen Zahlen benötigen, die sich nicht sehr stark voneinander unterscheiden – wie es normalerweise der Fall ist, wenn Sie scheinbar zufällige natürliche Bewegungen animieren. Beispiel: rotation + 360*noise(time)
Interpolationsmethoden (Expression-Referenz)
Für sämtliche Interpolationsmethoden ist Argument t häufig Zeit oder Wert, es kann aber auch stattdessen andere Werte haben. Falls t für Zeit steht, findet die Interpolation zwischen Werten über einen Zeitraum statt. Falls t für Wert steht, weist die Expression einem Wertebereich einen neuen Wertebereich zu.
Weitere Erläuterungen und Beispiele für Interpolationsmethoden finden Sie auf JJ Giffords Website.
Chris und Trish Meyer stellen in einem Artikel auf ihrer ProVideo Coalition-Website zusätzliche Informationen über diese Methoden zur Verfügung.
Ian Haigh bietet auf der After Effects Scripts-Website ein Skript an, mit dem Sie erweiterte Interpolationsmethoden-Expressions wie das Abprallen leicht auf Eigenschaften anwenden können.
Andrew Devis stellt auf der Creative COW-Website zwei Schulungsvideos zur Verfügung, die detailliert zeigen, wie die lineare Expression-Methode mit dem Befehl „Audio in Keyframes konvertieren“ verwendet wird.
- linear(t, tMin, tMax, value1, value2)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: t, tMin und tMax sind Numbers (Zahlen); value1 und value2 sind Numbers (Zahlen) oder Arrays.
Gibt value1 zurück, wenn t <= tMin. Gibt value2 zurück, wenn t >= tMax. Gibt eine lineare Interpolation zwischen value1 und value2 zurück, wenn tMin < t < tMax ist.
Diese Expression bewirkt beispielsweise bei der Eigenschaft „Deckkraft“, dass die Deckkraft-Werte über einen Zeitraum von 0 bis 6 Sekunden linear von 20 % zu 80 % verlaufen:
linear(time, 0, 6, 20, 80)
Diese Methode kann ebenso wie alle anderen Interpolationsmethoden verwendet werden, um von einem Wertebereich zu einem anderen zu wechseln. Diese Expression ändert beispielsweise die Werte der Eigenschaft „Deckkraft“: Der Bereich 0 bis 100 % wird durch den Bereich 20 bis 80 % ersetzt:
linear(value, 0, 100, 20, 80)
- linear(t, value1, value2)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: t ist eine Number (Zahl); value1 und value2 sind Numbers (Zahlen) oder Arrays.
Gibt einen Wert zurück, der linear von value1 bis value2 interpoliert wird, da t zwischen 0 und 1 liegt. Gibt value1 zurück, wenn t <= 0. Gibt value2 zurück, wenn t >= 1.
- ease(t, value1, value2)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: t ist eine Number (Zahl); value1 und value2 sind Numbers (Zahlen) oder Arrays.
Ähnlich wie linear, mit denselben Argumenten, mit dem Unterschied, dass die Interpolation allmählich einsetzt und ausläuft, sodass die Geschwindigkeit am Anfangs- und Endpunkt 0 beträgt. Diese Methode ergibt eine sehr glatte Animation.
- ease(t, tMin, tMax, value1, value2)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: t, tMin und tMax sind Numbers (Zahlen); value1 und value2 sind Numbers (Zahlen) oder Arrays.
Ähnlich wie linear, mit denselben Argumenten, mit dem Unterschied, dass die Interpolation allmählich einsetzt und ausläuft, sodass die Geschwindigkeit am Anfangs- und Endpunkt 0 beträgt. Diese Methode ergibt eine sehr glatte Animation.
- easeIn(t, value1, value2)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: t ist eine Number (Zahl); value1 und value2 sind Numbers (Zahlen) oder Arrays.
Ähnlich wie ease, mit dem Unterschied, dass die Tangente nur auf der value1-Seite 0 ist und die Interpolation auf der value2-Seite linear ist.
- easeIn(t, tMin, tMax, value1, value2)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: t, tMin und tMax sind Numbers (Zahlen); value1 und value2 sind Numbers (Zahlen) oder Arrays.
Ähnlich wie ease, mit dem Unterschied, dass die Tangente nur auf der tMin-Seite 0 ist und die Interpolation auf der tMax-Seite linear ist.
- easeOut(t, value1, value2)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: t ist eine Number (Zahl); value1 und value2 sind Numbers (Zahlen) oder Arrays.
Ähnlich wie ease, mit dem Unterschied, dass die Tangente nur auf der value2-Seite 0 ist und die Interpolation auf der value1-Seite linear ist.
- easeOut(t, tMin, tMax, value1, value2)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: t, tMin und tMax sind Numbers (Zahlen); value1 und value2 sind Numbers (Zahlen) oder Arrays.
Ähnlich wie ease, mit dem Unterschied, dass die Tangente nur auf der tMax-Seite 0 ist und die Interpolation auf der tMin-Seite linear ist.
Farbkonvertierungsmethoden (Expression-Referenz)
Harry Frank bietet einen Video-Lehrgang auf seiner Graymachine-Website an, der darstellt, wie diese Farbkonvertierungsmethoden verwendet werden können, um die Farbe der Wellen zu ändern, die durch den Effekt „Radiowellen“ erzeugt wurden.
- rgbToHsl(rgbaArray)
- Rückgabetyp: Array [4].
Argumenttyp: rgbaArray ist ein Array [4].
Wandelt eine Farbe im RGBA-Farbraum in eine Farbe im HSLA-Raum um. Eingegeben wird ein Array von normalisierten Werten für Rot-, Grün-, Blau- und Alphakanal, die alle im Bereich zwischen 0,0 und 1,0 liegen. Der resultierende Wert ist ein Array von Werten für Farbton, Sättigung, Helligkeit und Alphakanal, die ebenfalls im Bereich zwischen 0,0 und 1,0 liegen. Beispiel:
rgbToHsl.effect("Change Color")("Color To Change") - hslToRgb(hslaArray)
- Rückgabetyp: Array [4].
Argumenttyp: hslaArray ist ein Array [4].
Wandelt eine Farbe im HSLA-Raum in eine Farbe im RGBA-Raum um. Diese Umwandlung ist das Gegenteil der Umwandlung, die mithilfe der rgbToHsl-Methode erfolgt.
Weitere mathematische Methoden (Expression-Referenz)
Chris und Trish Meyer stellen in einem Artikel auf ihrer ProVideo Coalition-Website zusätzliche Informationen über diese Methoden zur Verfügung.
- degreesToRadians(degrees)
- Rückgabetyp: Number (Zahl).
Argumenttyp: degrees ist eine Number (Zahl).
Konvertiert Grad in Radianten.
- radiansToDegrees(radians)
- Rückgabetyp: Number (Zahl).
Argumenttyp: radians ist eine Number (Zahl).
Konvertiert Radianten in Grad.
Objekttyp „Comp“ (Komposition): Attribute und Methoden (Expression-Referenz)
- layer(index)
- Rückgabetyp: Layer (Ebene), Light (Licht) oder Camera (Kamera).
Argumenttyp: index ist eine Number (Zahl).
Ruft Ebenen anhand der Nummer ab (Reihenfolge in der Zeitleiste). Beispiel: thisComp.layer(3)
- layer(name)
- Rückgabetyp: Layer (Ebene), Light (Licht) oder Camera (Kamera).
Argumenttyp: name ist ein String.
Ruft Ebenen anhand des Namens ab. Für den Namensabgleich wird der Ebenenname oder, falls kein Ebenenname vorhanden ist, der Quellenname herangezogen. Wenn Namen doppelt vorhanden sind, verwendet After Effects den Namen, der im Zeitleistenfenster zuerst vorkommt (ganz oben steht). Beispiel:
thisComp.layer("Solid 1") - layer(otherLayer, relIndex)
- Rückgabetyp: Layer (Ebene), Light (Licht) oder Camera (Kamera).
Argumenttyp: otherLayer ist ein Ebenenobjekt, relIndex ist eine Number (Zahl).
Ruft die Ebene ab, die sich relIndex Ebenen über oder unter dem Objekt otherLayer befindet. Beispielsweise gibt thisComp.layer(thisLayer, 1).active „true“ zurück, wenn die nächste Ebene im Zeitleistenfenster aktiv ist.
- marker
- Rückgabetyp: MarkerProperty. Wichtig: Sie können nicht anhand der Markennummer auf eine Kompositionszeitmarke zugreifen. Wenn Sie in einer früheren Version von After Effects ein Projekt erstellt haben, in dem Kompositionsmarkennummern in Expressions verwendet werden, müssen Sie diese Aufrufe so ändern, dass sie marker.key(name) verwenden. Da der Standardname einer Kompositionszeitmarke eine Zahl ist, geht es beim Umwandeln der Referenz häufig nur darum, die Zahl in Anführungszeichen zu setzen, damit der Name verwendet werden kann.
- marker.key(index)
- Rückgabetyp: MarkerKey.
Argumenttyp: index ist eine Number (Zahl).
Gibt das MarkerKey-Objekt der Marke mit dem angegebenen Index zurück. Der Index bezieht sich auf die Reihenfolge der Marke in der Kompositionszeit, nicht auf den Namen der Marke. Diese Expression gibt beispielsweise die Zeit der ersten Kompositionszeitmarke zurück:
thisComp.marker.key(1).time
- marker.key(name)
- Rückgabetyp: MarkerKey.
Argumenttyp: name ist ein String.
Gibt das MarkerKey-Objekt der Marke mit dem angegebenen Namen zurück. Der Wert name ist der Name der Marke, wie er im Feld „Kommentar“ des Dialogfelds „Marke“ eingegeben wurde, z. B. marker.key("ch1"). Der Standardname einer Kompositionszeitmarke ist eine Zahl. Wenn mehr als eine Marke in der Komposition denselben Namen trägt, gibt diese Methode die Marke zurück, die zuerst eintritt (in Kompositionszeit). Der Wert für Markenkeys ist ein String und keine Number (Zahl). Diese Expression gibt beispielsweise die Zeit der Kompositionszeitmarke mit dem Namen „0“ zurück:
thisComp.marker.key("0").time - marker.nearestKey(t)
- Rückgabetyp: MarkerKey.
Argumenttyp: t ist eine Number (Zahl).
Gibt die Marke zurück, die t in der Zeit am nächsten ist. Diese Expression gibt beispielsweise die Zeit der Kompositionszeitmarke zurück, die der Zeit von einer Sekunde am nächsten liegt:
thisComp.marker.nearestKey(1).time
Diese Expression gibt die Zeit der Kompositionszeitmarke zurück, die der aktuellen Zeit am nächsten liegt:
thisComp.marker.nearestKey(time).time
- marker.numKeys
- Rückgabetyp: Number (Zahl).
Gibt die Gesamtzahl der Kompositionszeitmarken in der Komposition zurück.
- numLayers
- Rückgabetyp: Number (Zahl).
Gibt die Anzahl der Ebenen in der Komposition zurück.
- activeCamera
- Rückgabetyp: Camera (Kamera).
Gibt das Kameraobjekt für die Kamera zurück, durch die die Komposition im aktuellen Frame gerendert wird. Dabei handelt es sich nicht notwendigerweise um die Kamera, durch die Sie im Kompositionsfenster schauen.
- width
- Rückgabetyp: Number (Zahl).
Gibt die Breite der Komposition (in Pixeln) zurück.
Wenn Sie folgende Expression auf die Eigenschaft „Position“ einer Ebene anwenden, wird die Ebene im Kompositionsframe zentriert ausgerichtet:
[thisComp.width/2, thisComp.height/2]
- height
- Rückgabetyp: Number (Zahl).
Gibt die Höhe der Komposition (in Pixeln) zurück.
- duration
- Rückgabetyp: Number (Zahl).
Gibt die Dauer der Komposition (in Sekunden) zurück.
- ntscDropFrame
- Rückgabetyp: Boolean (Boolescher Wert).
Gibt den Wert „true“ zurück, wenn der Timecode im Drop-Frame-Format vorliegt. (After Effects CS5.5 und höher.)
- displayStartTime
- Rückgabetyp: Number (Zahl).
Gibt die Startzeit der Komposition (in Sekunden) zurück.
- frameDuration
- Rückgabetyp: Number (Zahl).
Gibt die Dauer eines Frames in Sekunden zurück.
- shutterAngle
- Rückgabetyp: Number (Zahl).
Gibt den Verschlusswinkel der Komposition (in Grad) zurück.
- shutterPhase
- Rückgabetyp: Number (Zahl).
Gibt die Verschlussphase der Komposition (in Grad) zurück.
- bgColor
- Rückgabetyp: Array [4].
Gibt die Hintergrundfarbe der Komposition zurück.
- pixelAspect
- Rückgabetyp: Number (Zahl).
Gibt das Pixel-Seitenverhältnis der Komposition zurück.
- name
- Rückgabetyp: String.
Gibt den Namen der Komposition zurück.
Objekttyp „Footage“: Attribute und Methoden (Expression-Referenz)
Wenn Sie ein Footageelement aus dem Projektfenster als Objekt in einer Expression einsetzen möchten, verwenden Sie die globale Methode footage, wie in footage("Dateiname"). Sie können sich Footageobjekte auch mithilfe des Attributs source in einer Ebene zurückgeben lassen, deren Quelle ein Footageelement ist.
- width
- Rückgabetyp: Number (Zahl).
Gibt die Breite des Footageelements (in Pixeln) zurück.
- height
- Rückgabetyp: Number (Zahl).
Gibt die Höhe des Footageelements (in Pixeln) zurück.
- duration
- Rückgabetyp: Number (Zahl).
Gibt die Dauer des Footageelements in Sekunden zurück.
- frameDuration
- Rückgabetyp: Number (Zahl).
Gibt die Dauer eines Frames im Footageelement in Sekunden zurück.
- ntscDropFrame
- Rückgabetyp: Boolean (Boolescher Wert).
Gibt den Wert „true“ zurück, wenn der Timecode im Drop-Frame-Format vorliegt. (After Effects CS5.5 und höher.)
- pixelAspect
- Rückgabetyp: Number (Zahl).
Gibt das Pixel-Seitenverhältnis des Footageelements zurück.
- name
- Rückgabetyp: String.
Gibt den Namen des Footageelements wie im Projektfenster angezeigt zurück.
Unterobjekttyp „Layer“ (Ebene): Attribute und Methoden (Expression-Referenz)
- source
- Rückgabetyp: Komposition oder Footage.
Gibt das Quellobjekt „Comp“ (Komposition) oder „Footage“ für die Ebene zurück. Die Standardzeit wird an die Zeit der Quelle angepasst. Beispiel: source.layer(1).position
- sourceTime(t = time)
- Rückgabetyp: Number (Zahl).
Gibt die Ebenenquelle zurück, die der Zeit t entspricht. (After Effects CS5.5 und höher.)
- effect(name)
- Rückgabetyp: Effect (Effekt).
Argumenttyp: name ist ein String.
AfterEffects sucht im Effekteinstellungsfenster nach dem Effekt mit dem angegebenen Namen. Der Name kann entweder der Standardname oder ein benutzerdefinierter Name sein. Falls mehrere Effekte unter demselben Namen aufgeführt sind, wird der Effekt verwendet, der am weitesten oben im Effekteinstellungsfenster steht. Beispiel:
effect("Fast Blur")("Blurriness") - effect(index)
- Rückgabetyp: Effect (Effekt).
Argumenttyp: index ist eine Number (Zahl).
After Effects gibt den Effekt an der mit „Index“ angegebenen Position im Effekteinstellungsfenster zurück, wobei der erste (oberste) Effekt im Fenster der Effekt mit dem Index „1“ ist.
- mask(name)
- Rückgabetyp: Mask (Maske).
Argumenttyp: name ist ein String.
Der Name kann entweder der Standardname oder ein benutzerdefinierter Name sein. Falls mehrere Masks (Masken) unter demselben Namen aufgeführt sind, wird die erste (oberste) verwendet. Beispiel:
mask("Mask 1") - mask(index)
- Rückgabetyp: Mask (Maske).
Argumenttyp: index ist eine Number (Zahl).
After Effects gibt die Maske an der mit „Index“ angegebenen Position im Zeitleistenfenster zurück, wobei die erste (oberste) Maske die Maske mit dem Index 1 ist.
Objekttyp „Layer General“ (Ebene allgemein): Allgemeine Attribute und Methoden (Expression-Referenz)
- width
- Rückgabetyp: Number (Zahl).
Gibt die Breite der Ebene (in Pixeln) zurück. Ist identisch mit source.width.
- height
- Rückgabetyp: Number (Zahl).
Gibt die Höhe der Ebene (in Pixeln) zurück. Ist identisch mit source.height.
- index
- Rückgabetyp: Number (Zahl).
Gibt die Indexnummer der Ebene in der Komposition zurück.
- parent
- Rückgabetyp: Layer (Ebene), Light (Licht) oder Camera (Kamera).
Gibt das übergeordnete Ebenenobjekt der Ebene an, sofern vorhanden. Beispiel: position[0] + parent.width
- hasParent
- Rückgabetyp: Boolean (Boolescher Wert).
Gibt den Wert „true“ zurück, wenn der Ebene eine andere Ebene übergeordnet ist. Andernfalls wird „false“ zurückgegeben.
Mithilfe des Attributs hasParent lässt sich bestimmen, ob einer Ebene eine andere Ebene übergeordnet ist. Sie können dieses Attribut selbst dann verwenden, wenn aktuell keine übergeordnete Ebene vorhanden ist. So können Sie mit der folgenden Expression festlegen, dass die Ebene, auf die Sie die Expression anwenden, basierend auf der Position der übergeordneten Ebene, verwackelt wird. Ist keine übergeordnete Ebene vorhanden, wird die Ebene basierend auf ihrer eigenen Position verwackelt. Ist jedoch eine übergeordnete Ebene vorhanden, ändert sich das Ebenenverhalten entsprechend.
idx = index; if (hasParent) { idx = parent.index; } thisComp.layer(idx).position.wiggle(5,20) - inPoint
- Rückgabetyp: Number (Zahl).
Gibt den In-Point der Ebene (in Sekunden) zurück.
Hinweis: Im Allgemeinen ist der Wert von outPoint größer als der Wert von inPoint. Wenn jedoch eine Ebene in der Zeit umgekehrt wird, ist der Wert von inPoint größer als der Wert von outPoint. Ebenso kann der Wert von startTime größer sein als der Wert von inPoint. - outPoint
- Rückgabetyp: Number (Zahl).
Gibt den Out-Point der Ebene (in Sekunden) zurück.
- startTime
- Rückgabetyp: Number (Zahl).
Gibt die Startzeit der Ebene (in Sekunden) zurück.
- hasVideo
- Rückgabetyp: Boolean (Boolescher Wert).
Gibt den Wert „true“ zurück, wenn die Ebene Video enthält. Andernfalls wird „false“ zurückgegeben.
- hasAudio
- Rückgabetyp: Boolean (Boolescher Wert).
Gibt den Wert „true“ zurück, wenn die Ebene Audio enthält. Andernfalls wird „false“ zurückgegeben.
- active
- Rückgabetyp: Boolean (Boolescher Wert).
Gibt den Wert „true“ zurück, wenn der Schalter „Video“
für die Ebene eingeschaltet ist und die aktuelle Zeit im Bereich zwischen In-Point und Out-Point der Ebene liegt. Andernfalls wird „false“ zurückgegeben. - enabled
- Rückgabetyp: Boolean (Boolescher Wert).
Gibt den Wert „true“ zurück, wenn der Schalter „Video“
für die Ebene eingeschaltet ist. Andernfalls wird „false“ zurückgegeben. - audioActive
- Rückgabetyp: Boolean (Boolescher Wert).
Gibt den Wert „true“ zurück, wenn der Schalter „Audio“
für die Ebene eingeschaltet ist und die aktuelle Zeit im Bereich zwischen In-Point und Out-Point der Ebene liegt. Andernfalls wird „false“ zurückgegeben. - sampleImage(point, radius = [.5, .5], postEffect=true, t=time)
- Rückgabetyp: Array [4].
Argumenttyp: point ist ein Array [2], radius ist ein Array [2], postEffect ist ein Boolean und t ist eine Number (Zahl).
Nimmt die Farbe und Alphakanalwerte einer Ebene auf und gibt den durchschnittlichen Alphagewichtungswert innerhalb der angegeben Entfernung von dem Punkt als Array zurück: [Rot, Grün, Blau, Alpha]. Hat postEffect den Wert „true“, sind die aufgenommenen Werte für die Ebene bestimmt, nachdem Masken und Effekte auf dieser Ebene gerendert wurden. Hat postEffect den Wert „false“, sind die aufgenommenen Werte für die Ebene bestimmt, bevor Masken und Effekte gerendert wurden. Der Eingabewert point befindet sich im Ebenen-Raum. Der Punkt [0,0] ist die Mitte des Pixels links oben in der Ebene. Mit dem Eingabewert radius wird der horizontale und vertikale Abstand von der Mustermitte zu den Kanten des aufgenommenen Rechtecks angegeben. Standardmäßig wird für den Wert eine Probe von einem Pixel genommen.Hinweis: Der Parameter postEffect bezieht sich auf Effekte, die direkt auf die Ebene angewendet werden, und hat keinen Einfluss auf Effekte, die wie bei einer Einstellungsebene indirekt angewendet werden.In diesem Beispiel wird eine Probe aus einem 4 Pixel breiten und 3 Pixel hohen Rechteck genommen, dessen Mitte von einem Punkt gebildet wird, der sich jeweils 100 Pixel unter und rechts von der linken oberen Ecke der Ebene befindet.
thisComp.layer(1).sampleImage([100, 100], [2, 1.5])
Dan Ebberts provides an example of how to use the sampleImage method on his MotionScript website.
Das AE Enhancers Forum enthält eine Expression, die mit der Methode sampleImage Textebenen oder Formebenen misst und deren effektive Begrenzungsrahmen ermittelt.
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.
Ebeneneigenschaften – Attribute und Methoden (Expression-Referenz)
Wenn Sie einer Ebene Masken, Effekte, Maleffekte oder Text hinzufügen, fügt After Effects im Zeitleistenfenster neue Eigenschaften hinzu. Für das Auflisten aller dieser Eigenschaften reicht der Platz hier nicht aus. Nutzen Sie daher das Expression-Auswahlwerkzeug, um sich mit der Syntax vertraut zu machen und diese dann korrekt in Ihren Expressions einzusetzen.
- anchorPoint
- Rückgabetyp: Property (Eigenschaft) [2 oder 3].
Gibt den Wert des Ebenenankerpunkts im Koordinatensystem der Ebene (Ebenen-Raum) zurück.
- position
- Rückgabetyp: Property (Eigenschaft) [2 oder 3].
Gibt den Positionswert der Ebene im Welt-Raum zurück, wenn keine übergeordnete Ebene vorhanden ist. Gibt den positiven Wert der Ebene im Koordinatensystem der übergeordneten Ebene (im Ebenen-Raum der übergeordneten Ebene) an, wenn eine übergeordnete Ebene vorhanden ist.
- scale
- Rückgabetyp: Property (Eigenschaft) [2 oder 3].
Gibt den Skalierungswert der Ebene (in Prozent) zurück.
- rotation
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert für die Drehung der Ebene (in Grad) zurück. Bei 3D-Ebenen wird der Wert der z-Drehung (in Grad) zurückgegeben.
- opacity
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert für die Deckkraft der Ebene (in Prozent) zurück.
- audioLevels
- Rückgabetyp: Property (Eigenschaft) [2].
Gibt den Wert für die Eigenschaft „Audiopegel“ der Ebene (in Dezibel) zurück. Dabei handelt es sich um einen zweidimensionalen Wert. Der erste Wert steht für den linken und der zweite Wert für den rechten Audiokanal. Dieser Wert gibt nicht die Amplitude der Audiospur des Ausgangsmaterials an. Es ist der Wert der Eigenschaft „Audiopegel“, der durch Keyframes beeinflusst sein kann.
- timeRemap
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert der Eigenschaft „Zeitverzerrung“ (in Sekunden) zurück, sofern diese Option aktiviert ist.
- marker.key(index)
- Rückgabetyp: MarkerKey.
Argumenttyp: index ist eine Number (Zahl).
Gibt das Objekt „MarkerKey“ der Ebenenmarke mit dem angegebenen Index zurück.
- marker.key(name)
- Rückgabetyp: MarkerKey.
Argumenttyp: name ist ein String.
Gibt das Objekt „MarkerKey“ der Ebenenmarke mit dem angegebenen Namen zurück. Der Wert name ist der Name der Marke, wie er im Feld „Kommentar“ des Dialogfelds „Marke“ eingegeben wurde, z. B. marker.key("ch1"). Wenn mehr als eine Marke in der Ebene denselben Namen trägt, gibt diese Methode die Marke zurück, die zuerst eintritt (in Ebenenzeit). Der Wert für Markenkeys ist ein String und keine Number (Zahl).
Durch diese Expression einer Eigenschaft verläuft der Eigenschaftswert von 0 bis 100 zwischen zwei durch einen Namen gekennzeichneten Marken:
m1 = marker.key("Start").time; m2 = marker.key("End").time; linear(time, m1, m2, 0, 100); - marker.nearestKey(t)
- Rückgabetyp: MarkerKey.
Argumenttyp: t ist eine Number (Zahl).
Gibt die Ebenenmarke zurück, die dem Zeitpunkt t am nächsten ist. Diese Expression z. B. gibt die Zeit der Ebenenzeitmarke zurück, die der Zeit von einer Sekunde am nächsten liegt:
marker.nearestKey(1).time
Diese Expression gibt die Zeit der Ebenenzeitmarke zurück, die der aktuellen Zeit am nächsten liegt:
marker.nearestKey(time).time
- marker.numKeys
- Rückgabetyp: Number (Zahl).
Gibt die Gesamtanzahl der Marken in der Ebene zurück.
- name
- Rückgabetyp: String.
Gibt den Namen der Ebene zurück.
Objekttyp „Layer 3D“ (Ebenen-3D): Attribute und Methoden für 3D-Ebenen (Expression-Referenz)
- orientation
- Rückgabetyp: Property (Eigenschaft) [3].
Gibt den Wert für die Ausrichtung der 3D-Ebene im dreidimensionalen Raum (in Grad) zurück.
- rotationX
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert der x-Drehung der 3D-Ebene (in Grad) zurück.
- rotationY
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert der y-Drehung der 3D-Ebene (in Grad) zurück.
- rotationZ
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert der z-Drehung der 3D-Ebene (in Grad) zurück.
- lightTransmission
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert der Eigenschaft „Lichtübertragung“ für eine 3D-Ebene zurück.
- castsShadows
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert 1,0 zurück, falls die Ebene Schatten wirft.
- acceptsShadows
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert 1,0 zurück, falls die Ebene Schatten empfängt.
- acceptsLights
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert 1,0 zurück, falls die Ebene Lichter empfängt.
- ambient
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert für die Komponente „Umgebung“ (in Prozent) zurück.
- diffuse
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert für die Komponente „Diffus“ (in Prozent) zurück.
- specular
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert für die Komponente „Glanz“ (in Prozent) zurück.
- shininess
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert für die Komponente „Glanzlichtschärfe“ (in Prozent) zurück.
- metal
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert für die Komponente „Metall“ (in Prozent) zurück.
Transformationsmethoden für Ebenen-Räume (Expression-Referenz)
Mit den Transformationsmethoden für Ebenen-Räume können Sie Werte von einem Raum in einen anderen Raum transformieren – z. B. vom Ebenen-Raum in den Welt-Raum. Mit den „from“-Methoden können Werte des Ebenen-Raums in den benannten Raum (Kompositions-Raum oder Welt-Raum) transformiert werden. Mit den „to“-Methoden lassen sich Werte des benannten Raums (Kompositions-Raum oder Welt-Raum) in den Ebenen-Raum transformieren. Jede Transformationsmethode besitzt ein optionales Argument zur Bestimmung des Zeitpunkts, zu dem die Transformation der Ebene berechnet wird. In den meisten Fällen können Sie aber die aktuelle Zeit (Standardeinstellung) verwenden.
Mit den Vektor-Transformationsmethoden (Vec) können Sie Richtungsvektoren transformieren, z. B. die Differenz zweier Positionswerte. Mit den Nicht-Vektor-Transformationsmethoden können Sie Punkte transformieren, z. B. eine Position. In 2D-Ebenen sind der Kompositions-Raum und der Welt-Raum identisch. Bei 3D-Ebenen verhält sich der Kompositions-Raum relativ zur aktiven Kamera, während der Welt-Raum kameraunabhängig ist.
Chris und Trish Meyer stellen auf ihrer ProVideo Coalition-Website zusätzliche Informationen über diese Methoden zur Verfügung.
- toComp(point, t=time)
- Rückgabetyp: Array [2 oder 3].
Argumenttyp: point ist ein Array [2 oder 3], t ist eine Number (Zahl).
Transformiert einen Punkt aus dem Ebenen-Raum in den Kompositions-Raum.
- fromComp(point, t=time)
- Rückgabetyp: Array [2 oder 3].
Argumenttyp: point ist ein Array [2 oder 3], t ist eine Number (Zahl).
Transformiert einen Punkt aus dem Kompositions-Raum in den Ebenen-Raum. Der resultierende Punkt in der 3D-Ebene kann einen anderen Wert als Null haben, obwohl er sich im Ebenen-Raum befindet. Beispiel: fromComp(thisComp.layer(2).position)
- toWorld(point, t=time)
- Rückgabetyp: Array [2 oder 3].
Argumenttyp: point ist ein Array [2 oder 3], t ist eine Number (Zahl).
Transformiert einen Punkt aus dem Ebenen-Raum in den ansichtsunabhängigen Welt-Raum. Beispiel:
toWorld.effect("Bulge")("Bulge Center")Dan Ebberts bietet auf seiner MotionScript-Website eine Expression an, in der die toWorld-Methode verwendet wird, um eine Ebene automatisch an nur einer Achse auszurichten. Dies ist zum Beispiel hilfreich, wenn Figuren sich mit der Kamera drehen, aber dabei aufrecht stehen bleiben sollen.
Carl Larsen bietet auf der Creative COW-Website einen zweiteiligen Video-Lehrgang an, in dem er die Grundlagen hierarchischer Anordnungen erläutert und eine Expression verwendet, die mit der toWorld-Methode den Pfad einer animierten untergeordneten Ebene verfolgt:Rich Young hat auf seiner AE Portal-Website eine Reihe von Expressions veröffentlicht, die die toWorld-Methode verwenden, um Kamera und Licht mit einer Ebene mit CC Sphere-Effekt zu verknüpfen.
- fromWorld(point, t=time)
- Rückgabetyp: Array [2 oder 3].
Argumenttyp: point ist ein Array [2 oder 3], t ist eine Number (Zahl).
Transformiert einen Punkt aus dem Welt-Raum in den Ebenen-Raum. Beispiel: fromWorld(thisComp.layer(2).position)
Siehe Expression-Beispiel: Komplexes Wölben zwischen zwei Ebenen erstellen zur Verwendung dieser Methode.
- toCompVec(vec, t=time)
- Rückgabetyp: Array [2 oder 3].
Argumenttyp: vec ist ein Array [2 oder 3], t ist eine Number (Zahl).
Transformiert einen Vektor aus dem Ebenen-Raum in den Kompositions-Raum. Beispiel: toCompVec([1,0])
- fromCompVec(vec, t=time)
- Rückgabetyp: Array [2 oder 3].
Argumenttyp: vec ist ein Array [2 oder 3], t ist eine Number (Zahl).
Transformiert einen Vektor aus dem Kompositions-Raum in den Ebenen-Raum. Beispiel (2D-Ebene):
dir=sub(position, thisComp.layer(2).position); fromCompVec(dir)
- toWorldVec(vec, t=time)
- Rückgabetyp: Array [2 oder 3].
Argumenttyp: vec ist ein Array [2 oder 3], t ist eine Number (Zahl).
Transformiert einen Vektor aus dem Ebenen-Raum in den Welt-Raum. Beispiel:p1 = effect("Eye Bulge 1")("Bulge Center"); p2 = effect("Eye Bulge 2")("Bulge Center"); toWorld(sub(p1, p2)) - fromWorldVec(vec, t=time)
- Rückgabetyp: Array [2 oder 3].
Argumenttyp: vec ist ein Array [2 oder 3], t ist eine Number (Zahl).
Transformiert einen Vektor aus dem Welt-Raum in den Ebenen-Raum. Beispiel: fromWorld(thisComp.layer(2).position)
- fromCompToSurface(point, t=time)
- Rückgabetyp: Array [2].
Argumenttyp: point ist ein Array [2 oder 3], t ist eine Number (Zahl).
Projiziert einen Punkt, der sich im Kompositions-Raum befindet, auf einen Punkt auf der Oberfläche der Ebene (z-Wert Null), und zwar an der Position, an der er aus der Perspektive der aktiven Kamera erscheint. Diese Methode eignet sich zum Festlegen von Effektankerpunkten. Verwenden Sie diese Expression nur bei 3D-Ebenen.
Objekttyp „Camera“ (Kamera): Attribute und Methoden (Expression-Referenz)
Objekte des Typs „Camera“ (Kamera) haben dieselben Attribute und Methoden wie Objekte des Typs „Layer“ (Ebene), mit Ausnahme von source, effect, mask, width, height, anchorPoint, scale, opacity, audioLevels, timeRemap sowie allen Materialeigenschaften.
- pointOfInterest
- Rückgabetyp: Property (Eigenschaft) [3].
Gibt die Werte für den Interessenbereich der Kamera im Welt-Raum zurück.
- zoom
- Rückgabetyp: Property (Eigenschaft).
Gibt die Zoomwerte der Kamera (in Pixeln) zurück.
Mit der folgenden Expression für die Eigenschaft „Skalieren“ einer Ebene wird die relative Größe der Ebene im Frame beibehalten, während die Position der Ebene auf der z-Achse (Tiefe) oder der Zoomwert der Kamera geändert wird:
cam = thisComp.activeCamera; distance = length(sub(position, cam.position)); scale * distance / cam.zoom;
- depthOfField
- Rückgabetyp: Property (Eigenschaft).
Gibt 1 zurück, wenn die Eigenschaft „Tiefenschärfe“ der Kamera aktiviert ist, bzw. 0, wenn diese Eigenschaft deaktiviert ist.
- focusDistance
- Rückgabetyp: Property (Eigenschaft).
Gibt den Fokusentfernungswert der Kamera (in Pixeln) zurück.
- aperture
- Rückgabetyp: Property (Eigenschaft).
Gibt den Blendenwert der Kamera (in Pixeln) zurück.
- blurLevel
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert der Weichzeichnerstärke der Kamera (in Prozent) zurück.
- active
- Rückgabetyp: Boolean (Boolescher Wert).
Gibt den Wert „true“ zurück, wenn die Kamera aktuell die aktive Kamera für die Komposition ist: der Schalter „Video“
für die Kameraebene ist aktiviert, die aktuelle Zeit liegt im Bereich zwischen In-Point und Out-Point der Kameraebene und die Kameraebene steht an erster (oberster) Stelle im Zeitleistenfenster. Gibt andernfalls „false“ zurück.
Objekttyp „Light“ (Licht): Attribute und Methoden (Expression-Referenz)
Objekte des Typs „Light“ (Licht) haben dieselben Attribute und Methoden wie Objekte des Typs „Layer“ (Ebene), mit Ausnahme von source, effect, mask, width, height, anchorPoint, scale, opacity, audioLevels, timeRemap sowie allen Materialeigenschaften.
- pointOfInterest
- Rückgabetyp: Property (Eigenschaft) [3].
Gibt die Werte des Interessenbereichs für das Licht im Welt-Raum zurück.
- intensity
- Rückgabetyp: Property (Eigenschaft).
Gibt die Intensitätswerte für das Licht (in Prozent) zurück.
- color
- Rückgabetyp: Property (Eigenschaft) [4].
Gibt den Farbwert für das Licht zurück.
- coneAngle
- Rückgabetyp: Property (Eigenschaft).
Gibt den Lichtkegelwert für das Licht (in Grad) zurück.
- coneFeather
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert der weichen Kegelkante für das Licht (in Prozent) zurück.
- shadowDarkness
- Rückgabetyp: Property (Eigenschaft).
Gibt den Schattentiefewert für das Licht (in Prozent) zurück.
- shadowDiffusion
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert der weichen Schattenkante für das Licht (in Pixel) zurück.
David Van Brink bietet in seinem Omino Pixel Blog eine Anleitung und ein Beispielprojekt zur Verwendung von Expressions mit Lichtern an.
Objekttyp „Effect“ (Effekt): Attribute und Methoden (Expression-Referenz)
- active
- Rückgabetyp: Boolean (Boolescher Wert).
Gibt den Wert „true“ zurück, wenn der Effekt aktiviert ist (der Schalter „Effekt“
wurde ausgewählt). - param(name)
- Rückgabetyp: Property (Eigenschaft).
Argumenttyp: name ist ein String.
Gibt eine Eigenschaft in einem Effekt zurück. Effektankerpunkte befinden sich immer im Ebenen-Raum. Beispiel:
effect("Bulge").param("Bulge Height") - param(index)
- Rückgabetyp: Property (Eigenschaft).
Argumenttyp: index ist eine Number (Zahl).
Gibt eine Eigenschaft in einem Effekt zurück. Effektankerpunkte befinden sich immer im Ebenen-Raum. So gibt z. B. effect("Komplexes Wölben").param(4) die Eigenschaft „Höhe“ zurück.
Objekttyp „Mask“ (Maske): Attribute und Methoden (Expression-Referenz)
- maskOpacity
- Rückgabetyp: Property (Eigenschaft).
Gibt den Deckkraftwert einer Maske (in Prozent) zurück.
- maskFeather
- Rückgabetyp: Property (Eigenschaft).
Gibt den Wert einer weichen Maskenkante (in Pixeln) zurück.
- maskExpansion
- Rückgabetyp: Property (Eigenschaft).
Gibt den Ausbreitungswert einer Maske (in Pixeln) zurück.
- invert
- Rückgabetyp: Boolean (Boolescher Wert).
Gibt den Wert „true“ zurück, wenn die Maske umgekehrt ist; andernfalls wird „false“ zurückgegeben.
Objekttyp „Property“ (Eigenschaft): Attribute und Methoden (Expression-Referenz)
- value
- Rückgabetyp: Zahl, Array oder String.
Gibt den Wert einer Eigenschaft zum aktuellen Zeit zurück.
- valueAtTime(t)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: t ist eine Number (Zahl).
Gibt den Wert einer Eigenschaft zu einem bestimmten Zeitpunkt (in Sekunden) zurück.
Wenn beispielsweise für jeden Frame ein Eigenschaftswert zufällig aus einer Gruppe von vier Werten ausgewählt werden soll, legen Sie die vier Werte als Keyframes bei 0, 1, 2 und 3 Sekunden fest und wenden dann die folgende Expression auf die Eigenschaft an:
valueAtTime(random(4))
Hinweis: Dan Ebberts veröffentlicht weitere Beispiele und Techniken zur Verwendung der Methoden „valueAtTime“ und „velocityAtTime“ auf der MotionScript-Website. - velocity
- Rückgabetyp: Number (Zahl) oder Array.
Gibt den Wert für die zeitliche Geschwindigkeit zum aktuellen Zeitpunkt zurück. Bei räumlichen Eigenschaften, wie z. B. „Position“, wird der Wert des Tangentenvektors zurückgegeben. Das Ergebnis hat die gleiche Dimension wie die Eigenschaft.
- velocityAtTime(t)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: t ist eine Number (Zahl).
Gibt den Wert für die zeitliche Geschwindigkeit zum angegebenen Zeitpunkt zurück.
- speed
- Rückgabetyp: Number (Zahl).
Gibt einen eindimensionalen positiven Wert zurück, der der Geschwindigkeit entspricht, mit der sich die Eigenschaft am Standardzeitpunkt ändert. Dieses Element kann ausschließlich für räumliche Eigenschaften verwendet werden.
- speedAtTime(t)
- Rückgabetyp: Number (Zahl).
Argumenttyp: t ist eine Number (Zahl).
Gibt den Wert für die räumliche Geschwindigkeit zum angegebenen Zeitpunkt zurück.
- wiggle(freq, amp, octaves=1, amp_mult=.5, t=time)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: freq, amp, octaves, amp_mult und t sind Numbers (Zahlen).
Schüttelt (verwackelt) den Wert für die Eigenschaft nach dem Zufallsprinzip.
Der Wert freq gibt die Frequenz von Verwacklungen pro Sekunde an.
Der Wert amp gibt die Amplitude in einer Einheit an, die für die jeweilige Eigenschaft, auf die sie angewendet wird, geeignet ist.
Der Wert octaves gibt die Anzahl der zu summierenden Störoktaven an. Mit diesem Wert wird angegeben, wie detailliert das Verwackeln sein soll. Wenn Sie diesen Wert ausgehend vom Standardwert 1 erhöhen, werden beim Verwackeln höhere Frequenzen erreicht, und wenn Sie ihn verringern, werden die Amplitudenoberschwingungen verstärkt.
Mit dem Wert amp_mult wird der Wert amp für jede Oktave multipliziert. Mit diesem Wert wird angegeben, wie schnell die Oberschwingungen abklingen. Der Standardwert ist 0,5. Bei einem näher bei 1 liegenden Wert werden die Oberschwingungen mit derselben Amplitude wie für die Grundfrequenz hinzugefügt, während der Effekt bei einem näher bei 0 liegenden Wert weniger detailliert ist.
Der Wert t gibt die Basis-Startzeit an. Dieser Wert entspricht standardmäßig der aktuellen Uhrzeit. Mit diesem Parameter können Sie angeben, dass die Ausgabe des Effekts „Verwackeln“ auf einem Eigenschaftswert basieren soll, der zu einem anderen Zeitpunkt ermittelt wurde.
Beispiel: position.wiggle(5, 20, 3, .5) Mit diesem Ausdruck werden ungefähr 5 Schüttelbewegungen pro Sekunde mit einer durchschnittlichen Größe von ungefähr 20 Pixel erzeugt. Zusätzlich zur Hauptschüttelbewegung werden auf zwei weiteren Ebenen detaillierte Schüttelbewegungen mit einer Frequenz von jeweils 10 und 20 Schüttelbewegungen pro Sekunde und einer Größe von 10 bzw. 5 Pixeln erzeugt.
In diesem Beispiel für eine zweidimensionale Eigenschaft wie „Skalierung“ werden beide Dimensionen um denselben Betrag verwackelt:
v = wiggle(5, 10); [v[0], v[0]]
In diesem Beispiel für eine zweidimensionale Eigenschaft wird nur entlang der Y-Achse verwackelt:
freq = 3; amp = 50; w = wiggle(freq,amp); [value[0],w[1]];
Paul Tuersley bietet im AE Enhancers Forum ein Skript an, das ausgewählten Eigenschaften automatisch die Expressions wiggle, smooth und loop hinzufügt.
Dan Ebberts bietet auf seiner MotionScript-Website eine Beispiel-Expression und eine detaillierte Erläuterung an, wie Sie mit dem Zeitparamater der Verwackeln-Methode eine Animationsschleife erstellen.
Kert Gartner bietet auf der VFX Haiku-Website einen Video-Lehrgang an, der zeigt, wie Bilder organisch mithilfe der Expressionmethode Verwackeln auf Marionetten-Pins bewegt werden.
- temporalWiggle(freq, amp, octaves=1, amp_mult=.5, t=time)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: freq, amp, octaves, amp_mult und t sind Numbers (Zahlen).
Sampelt die Eigenschaft mit einer Verwacklungszeit. Der Wert freq ist die Frequenz in Verwacklungen pro Sekunde, amp ist die Amplitude in den Einheiten der jeweiligen Eigenschaft, octaves ist die Anzahl der Störungen pro Einheit, amp-mult ist der Faktor, mit dem amp für jede Störung multipliziert wird und t ist die Basis-Startzeit. Diese Funktion ergibt nur dann einen Sinn, wenn die Zieleigenschaft animiert ist, da die Funktion lediglich die Sampling-Zeit und nicht den Sampling-Wert ändert. Beispiel: scale.temporalWiggle(5, .2)
- smooth(width=.2, samples=5, t=time)
- Rückgabetyp: Number (Zahl) oder Array.
Argumenttyp: width, samples und t sind Numbers (Zahlen).
Glättet die Werte der Eigenschaft im Zeitablauf, indem große, abrupte Abweichungen bei den Werten in kleinere, gleichmäßiger verteilte Abweichungen konvertiert werden. Diese Glättung wird durch Anwenden eines Feldfilters auf den Wert der Eigenschaft zum angegebenen Zeitpunkt erreicht. Der Wert width entspricht dem Zeitbereich (in Sekunden), in dem der Filter gemittelt wird. Der Wert samples gibt die Anzahl der diskreten Samples an, die gleichmäßig im Zeitverlauf verteilt werden. Mit einem größeren Wert erreichen Sie eine größere Glättung, aber die Leistung wird beeinträchtigt. In der Regel sollten Sie eine ungerade Anzahl von samples verwenden, damit die aktuelle Zeit beim Mitteln einbezogen wird. Beispiel: position.smooth(.1, 5)
- loopIn(type="cycle", numKeyframes=0)
- Rückgabetyp: Number (Zahl) oder Array.
Wiederholt ein Zeitsegment in einer Schleife, gemessen vom ersten Keyframe in der Ebene in Vorwärtsrichtung zum Out-Point der Ebene. Die Schleife beginnt am In-Point der Ebene. Mit dem Wert numKeyframes wird bestimmt, welches Segment in einer Schleife durchlaufen wird: Das in einer Schleife durchlaufene Segment ist der Teil der Ebene von dem ersten Keyframe bis zu dem Keyframe numKeyframes+1. So umfasst die Schleife bei der Expression loopIn("cycle", 3) den Bereich vom ersten bis zum vierten Keyframe. Der Standardwert 0 bedeutet, dass die Schleife alle Keyframes durchläuft.
Mit Keyframeschleifen-Methoden können Sie eine Serie von Keyframes wiederholen lassen. Diese Methoden lassen sich auf die meisten Eigenschaften anwenden. Zu den Ausnahmen gehören Eigenschaften, die nicht durch einfache Zahlenwerte im Zeitleistenfenster ausgedrückt werden können, z. B. die Eigenschaft „Quelltext“, Pfadformeigenschaften und die Eigenschaft „Histogramm“ für den Effekt „Tonwertkorrektur“. Zu große Keyframe- oder Dauerwerte werden auf die maximal zulässigen Werte verkleinert. Zu kleine Werte führen zu einer Endlosschleife.
Schleifentyp
Ergebnis
cycle
(Standard) Wiederholt das angegebene Segment.
pingpong
Wiederholt das angegebene Segment und wechselt dabei zwischen Vorwärts- und Rückwärtsbewegung.
offset
Wiederholt das angegebene Segment, verschiebt aber jeden Zyklus um den Differenzbetrag zwischen dem Eigenschaftswert am Anfang und am Ende des Segments multipliziert mit der Anzahl der Schleifenwiederholungen.
continue
Wiederholt das angegebene Segment nicht, sondern fährt mit der Animation der Eigenschaft – basierend auf der Geschwindigkeit am ersten oder letzten Keyframe – fort. Wenn der letzte Keyframe einer Ebene z. B. für die Eigenschaft „Skalierung“ auf 100 % festgelegt wurde, wird die Ebene ausgehend von 100 % bis zum Out-Point skaliert, statt direkt als Schleife zum Out-Point zurückgeführt zu werden. Die Argumente keyframes oder duration werden von diesem Typ nicht unterstützt.
Todd Kopriva bietet in seinem Blog ein Beispielprojekt an, in dem die Verwendung der loopIn- und loopOut-Methoden sowie aller Schleifentypen erläutert werden.
Paul Tuersley bietet im AE Enhancers Forum ein Skript an, das ausgewählten Eigenschaften automatisch die Expressions wiggle, smooth und loop hinzufügt.
- loopOut(type="cycle", numKeyframes=0)
- Rückgabetyp: Number (Zahl) oder Array.
Wiederholt ein Zeitsegment in einer Schleife, gemessen vom letzten Keyframe in der Ebene in Rückwärtsrichtung zum In-Point der Ebene. Die Schleife endet am Out-Point der Ebene. Das Zeitsegment für die Schleife wird durch die angegebene Anzahl von Keyframes bestimmt. Der Wert numKeyframes gibt die Anzahl der Keyframesegmente an, die in die Schleife aufgenommen werden sollen; der angegebene Bereich wird dabei ab dem letzten Keyframe in Rückwärtsrichtung gemessen. So umfasst die Schleife bei der Expression loopOut("cycle", 1) den Bereich vom letzten bis zum vorletzten Keyframe. Der Standardwert 0 bedeutet, dass die Schleife alle Keyframes durchläuft. Weitere Informationen finden Sie unter dem Eintrag loopIn.
David Van Brink bietet in seinem Omino Pixel Blog eine Anleitung und ein Beispielprojekt zur Verwendung des Effekts „Echo“, des Effekts „Partikelsimulation“ und der Methode loopOut an, mit denen er einen Schwarm stilisierter schwimmender Bakterien animiert.
- loopInDuration(type="cycle", duration=0)
- Rückgabetyp: Number (Zahl) oder Array.
Wiederholt ein Zeitsegment in einer Schleife, gemessen vom ersten Keyframe in der Ebene in Vorwärtsrichtung zum Out-Point der Ebene. Die Schleife beginnt am In-Point der Ebene. Das Zeitsegment für die Schleife wird durch die angegebene Dauer bestimmt. Der Wert duration gibt die Dauer des Segments der Komposition (in Sekunden) in einem Segment an, das in die Schleife aufgenommen werden soll; der angegebene Bereich wird dabei ab dem ersten Keyframe gemessen. So wird mit der Expression loopInDuration("cycle", 1) eine Schleife mit der ersten Sekunde der gesamten Animation erstellt. Der Standardwert 0 bedeutet, dass das Segment, für das eine Schleife erstellt werden soll, am Out-Point der Ebene beginnt. Weitere Informationen finden Sie unter dem Eintrag loopIn.
- loopOutDuration(type="cycle", duration=0)
- Rückgabetyp: Number (Zahl) oder Array.
Wiederholt ein Zeitsegment in einer Schleife, gemessen vom letzten Keyframe in der Ebene in Rückwärtsrichtung zum In-Point der Ebene. Die Schleife endet am Out-Point der Ebene. Das Zeitsegment für die Schleife wird durch die angegebene Dauer bestimmt. Der Wert duration gibt die Dauer des Segments der Komposition (in Sekunden) in einem Segment an, das in die Schleife aufgenommen werden soll; der angegebene Bereich wird dabei ab dem letzten Keyframe rückwärts gemessen. So wird mit der Expression loopOutDuration("cycle", 1) eine Schleife mit der letzten Sekunde der gesamten Animation erstellt. Der Standardwert 0 bedeutet, dass das Segment, für das eine Schleife erstellt werden soll, am In-Point der Ebene beginnt. Weitere Informationen finden Sie unter dem Eintrag loopIn.
- key(index)
- Rückgabetyp: Key oder MarkerKey.
Argumenttyp: index ist eine Number (Zahl).
Gibt das Key- bzw. MarkerKey-Objekt anhand der Nummer zurück. So gibt z. B. key(1) den ersten Keyframe zurück.
- key(markerName)
- Rückgabetyp: MarkerKey.
Argumenttyp: markerName ist ein String.
Gibt das MarkerKey-Objekt mit diesem Namen zurück. Verwenden Sie diese Expression nur bei Markeneigenschaften.
- nearestKey(t)
- Rückgabetyp: Key oder MarkerKey.
Gibt das Key- bzw. MarkerKey-Objekt zurück, das einer bezeichneten Zeit am nächsten liegt.
- numKeys
- Rückgabetyp: Number (Zahl).
Gibt die Zahl der Keyframes in einer Eigenschaft zurück. Gibt die Zahl der Marken in einer Markeneigenschaft zurück.
Hinweis: Wenn Sie die Dimensionen der Eigenschaft „Position“ mithilfe des Befehls „Dimensionen trennen“ in einzelne Komponenten zerlegen, ändert sich die Anzahl der Keyframes und somit auch der Rückgabewert dieser Methode. - propertyGroup(countUp = 1)
- Rückgabetyp: Group (Gruppe).
Gibt eine Gruppe von Eigenschaften bezüglich der Eigenschaft zurück, für die die Expression geschrieben wird. Wenn Sie zum Beispiel die Expression propertyGroup(1) der Eigenschaft „Drehung“ eines Pinselstrichs hinzufügen, wählt die Expression die Eigenschaftsgruppe „Transformieren“ aus, die die Eigenschaft „Drehung“ enthält. Fügen Sie stattdessen propertyGroup(2) hinzu, wählt die Expression die Eigenschaftsgruppe „Pinsel“ aus. Sie können mit dieser Methode namensunabhängige Beziehungen in der Eigenschaftshierarchie erstellen. Sie ist besonders nützlich für das Duplizieren von Eigenschaften, die Expressions enthalten.
Die Methode numProperties für propertyGroup gibt die Anzahl der Eigenschaften in der Eigenschaftsgruppe zurück.
Bei diesem Beispiel wird die Anzahl der Eigenschaften in der Gruppe zurückgegeben, welche die Eigenschaft enthält, auf der die Expression geschrieben ist:
thisProperty.propertyGroup(1).numProperties
- propertyIndex
- Rückgabetyp: Number (Zahl).
Gibt den Index einer Eigenschaft bezüglich anderen Eigenschaften in der Eigenschaftsgruppe zurück, einschließlich Eigenschaftsgruppen in Masken, Effekten, Textanimatoren, Formen, Trackern und Track-Punkten.
- name
- Rückgabetyp: String.
Gibt den Namen der Eigenschaft oder Eigenschaftsgruppe zurück.
Beispiel für das Animieren mit der Methode „propertyGroup“ und dem Attribut „propertyIndex“

- A.
- propertyGroup(4)
- B.
- propertyGroup(3)
- C.
- propertyGroup(2)
- D.
- propertyGroup(1)
- E.
- Der Wert propertyIndex von „Position“ ist 2; der Wert propertyIndex von „Drehung“ ist 4.
propertyGroup(2).propertyIndex * time * 200

Objekttyp „Key“: Attribute und Methoden (Expression-Referenz)
Keyobjekte können Sie mit den Eigenschaften time, index und value verbinden. Die Expression position.key(3).value gibt z. B. den Wert des dritten Positionskeys zurück.
d = Math.abs(time - nearestKey(time).time); easeOut(d, 0, .1, 100, 0)
- value
- Rückgabetyp: Number (Zahl) oder Array.
Gibt den Wert des Keyframes zurück.
- time
- Rückgabetyp: Number (Zahl).
Gibt den Zeitpunkt des Keyframes zurück.
- index
- Rückgabetyp: Number (Zahl).
Gibt den Index des Keyframes zurück.
MarkerKey-Attribute (Expression-Referenz)
Sie können zum Bearbeiten von Kompositionszeitmarken und Ebenenmarken dieselben Methoden verwenden. Mit dem Objekt thisLayer.marker greifen Sie auf Ebenenzeitmarken zu und mit dem Objekt thisComp.marker greifen Sie auf Kompositionszeitmarken zu.
In Expressions sind Marken eine besondere Form vom Key-Objekt, sodass Sie mit Methoden wie nearestKey(time) auf Marken zugreifen können und Marken auch die Attribute time und index haben. Das Attribut index ist nicht die Zahl (Name) der Marke; es ist die Indexnummer des Keyframes, die die Position der Marke auf dem Zeitlineal darstellt.
Mit Expressions haben Sie Zugriff auf alle Werte für eine Marke, die Sie im Dialogfeld „Kompositionszeitmarke“ oder „Ebenenmarke“ festlegen können. Mit dieser Expression für die Eigenschaft „Quelltext“ einer Textebene werden Zeit, Dauer, Index, Kommentar (Name), Kapitel, URL, Frameziel und der Name des Cue-Punkts für die Ebenenmarke angezeigt, die der aktuellen Zeit am nächsten ist; außerdem besagt sie, ob die Marke für einen Ereignis-Cue-Punkt gesetzt wurde:
m = thisLayer.marker.nearestKey(time);
s = "time:" + timeToCurrentFormat(m.time) + "\r" +
"duration: " + m.duration + "\r" +
"key index: " + m.index + "\r" +
"comment:" + m.comment + "\r" +
"chapter:" + m.chapter + "\r" +
"URL:" + m.url + "\r" +
"frame target: " + m.frameTarget + "\r" +
"cue point name: " + m.cuePointName + "\r" +
"Event cue point? " + m.eventCuePoint + "\r";
for (param in m.parameters){
s += "parameter: " + param + " value: " + m.parameters[param] + "\r";
}
sDa die XMP-Metadaten in einem Footageelement in Ebenenmarken für eine auf diesem Element basierende Ebene konvertiert werden können, können Expressions mit XMP-Metadaten interagieren. Weitere Informationen finden Sie unter XMP-Metadaten in After Effects.
Dan Ebberts bietet im After Effects Developer Center einen Lehrgang mit einem Beispiel für die Verwendung von XMP-Metadaten mit Expressions an.
- duration
- Rückgabetyp: Number (Zahl).
Die Dauer der Marke (in Sekunden).
- Kommentar
- Rückgabetyp: String.
Inhalte des Feldes „Kommentar“ im Dialogfeld „Marke“.
- Kapitel
- Rückgabetyp: String.
Inhalte des Feldes „Kapitel“ im Dialogfeld „Marke“.
- url
- Rückgabetyp: String.
Inhalte des Feldes „URL“ im Dialogfeld „Marke“.
- frameTarget
- Rückgabetyp: String.
Inhalte des Feldes „Frameziel“ im Dialogfeld „Marke“.
- eventCuePoint
- Rückgabetyp: Boolean (Boolescher Wert).
Einstellung für den Cue-Punkt im Dialogfeld „Marke“. Wert „true“ für Ereignis, „false“ für Navigation.
- cuePointName
- Rückgabetyp: String.
Inhalte des Feldes „Name des Cue-Punkts“ im Dialogfeld „Marke“.
- Parameter
- Rückgabetyp: inhaltsorientiertes Array von String-Werten.
Inhalte der Felder „Parametername“ und „Parameterwert“ im Dialogfeld „Marke“.
Wenn Sie z. B. einen Parameter namens „Hintergrundfarbe“ haben, können Sie mit der folgenden Expression auf dessen Wert an der nächsten Marke zugreifen:
thisComp.marker.nearestKey(time).parameters["background color"]
