Se pensi che programmare sia noioso e che non abbia nulla a che fare con After Effects, forse non hai mai sentito parlare delle espressioni.
Le espressioni di After Effects sono righe di codice da inserire all’interno delle proprietà che possono avere dei keyframe. Partendo da questa veloce introduzione di cosa sono le espressioni, ci sono moltissime potenzialità che si possono utilizzare e che permettono una infinità di variazioni ai keyframe. In questo articolo ti illustrerò alcune delle espressioni che uso nei miei workflow e che mi aiutano moltissimo nel lavorare con After Effects. In più ti segnalerò alcuni link davvero utili dove potrai imparare a studiarle e poterle utilizzare per conto tuo.
La cosa importante è che per usare efficacemente le espressioni di After Effects è iniziare dalle più semplici e via via incrementare la difficoltà, studiando un po’ il linguaggio di programmazione che sta alle sue spalle, ovverosia Javascript. Ci sono anche soluzioni per evitare di programmare, te ne parlo nella sezione delle risorse utili 😉
L’ABC delle espressioni in After Effects
La prima fondamentale conoscenza che ti serve è come creare le espressioni in After Effects. Qualunque proprietà che è possibile animare nella timeline tramite keyframe supporta le espressioni.

Le icone che compaiono quando crei una espressione
Per essere create fai Alt+click sull’icona a forma di orologio di fianco alla proprietà alla quale vuoi associare una espressione. Noterai che il testo da blu che è normalmente diventerà rosso (parlo della versione CC2015.3). A questo compaiono 4 icone sotto la proprietà.
Come puoi vedere dall’immagine a fianco la prima è un simbolo di uguale, ovverosia attualmente l’espressione è collegata alla proprietà. Se clicchi su di essa disabiliti l’espressione, utile per riguardare alcune impostazioni prima dell’applicazione della espressione. Quando c’è un errore di qualunque tipo nell’espressione che hai scritto al posto del simbolo di uguale compare un triangolo giallo di Attenzione. Cliccandoci sopra ti avverte di quali errori ci sono nella tua espressione e poterli correggere.
La seconda icona è quella di un grafico, se premuta rimane attiva e se visualizzato il Graph Editor (Shift+F3) potrai vedere la proprietà modificata dall’espressione.
La terza icona a forma di spirale è il pickwick, che serve per andare a collegarsi con altre proprietà di altri livelli. E’ utilissima e riprende dallo stesso stile del parenting o gerarchie che ci sta tra i livelli. In questo caso è specifico e unico alle espressioni e ai suoi valori. Una cosa da considerare è che il pickwick è utilizzabile anche quando avendo già una espressione e selezionandone solo una parte, col pickwick puoi andare a prendere un valore di un’altra proprietà e collegarla alla tua espressione precedente. Ad esempio si fa questa procedura quando si vuole associare uno degli assi X, Y o Z della proprietà di posizione da un altro livello che è già animato.
La quarta e ultima icona permette di andare ad aprire un menù di espressioni da selezionare, suddivise per categoria, una sorta di libreria.
Ora vediamo un po’ delle espressioni più comuni che vengono utilizzate in After Effects.
Wiggle

esempio di wiggle
Questa è una delle espressioni più utilizzate e più semplice da utilizzare. Si scrive solitamente:
Wiggle(3,25);
Dove 3 sta per il numero di movimenti per secondo e 25 sta per il numero di pixel che si sposterà il nostro livello sia sull’asse x che l’asse y. Se il nostro livello è in 3D, wiggle agirà anche sulla coordinata Z.
Nel caso in cui vogliamo costringere Wiggle ad agire su una determinata coordinata, il codice invece varia in questo modo per l’asse orizzontale
[wiggle(3,25)[0],position[1]]
e così per l’asse verticale:
[position[0],wiggle(3,25)[1]]
Wiggle è una espressione molto utile quando si tratta di animare oggetti in modo casuale. Unendo questa espressione ad uno Slider Control (o Controllo Cursore) è possibile aumentare gradualmente il valore del movimento in pixel nel tempo.
LoopOut

