Anmeldung
Hinweis: Dies ist eine automatische Übersetzung; Bitte verwenden Sie eine klare Sprache ohne slang.

Ausdrücke In Adobe After Effects 6

Dan Ebberts
Tutorials :
Ausdrücke In Adobe After Effects 6
Ausdrücke in Adobe After Effects 6
Using Expressions in After Effects 6

Dan Ebberts Dan ebberts,
Sacramento, Kalifornien, USA

© 2003 by Dan ebberts und CreativeCOW.net. Alle Rechte vorbehalten.



Intro

Mit After Effects 6.0, Adobe hat einige wunderbare neue Funktionalität in die Welt der Ausdruecke. Die meisten ist dies das Ergebnis der spektakulären neuen Features, die hinzugefügt wurden, After Effects , die nicht unbedingt auf Ausdrücke, aber dennoch dramatisch erhöhen die Leistung, die der Ausdruck Schriftsteller. Es gab auch einige Änderungen und Verbesserungen bei der Meinungs-Sprache selbst.


Neue Syntax

Lassen Sie uns zunächst einen Blick auf einige der Änderungen an der Umsetzung Ausdruecke. Multi-Word-Objekte, Methoden und Eigenschaften werden jetzt in "intercaps"-Format statt mit einem Unterstrich separator. Sie zum Beispiel schreiben würde "thiscomp" anstelle von "this_comp", Oder "seedrandom" anstelle von "seed_random". Die alte Syntax wird noch immer in Arbeit AE 6.0, aber es wird empfohlen, dass Sie auf den neuen Stil.


Wiggle Verbesserung

Wiggle () ist jetzt von seedrandom (), So, wenn Sie nicht zufrieden mit den Werten Sie bekommen von wiggle () können Sie allerdings auch mit einem Aufruf an seedrandom () und Sie erhalten unterschiedliche Ergebnisse für die einzelnen Saatgut. Zum Beispiel mit einem Startkapital von 13,

Wiggle mit seedrandom


seedRandom(13);
wiggle(3,35)

Erhalten Sie unterschiedliche Ergebnisse, als die gleiche wiggle () Ausdruck ohne seedrandom ():


Wiggle ohne seedrandom


wiggle(5,35)

Jedoch, Wiggle () ignoriert die "zeitlose" Parameter der seedrandom, Was bedeutet, wenn Sie etwas davon:


seedRandom(13,true);
wiggle(7,15)

Es wäre weiterhin wiggle auf jeden Frame. Jedoch, Wenn Sie möchten, dass wiggle (), um einen Wert für eine bestimmte Anzahl von Frames, Sie können die neue posterizetime ()-Funktion.


Posterizetime

AE 6.0 enthält eine neue posterizetime ()-Funktion, die Sie verwenden können, um Ihre Animation einfrieren regelmäßig mit einer Rate, die Sie. Zum Beispiel, Diese Variante unserer wiggle Ausdruck wird uns eine neue zufällige Position 5-mal pro Sekunde:

Wiggle mit posterizetime


posterizeTime(5);
wiggle(5,35)

Umwandeln von Audio-Keyframes zu

Ok - lass uns in die wirklich Fun Stuff. AE 6.0 hat eine neue Keyframe-Assistent - Umwandeln von Audio-Keyframes zu. Dieser Assistent erstellt eine neue Ebene namens Audio Amplitude mit drei Schieberegler für die linke, Richtig, Und kombinierte Audio-Kanäle. Die Schieberegler haben Keyframes für die NOA Audio Ebenen. So, Sie können nun auf die NOA Audio Infos über Ausdruecke. Fast (aber nicht vollständig) beseitigt die Notwendigkeit, immer nutzen Motion Mathematik.

audio to keyframes

Umwandeln von Audio-Keyframes zu

In der Abbildung oben, Wir haben zwei Audio-Dateien importiert. "Hex-hi.Wav "wurde Balance stark auf den linken Kanal und" hexfloor.Wav "wurde Balance auf der rechten Seite. Dann die Keyframe-Assistent "Audio in Keyframes konvertieren" wurde, , die automatisch eine neue Schicht null "Audio Amplitude" mit Regler für "links", "rechts" und "beide" Kanäle. Das Ausmaß der Parameter "mittel gelb soliden" wurde im Zusammenhang mit dem linken Kanal Schieber mit diesem Ausdruck:

Umwandeln von Audio-Keyframes zu

Download Film (mit Audio)

s = thisComp.layer("Audio Amplitude").effect("Left Channel")("Slider");
scale + [s,s]

