Sappiamo che gli oggetti null aiutano a controllare le impostazioni e le animazioni di altre proprietà.

Ma se volessimo gestirne la temporizzazione? In pratica se volessimo fare in modo di decidere tramite un controller “quando” animare le singole proprietà e senza inserire alcun tipo di keyframe all’interno del controller?

Prendiamo il logo After Effects Café con una breve e semplice intro animata. Abbiamo semplicemente animato un effetto di sfocatura e l’opacità.

Cerchiamo di ottimizzare il tutto creando un controller (oggetto null) per gestire la sfocatura e l’opacità di tutti i livelli, creando quindi un’unica animazione. Chiaramente cancelleremo tutti i keyframes sui singoli livelli. Ora dobbiamo legare le singole proprietà con le medesime presenti sul controller. Ma prima inseriamo un nuovo effetto nel controller che ci servirà per gestire la temporizzazione.

Applichiamo uno slider (effetto controllo cursore): lo possiamo trovare all’interno di effetti/controllo espressione.

Rinominiamo il controllo cursore in Timer.

Inseriamo ora le espressioni alle due proprietà (opacità e sfocatura) in tutti i livelli.

Partiamo dall’opacità per il livello che corrisponde al bicchiere presente nel nostro logo. Clicchiamo alt/opt + click sul cronometro (stop watch) nella proprietà opacità. Si aprirà la modalità di inserimento espressione. Definiamo per prima cosa una variabile che chiameremo t e che identifica il timer.

Scriviamo t =  e trasciniamo il pick whip (chiocciolina) sul cursore (slider) del timer del controller.

Questa variabile t assumerà il valore che sarà impostato sul cursore (slider).

Ora dobbiamo fissare un’altra variabile che chiameremo r che rappresenterà il ritardo con cui l’opacità inizierà l’animazione.

Clicchiamo enter sull’espressione e scriviamo:

r = t*index; 

in pratica per determinare il ritardo moltiplichiamo il valore del timer con l’indice, ossia la posizione del livello sullo stack della timeline. Nel caso del livello bicchiere l’indice corrisponde al numero 2.

Abbiamo definito la posizione dello slider (t) e il ritardo (r). Ora dovremo modificare il timing della proprietà. Creiamo una nuova variabile h definita dal tempo attuale (time) meno il ritardo.

h = time – r;

Finalmente ora possiamo fissare il valore dell’opacità stando attenti ad inserire la nuova temporizzazione.

Quindi fissiamo la variabile o e la poniamo uguale all’opacità del controller.

Alla fine della riga diamo la temporizzazione al tempo h inserendo il suffisso:

.valueAtTime(h);

Copiamo il parametro opacità del livello con l’espressione e la incolliamo in tutti gli altri livelli che compongono il logo.

Procediamo alla stessa maniera anche con l’effetto di sfocatura. Alla fine otterremo un’espressione simile a questa:

t = thisComp.layer(“Controller”).effect(“Timer”)(“Slider”);

r = t*index; 

h = time – r;

bl = thisComp.layer(“Controller”).effect(“Gaussian Blur”)(“Blurriness”).valueAtTime(h);

A questo punto con il solo controller possiamo gestire lo sfasamento (temporizzazione) dell’animazione dell’opacità e della sfocatura dei singoli livelli che compongono il logo.

Con il valore del cursore (slider) pari a 0 tutti i livelli si animeranno a partire dal primo keyframes su opacità e sfocatura.

Se aumentiamo il valore del cursore si otterrà un aumento proporzionale dello sfasamento di animazione tra i livelli seguendo l’ordine di posizionamento in timeline.

Se volessimo gestire in maniera più precisa lo sfasamento dovremmo modificare la riga che definisce il ritardo (r = t*index;) utilizzando fattori moltiplicativi oppure degli offset (+,-) che ci permetteranno di regolare la quantità e il posizionamento del ritardo.

%d blogger hanno fatto clic su Mi Piace per questo: