- Risorse online con esempi di espressioni
- Esempio di espressione: fare ruotare un livello in un cerchio
- Esempio di espressione: ruotare le lancette di un orologio
- Esempio di espressione: posizionare un livello tra altri due livelli
- Esempio di espressione: creare una traccia di immagini
- Esempio di espressione: creare un rigonfiamento tra due livelli
- Esempio di espressione: dissolvere l’opacità di un livello 3D in base alla distanza dalla videocamera
- Esempio di espressione: rendere invisibile un livello 3D se rivolto in direzione contraria alla videocamera
- Esempio di espressione: capovolgere un livello in orizzontale se rivolto in direzione contraria alla videocamera
- Esempio di espressione: animare la scala su ogni marcatore livello
- Esempio di espressione: iniziare o interrompere la deformazione in un tempo specifico
- Esempio di espressione: effettuare la corrispondenza del piano focale della videocamera con un altro livello
Molti degli esempi forniti in questa sezione sono basati sulle espressioni fornite da Dan Ebberts.
Risorse online con esempi di espressioni
Nel sito Web MotionScript sono disponibili vari esempi di espressioni ed esercitazioni realizzati da Dan Ebberts, utili per imparare a lavorare con le espressioni. Ad esempio, Dan mette a disposizione un’ottima pagina sul rilevamento della collisione.
Trish e Chris Meyer offrono una serie di articoli sulle espressioni nel sito Web ProVideo Coalition , contenenti alcuni utili esempi.
Nel sito Web di Colin Braley potete trovare un’esercitazione e un progetto che mostrano come utilizzare le espressioni per fare in modo che un livello respinga gli altri in un modo che sembri naturale.
Il forum AE Enhancers fornisce numerosi esempi e informazioni utili sulle espressioni, come pure sugli script e sui predefiniti per animazione. In questo messaggio nel forum AE Enhancers, Paul Tuersley offre un’esercitazione e un progetto di esempio che mostrano come utilizzare le espressioni per animare vari livelli in uno sciame.
Nel suo sito Web, Rick Gerard illustra come far rotolare un oggetto quadrato lungo un pavimento in modo che i lati restino a contatto con il piano del pavimento.
Carl Larsen mette a disposizione un’esercitazione video nel sito Web Creative COW che dimostra come utilizzare le espressioni e il concetto di “relazione superiore-inferiore” per mettere in relazione la rotazione di una serie di ruote con il movimento orizzontale di un veicolo.
Marcus Geduld mette a disposizione alcuni esempi del suo libro, After Effects Expressions, nel sito Web Focal Press. Nella sezione “String Manipulation” (Manipolazione delle stringhe), Marcus mostra come utilizzare il codice JavaScript di base per manipolare il testo nella proprietà Testo sorgente di un livello. Mostra addirittura come utilizzare una serie di stringhe in modo tale che la proprietà Testo sorgente di un livello possa essere impostata su una parola specifica da un elenco. Nella sezione “Physical Simulations” (Simulazioni fisiche), Marcus mostra come utilizzare le espressioni per il rilevamento di orbite, rimbalzi, saltelli e collisioni.
Chris Zwar mette a disposizione un progetto di esempio nel suo sito Web per disporre automaticamente le immagini fisse o i video in una griglia (come una parete per video). Potete facilmente regolare la posizione e la distanza mediante gli appositi cursori collegati a un sistema di espressioni. Nel progetto sono presenti tre composizioni: una per le immagini fisse, una per i video e una per creare uno storyboard automatico in cui un video viene campionato a intervalli definiti dall’utente e allineato a una griglia.
Nel sito Web di JJ Gifford potete trovare vari progetti di esempio che dimostrano come utilizzare le espressioni.
Rhys Enniks mette a disposizione un’esercitazione video nel suo sito Web in cui utilizza le espressioni e vari animatori testo e selettori intervallo per animare il testo, come se esso venisse digitato sullo schermo di un computer.
Nel sito Web di Maltaannon (Jerzy Drozda, Jr.) è disponibile un’esercitazione video che mostra come usare le espressioni per creare un misuratore del volume in base ai risultati del comando Converti audio in fotogrammi chiave.
Nel sito Web graymachine di Harry Frank è disponibile un’esercitazione che mostra come usare le espressioni per leggere i dati provenienti da un file di testo esterno.
Esempio di espressione: fare ruotare un livello in un cerchio
Potete creare un’espressione senza usare le proprietà di altri livelli. Ad esempio potete fare ruotare un livello in un cerchio perfetto.
Esempio di espressione: ruotare le lancette di un orologio
Potete utilizzare il selettore per collegare i valori di rotazione tra livelli per animare le lancette di un orologio: man mano che la lancetta dell’ora si sposta di ora in ora, la lancetta dei minuti ruota lungo l’intera circonferenza dell’orologio. Questo tipo di animazione può richiedere tempi lunghi di creazione dovendo impostare ogni fotogramma chiave per entrambi i livelli delle lancette, ma con il selettore sono necessari pochi minuti.
Guy Chen mette a disposizione un progetto semplice in After Effects Exchange nel sito Web Adobe, che approfondisce questo concetto, collegando la rotazione della lancetta dei minuti e delle ore di un orologio alla rotazione della lancetta dei secondi.
Harry Frank mette a disposizione il progetto di un orologio nel suo sito Web graymachine, in cui i movimenti delle mani sono collegati a un effetto Controlli espressione (Controllo angolo) su un livello Nullo che controlla il tempo. Consultate controlli espressione, effetti.
Esempio di espressione: posizionare un livello tra altri due livelli
Questo esempio di espressione posiziona e mantiene un livello a una distanza proporzionata tra altri due livelli.
Esempio di espressione: creare una traccia di immagini
Questo esempio di espressione ordina a un livello di essere nella stessa posizione del livello immediatamente superiore nel pannello Timeline, ma con un ritardo pari all’intervallo di tempo indicato (in questo caso: 0,5 secondi). Potete impostare espressioni simili per le altre proprietà geometriche.
Tutti i livelli seguono lo stesso tracciato, con un ritardo di 0,5 secondi l’uno dall’altro.
Nel sito Web MotionScript di Dan Ebberts sono disponibili ulteriori esempi e tecniche per la creazione di tracce di immagini.
Esempio di espressione: creare un rigonfiamento tra due livelli
Questo esempio di espressione sincronizza l’argomento Centro Rigonfiamento dell’effetto Rigonfiamento in un livello con la posizione di un altro livello. Ad esempio, potete creare un effetto simile a una lente di ingrandimento spostandovi sopra un livello, con il contenuto sotto la lente di ingrandimento che si gonfia non appena la lente (vale a dire il livello soprastante) si sposta. Questa espressione utilizza il metodo fromWorld, che fa funzionare correttamente l’espressione indipendentemente dal fatto che spostiate il livello lente di ingrandimento o il livello sottostante. Potete ruotare o ridimensionare il livello sottostante, ma l’espressione rimane intatta.
Con questa espressione potete utilizzare anche altri effetti, ad esempio Increspatura.
Esempio di espressione: dissolvere l’opacità di un livello 3D in base alla distanza dalla videocamera
Applicate la seguente espressione alla proprietà Opacità di un livello 3D: startFade = 500; // Start fade 500 pixels from camera.
endFade = 1500; // End fade 1500 pixels from camera.
try{ // Check whether there's a camera.
C = thisComp.activeCamera.toWorld([0,0,0]);
}catch(err){ // No camera, so assume 50mm.
w = thisComp.width * thisComp.pixelAspect;
z = (w/2)/Math.tan(degreesToRadians(19.799));
C = [0,0,-z];
}
P = toWorld(anchorPoint);
d = length(C,P);
linear(d,startFade,endFade,100,0)la dissolvenza inizia a una distanza di 500 pixel dalla videocamera ed è completa a 1500 pixel dalla videocamera. Il metodo di interpolazione lineare è usato per mappare i valori della distanza sui valori dell’opacità.
Esempio di espressione: rendere invisibile un livello 3D se rivolto in direzione contraria alla videocamera
Applicate la seguente espressione alla proprietà Opacità di un livello 3D: if (toCompVec([0, 0, 1])[2] > 0 ) value else 0
Dan Ebberts spiega questa espressione nel suo sito Web Motionscript.
Esempio di espressione: capovolgere un livello in orizzontale se rivolto in direzione contraria alla videocamera
Applicate la seguente espressione alla proprietà Scala di un livello 3D: if (toCompVec([0, 0, 1])[2] > 0 ) value else [-value[0], value[1], value[2]]
Esempio di espressione: animare la scala su ogni marcatore livello
Applicate la seguente espressione a una proprietà Scala per far sì che un livello si deformi su ogni marcatore: n = 0;
t = 0;
if (marker.numKeys > 0){
n = marker.nearestKey(time).index;
if (marker.key(n).time > time) n--;
}
if (n > 0) t = time - marker.key(n).time;
amp = 15;
freq = 5;
decay = 3.0;
angle = freq * 2 * Math.PI * t;
scaleFact = (100 + amp * Math.sin(angle) / Math.exp(decay * t)) / 100;
[value[0] * scaleFact, value[1] / scaleFact];Esempio di espressione: iniziare o interrompere la deformazione in un tempo specifico
Potete usare qualsiasi espressione al posto dell’espressione wiggle usata qui, per iniziare e terminare l’influenza di qualsiasi espressione in un tempo specifico.
Esempio di espressione: effettuare la corrispondenza del piano focale della videocamera con un altro livello
Applicate la seguente espressione alla proprietà Distanza focale di un livello della videocamera per far sì che la sua distanza focale corrisponda a quella fino al punto di ancoraggio di un livello chiamato “destinazione”: target = thisComp.layer("target");
V1 = target.toWorld(target.anchorPoint) - toWorld([0,0,0]);
V2 = toWorldVec([0,0,1]);
dot(V1,V2);Nel suo sito Web Motionscript, Dan Ebberts spiega nel dettaglio questo esempio di espressione.
a sinistra del nome della proprietà.