ähnlich, Das Ausmaß der Parameter "Medium Cyan soliden" wurde im Zusammenhang mit dem rechten Kanal Schieberegler. (Anmerkung - Ich habe die Audio-Ausgang des kleinen Demo-Film, weil es schnell wirklich ärgerlich, wie der Film-Loops. Wenn Sie möchten, dass zu hören, es, Klicken Sie auf den Download-Link oben). Das Ergebnis, Wie Sie sehen können, Ist, dass die beiden Feststoffe jeder Größenordnung in Synchronisierung mit den Audio-Kanal, dass sie im Zusammenhang mit.


Text!

Die neue, integrierte Werkzeuge in der Art After Effects 6.0 sind einfach erstaunlich. Der in Animatoren und reichen Auswahl bieten die Möglichkeit, schnell und einfach unglaublich leistungsfähige Text-Animationen. Angemessene Berichterstattung über dieses Thema füllen könnte eine ganze Tutorial (oder vielleicht ein Buch) und ich verlassen, dass jemand anderes. Lassen Sie mich nur sagen, dass diese zusätzlich zu After Effects Grund genug, um das Upgrade. Gibt es auch eine spannende Aspekt dieser Ausdruck für Autoren. Sie können nicht nur die Text-Selektoren und Animateure mit Ausdruecke, Sondern auch (endlich!) Können Sie den Quelltext selbst mit einem Ausdruck. Diese löst die volle Kraft und Wut die Verarbeitung von JavaScript-String zu manipulieren die Inhalte Ihrer Text-Animation. Wir beginnen mit einem einfachen Beispiel und sich auf einige sehr mächtige Dinge, bevor wir fertig.

Zuerst, Müssen wir darüber reden, wie Sie eine Textebene. Es ist sehr einfach - Sie wählen nur das Text-Werkzeug, Klicken Sie in das Fenster comp, Und geben Sie etwas. After Effects wird eine neue Ebene und die von Ihnen eingegebene Text wird auch der Name des Layers. Wenn Sie den twirly der neuen Textebene in der Timeline und öffnen Sie dann den "Text" twirly sehen Sie das "Source-Text"-Eigenschaft. ALT / opt klicken Sie auf die Stoppuhr, um einen Ausdruck für diese Eigenschaft. Das Ergebnis des Ausdrucks wird der Text, der angezeigt wird. Es wird über die Attribute (Schriftart, Größe, Etc.) Für das erste Zeichen, was Ihnen bei der Eingabe, um die Schicht. Es ist wichtig, daran zu erinnern, dass JavaScript wird versuchen, behandeln das Ergebnis der Ausdruck als String. Wenn das Ergebnis ist eine Zahl, Javascript konvertiert sie in einen String. Dies bedeutet, dass Ihr Ausdruck einfach so etwas wie dieses:

position expression

Ausdruck: Position [0]

Download Film

position[0]

Und JavaScript umwandeln würde die x-Koordinate der Ebene der Lage sein, einen Begriff ein und geben es aus. In der Demo-Film, Ich keyframed die Position des Text-Schicht, um über den Bildschirm. Wie man es erwarten, Den Text wie die Schicht bewegt.

Jetzt, Wir müssen uns ein wenig darüber, wie JavaScript Griffe Strings. In javascript, Strings werden als eine Abfolge von Zeichen eingeschlossen in einfache oder doppelte Anführungszeichen. Zum Beispiel, " After Effects "Und" After Effects "Sind beide gültig Strings. JavaScript behandelt Strings Arrays, Mit den einzelnen Zeichen besetzt eine zentrale Stelle in das Array. Daran erinnert, dass Array Indizierung in javascript beginnt bei Null, Das Ergebnis dieser Ausdruck:


s = "After Effects";
s[4]

Würde die Zeichenfolge "r".

In javascript, Sie können das "+"-Operator zu verketten Strings. Zum Beispiel,


"abcd" + "efgh"

Ergebnisse in "ABCDEFGH"

Javascript bietet viele nützliche String-Eigenschaften und Methoden. Wir uns ein paar von ihnen. Zum Beispiel, Das Ergebnis der


s = 'After Effects';
s.length

Wäre, 13 (die Länge des Strings), Und das Ergebnis der


s = 'After Effects';
s.toUpperCase

Wäre " After Effects ".

Es gibt eine eingebaute JavaScript String-Objekt namens, Interessanterweise ist, "string". Dieses Objekt ist für einige der String-Methoden. Zum Beispiel, Um einen String aus Zeichen-Codes können Sie etwas tun, wie diese:


String.fromCharCode(48) + String.fromCharCode(49) + String.fromCharCode(50)

Schafft, die die Zeichenfolge "ABC", indem die Zeichencodes für "a", "b", Und "C" (48,49, Und 50) auf die entsprechenden Zeichen-String.