esempio dell’espressione LoopOut
LoopOut è una espressione che fa una cosa semplicissima ma fondamentale e il nome stesso lo dice: crea un loop. Soprattutto usato nelle GIF animate, è essenziale per creare un loop senza difficoltà. Ma come crea questo loop? La sintassi per questa espressione è la seguente:
loopOut(type = “cycle”, numKeyframes = 0)
Questa espressione contiene da variabili: la prima è il tipo, la seconda è su quale segmento di keyframe si vuole fare il loop. Mi spiego in dettaglio, visto che è una espressione molto utile!
Ci sono 4 tipi differenti, ma mi soffermerò sui 2 più utilizzati. Per aiutarti a capire, immaginiamo di avere 4 keyframe sulla timeline associati alla proprietà di posizione di un livello. Chiamo i keyframe A, B,C e D.
cycle esegue un loop in questo modo: ABCDABCDABCD ecc
pingpong invece fa come una pallina da ping pong, cioè torna indietro: ABCDCBABCDCBA ecc
Situazioni nelle quali hai dei loop da creare dove devi fare un movimento ridondante e continuo, questa espressione si presta benissimo allo scopo! E vai di Gif Animate! 🙂
Random
L’espressione random fa una cosa molto semplice e molto utile, in quanto restituisce valori casuali che possono poi essere associati alle proprietà dei nostri livelli, nonchè agli effetti. La sintassi è la seguente:
random()
Restituisce numeri che vanno da 0 ad 1, per cui associandolo a moltiplicazioni ed a proprietà di trasformazione, si ottengono movimenti casuali. Per far comprendere meglio ho fatto un piccolo esempio:
Questa piccola animazione è stata fatta usando la seguente espressione applicata alla proprietà di posizione:
value + [random()*50,value[1]];
value sta per il valore attuale della posizione (fondamentale per spostare il livello nella composizione). Il resto dell’espressione è una matrice bidimensionale relativa all’asse X per la parte random()*50 che in pratica dice: crea valori casuali tra 0 e 1 e moltiplica per 50. value[1] è il valore attuale che il livello ha sull’asse Y che rimane invariato quindi.
Countdown con le virgole
Per fare un countdown con le virgole è necessario utilizzare una espressione, usando questo codice di Dan Ebberts:
startCount = 0;
endCount = 100000;
duration = 2;
n = ease(time, 0, duration, startCount, endCount);
s = “” + Math.round(n);
s.replace(/\B(?=(\d{3})+(?!\d))/g, “,”);
Se copi ed incolli questa espressione in un livello di testo alla proprietà Source Text (o Sorgente Testo) partirà da 0 (startCount) e arriverà a 100000 (endCount) nel giro di 2 secondi (duration). Il resto dell’espressione ha una variabile n definita da un metodo di interpolazione (vedi più sotto che ne parlo).
Arrotondare numeri
Per un motivo o per un altro a volte ci è utile arrotondare i numeri (come nell’esempio del countdown sopra). Per poterlo fare abbiamo 3 differenti espressioni:
Math.round(value)
Arrotonda il numero
Math.ceil(value)
Arrotonda il numero per eccesso
Math.floor(value)
Arrotonda il numero per difetto
Molto semplici e anche molto utili.
If / Then

