Objekttyp „Property“ (Eigenschaft): Attribute und Methoden

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))

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]];

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

Zweck

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.

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“

Die Werte propertyGroup im Verhältnis zur Eigenschaft „Position“ eines Pinselstrichs

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.

In diesem Beispiel wählt die Methode propertyGroup für die einzelnen Pinselstriche die Eigenschaftsgruppe „Pinsel“ aus, da sich diese Gruppe in der Hierarchie der Eigenschaftsgruppen zwei Stufen über der Eigenschaft „Drehung“ befindet. Das Attribut propertyIndex in jedem Pinselstrich gibt dann einen eindeutigen Wert für jeden Pinselstrich zurück. Der Ergebniswert wird daraufhin mit der Zeit und mit 200 multipliziert und auf jeden Drehungswert angewendet, wobei jeder Pinselstrich unterschiedlich gedreht wird, um wirbelnde Malstriche zu erzeugen.
  propertyGroup(2).propertyIndex * time * 200
Animieren eines Pinselstriches mit einer Expression