Eine andere nützliche Sache, zu wissen, ist, dass, wenn Sie die Zeichenfolge "r" in einer Zeichenkette, Es wird als ein Wagenrücklauf. So, Wenn Sie eine Zeichenfolge wie



 "abcdrefgh"

Sie würde als:

Abcd
EFGH

OK - jetzt wissen wir genug, um wirklich gefährlich. Nehmen wir an, wir wollten einen zufälligen 8x4 Raster von hexadezimalen Zeichen (hexadezimalen das dazu verwendet wird, auf 16 Zahlen und besteht aus den Ziffern 0 bis 9 und die Buchstaben A bis F). Werfen wir einen Blick auf einen Ausdruck, wird dies:

random hex grid

Random hex Gitter

Download Film

numRows = 4;
numChars = 8;
holdFrames = 5;

seed = Math.floor(time/(holdFrames*thisComp.frameDuration));
seedRandom(seed,true);

s = "";
j = 0;
while(j < numRows){
  k = 0;
  while (k < numChars){
    c = Math.floor(random(48,64));
    if (c > 57) c += 7;
    s += String.fromCharCode(c);
    k += 1;
  }
  s += "r";
  j += 1;
}
s

Let's talk ein wenig über diesen Ausdruck. Die ersten drei Zeilen nur die Größe des Gitters und wie lange halten Sie jeden Satz von Zufallszahlen. Die nächsten zwei Zeilen nur die Zufall auf eine neue Nummer für jede Gruppe von 5 Frames. Dann sind unsere String-Variable ( "s") ist auf ein Null-String. Ein Null-String ist ein String der Länge Null, ohne Zeichen ist (noch). Der Rest des Ausdrucks ist nur zwei verschachtelten Schleifen, die tatsächlich bauen die zufällige Array in unserer String-Variable. Der äußeren Schleife (indiziert durch die ein "J" nur Sequenzen durch die Reihen des Gitters, Ein Wagenrücklauf ( "r") am Ende jeder Zeile. Der inneren Schleife (der Index von "k") führt durch die aktuelle Zeile Zeichen für Zeichen und erzeugt eine zufällige Zahl, die entweder zwischen 48 und 57 ( "0" bis "9") oder zwischen 65 und 70 ( "ein " Durch "f") und wandelt die daraus resultierende Zeichen-Code, um ein Zeichen und verbindet es mit unserer Output-String-Variable "s". Ich werde es als eine Übung für Sie, um herauszufinden, alle Details Ich habe in dieser kurzen Beschreibung.


Zeit zu teilen

Werfen wir einen Blick auf einen Text vor, was wir uns auf etwas anderes. Split () ist ein JavaScript-String-Methode, die einen viel zu unserem Text Ausdruecke. Die Art, wie es arbeitet, die eine lange Zeichenkette in einer Reihe von kleineren Strings. Sie teilt den String, wo es auf einen Delimiter-Zeichen, die Sie. Diesen Ausdruck:


s = "honesty,integrity,loyalty,compassion,empathy";
s.split(",")[2]

Dieser Ausdruck teilt den String "s", wo sie ein Komma. Jedes der Worte zwischen dem Komma wird dann über ein Array-Index. In diesem Beispiel, Index Null würde uns "Ehrlichkeit" und (wie in unserem Ausdruck) Index 2 würde uns "Loyalität". Dies gibt uns eine unglaublich leistungsfähige Methode, um unsere Quelltext on the fly "mit einem Ausdruck. Hier ist eine andere Version des Ausdrucks für Quelltext wird, dass jedes der Worte für eine Sekunde:

split() method

Demo von Split ()-Methode

Download Film

holdTime = 1.0;
s = "honesty,integrity,loyalty,compassion,empathy";
j = Math.floor(time/holdTime);
s.split(",")[j]

Beachten Sie, dass dieser Ausdruck wird ein Fehler nach dem Wort "Empathie", wenn ihm der Wörter. Normalerweise würde ich in einen Code um zu überprüfen, ob die, Aber ich wollte das Chaos für Demonstrationszwecke.

Auf Vollständigkeit, Ich werde die beiden anderen Ausdrücke ich, um die Demo-Film. Hier ist der Maßstab für:


hold = .5;
expand = .5;
t =time%(hold + expand);

if(t <  hold){
  [100,100]
}else{
  linear(t,hold,hold + expand,[100,100],[700,700])
}

Und hier ist eine für die Deckkraft:


fade = .25;
hold = .5;