Esempio di If then: al secondo 2 il testo cambia in Gatto
Questa espressione è utilissima per ipotizzare se si verifica una determinata condizione (IF) e se questa avviene allora (THEN) accade un determinato effetto. Ad esempio:
value = “Cane”;
if (time >= 2){
value = “Gatto”
}
In questo esempio da applicare alla proprietà di Sorgente Testo di un livello di testo, associo la parola Cane al livello di testo. Se il tempo nella composizione arriva a 2 secondi, allora cambia il valore in Gatto. Con if/then abbiamo la possibilità di cambiare una proprietà che ci interessa quando viene a soddisfare o meno la condizione che mettiamo all’interno di IF. E quindi possiamo agire su proprietà di trasformazione, effetti che abbiano la possibilità di avere keyframe.
A questa si può aggiungere la parola Else, che significa: nel caso in cui Then non è soddisfatta metti questo altro valore.
Metodi di Interpolazione
I metodi di interpolazione in After Effects sono utilissimi per una quantità incredibile di situazioni. Ma cosa viene inteso con metodo di interpolazione all’interno di After Effects?
l’espressione più semplice dei metodi di interpolazione è: linear (t,tMin, tMax, value1, value2)
Cosa significa? alla variabile t viene associato un valore di una proprietà. tMin e tMax rappresentano i valori minimi e massimi che quella proprietà possederà. value1 e value2 invece sono i valori ai quali tMin e tMax verranno interpolati.
Un esempio di metodo di Interpolazione
Facciamo il seguente esempio per comprendere meglio: vogliamo far apparire e scomparire un livello a tempo della musica utilizzata.
In After Effects importo l’audio che mi serve. Lo inserisco in una composizione di una dimensione qualsiasi. A questo punto selezioniamo il livello audio e andiamo nel menù Animazione e quindi dal menù a tendina in Keyframe Assistant o Assistente Fotogrammi chiave e da lì Convert Audio to Keyframes o in italiano Converti Audio in Fotogrammi Chiave. Questo ci creerà un nuovo livello Null al cui interno verranno inseriti 3 Slider Control (o controllo cursore) con 3 valori estratti dall’audio: canale destro, canale sinistro ed entrambi i canali. Per semplificare tolgo il canale destro e sinistro. Selezionando dalla timeline il cursore di indicazione della timeline e guardando i valori che ho posso notare, a seconda dell’audio che ho importato, valori differenti. In quello che ho importato poniamo che i valori spazino da 0 a 20.
Ammettiamo che noi vogliamo usare l’audio utilizzato per aumentare e diminuire la trasparenza di un altro livello nel tempo. Come andremo ad agire?
Usando un metodo di interpolazione. Ovvero creo una espressione sul livello cursore (alt+click) ed inserisco la seguente espressione:
linear(value,0,20,0,100);
In questo modo ho “spalmato” i valori che andavano da 0 a 20 dell’audio selezionato a 0 fino a 100. In questo modo posso quindi facilmente connettere la trasparenza di un livello con questa espressione usando il “lazo” o pickwick di cui te ne ho parlato ad inizio articolo.
Questo metodo di spalmare i dati da un range ad un altro è una interpolazione e può avvenire in molti altri modi in After Effects.
Risorse utili per imparare le espressioni in After Effects
Nel corso degli anni ho avuto modo di conoscere più da vicino l’utilizzo delle espressioni soprattutto grazie ad altri utenti esperti che la rete ci riesce a fornire:
- Motionscript, ovvero la bibbia di Dan Ebberts sulle espressioni, direi fondamentale farci un giro approfondito;
- Help di Adobe: è il sito ufficiale dell’Adobe che spiega le espressioni in italiano;
- Graymachine: altro sito di un grandissimo che conosco dal 2007, ha molte espressioni utili da utilizzare e da installare come preset;
- Ae Enhancers: questo è un forum di discussione di utenti che si scambiano e confrontano in particolare sulle espressioni;
- Aescripts.com: questo sito che sicuramente conoscerai, ha un sacco di strumenti e script utili che permettono una gestione migliore delle espressioni. Iexpression ad esempio è uno script che integra in una interfaccia intuitiva la possibilità di utilizzare le espressioni senza conoscere il linguaggio di programmazione. Chiaramente non fa tutto, ma fornisce un valido spunto.
Spero che l’articolo ti sia piaciuto e che hai potuto iniziare a familiarizzare con le espressioni di After Effects o almeno a capire che sono una delle funzionalità più potenti del software per poter creare con più facilità effetti casuali, di ritardo, rimbalzi, interpolazioni applicati a tutte le proprietà di trasformazione e ai tanti effetti che sono presenti.
Grazie per avermi letto fin qui in fondo, sono quasi 1800 parole! Complimenti 😉
Ti chiedo un piccolo sforzo, valuta l’articolo qui sotto e condividilo ai tuoi amici, mi farebbe molto piacere far conoscere il mio blog sempre di più e fornire un punto di incontro e di dialogo sia a chi vuole conoscere After Effects e sia a chi già lo utilizza.
Ciao e al prossimo articolo, tutorial o template 🙂