t = time%(fade + hold + fade);
if(t < fade){
  linear(t,0,fade,0,100)
}else if (t < (fade + hold)){
  100
}else{
  linear(t,fade+hold,fade+hold+fade,100,0)
}

Wir bemalen!

paint

Farbe Demo

Download Film

Ein weiteres wunderbares neues Feature eingeführt, After Effects 6.0 ist das integrierte Motor-Lack. Wie der neue Text-Engine, Dies ist eine Funktion, verdient sein eigenes Tutorial. Ich werde hier nur kurz auf einige Dinge, die Sie tun können, mit Ausdrücken, die die Lack-Tools noch interessanter. Für dieses Beispiel, Ich habe den Pinsel-Werkzeug und zog ein verzerrten Schlaganfall. Ich habe dann für diesen Ausdruck auf die Schlaganfall Ende Parameter:


freq = .5;
50*(1-Math.cos(freq*time*Math.PI*2))

Dann habe ich für diesen Ausdruck auf die Hub der Color-Parameter:


if (index <=4){
  linear(index,1,4,[0,1,1,1],[1,0,1,1])
}else if (index <= 8){
  linear(index,5,8,[1,0,1,1],[1,1,0,1])
}else{
  linear(index,9,12,[1,1,0,1],[0,1,1,1])
}

Schließlich, Ich habe diesen Ausdruck auf die Hub's Rotation Eigentum:


(index-1)*30

Dann habe ich die doppelte Hub 11 mal. Das Ergebnis all dessen ist die Windrad-suchen, was Sie hier sehen. Wenn Sie den Film, Sie werden sehen, dass es wächst aus der Mitte nach außen und dann wieder zurück in die Mitte alle zwei Sekunden. Beachten Sie, dass die Duplikate Position und die Farbe selbst über die Ausdrücke, damit das geschieht alles automatisch, sobald Sie die Ausdrücke für die Original-Hub und die Duplikate. Dies ist ein sehr einfaches Beispiel, Aber die Möglichkeiten sind endlos für verfahrenstechnische Farbe Animationen davon.


Liquify!

Einem anderen der sehr cool Ergänzungen After Effects 6.0 ist die liquify Wirkung / Tools. Liquify hat ein paar Parameter, die interessant sind, um Ausdrücke zu. Für dieses Beispiel, Ich verzerrt das Bild mit den Werkzeugen liquify und dann den folgenden Ausdruck für die "Verzerrung Prozentsatz" Parameter.

liquify

Liquify Demo

Download Film


freq = 2;
(1-Math.cos(freq*time*Math.PI*2))*50

Das Ergebnis ist eine Schwingung zwischen 0% der Effekt die Wirkung in vollem Umfang angewendet. Ich denke, mit ein wenig Sorgfalt bei der Erstellung der Verzerrung können Sie einen Ausdruck mit dem "Ende"-Parameter, um ein angenehmes "einwirken, die den Wind-Effekt".


Tracker mit Daten

Schließlich, Eine Menge Arbeit ging in die Verbesserung der Tracker in AE 6.0. Eine der neuen Funktionen, die von besonderem Interesse zum Ausdruck Schriftsteller ist die Möglichkeit zur Herstellung von Roh-Tracking-Daten, Was bedeutet, dass die Tracking-Daten nicht auf eine andere Ebene, Es ist auf eine Eigenschaft der Ebene verfolgt wird als "Nummer anhängen". Sie können dann, Natürlich, Zugriff auf diese Daten mit einem Ausdruck. In dieser Demo, Ich machte der Leiter der Mann auf dem Gleitschirm durch die "rohe" Track-Option. Dann habe ich für diesen Ausdruck auf eine Reihe von farbigen Punkte:

tracker

Tracker-Demo

Download Film

L= thisComp.layer("Hang Glider.avi")
masterPos = L.motionTracker("Tracker 1")("Track Point 1").attachPoint
masterPos + wiggle(4,45) - position

Dies führt dazu, dass die Punkte zu "Schwarm" um den Kopf des Jungen auf dem Gleitschirm. So dumm, Aber ich denke, es zeigt, dass das Konzept Möglichkeiten.

Gut, Das Ende unserer Tour durch die neuen Features von After Effects 6.0, erweitern das Universum des Ausdrucks Schriftsteller. Dies ist eine erstaunliche Upgrade noch stärker von den neuen Möglichkeiten für die Verwendung von Ausdrücken.

FORENTUTORIALSMAGAZINSERVICESVIDEOSNEWSBLOGS


© CreativeCOW.net Alle Rechte vorbehalten.

Creative Gemeinschaften der Welt

[nach oben]

Englishالعربية中文FrançaisDeutschעבריתहिन्दीItaliano日本語PortuguêsРусскийEspañol