|
Pagina 3 di 4
In modo del tutto simile al già citato articolo sull’effetto Film Burn abbiamo applicato le seguenti expressions ai relativi parametri in timeline:
FX Transform > Position
shake = effect("FX Shaking Amount")("Slider");
amp = effect("Camera Shake")("Position Amplitude")*shake;
freq = effect("Camera Shake")("Shaking Frequency");
wiggle(freq, amp)
Descriviamo in dettaglio cosa succede inserendo queste quattro semplici linee di codice:
Nella 1° linea viene assegnato alla variabile “shake” il valore dello slider dell’expression control “FX Shaking Amount”. Va notato che il valore della variabile “shake” andrà da 0 a 1 e di nuovo a 0 in presenza di un keyframe.
Nella 2° linea viene moltiplicato questo valore per il valore dell’ampiezza del parametro “Position”, in questo modo si ottiene una variazione da 0 al massimo valore di “Position” e di nuovo a 0. Il tutto viene assegnato alla variabile “amp”.
Nella 3° linea si assegna semplicemente il valore dello slider “Shaking Frequency” alla variabile “freq”
Nella 4° linea si sfruttano i valori “freq” e “amp” con la funzione denominata “wiggle” ovvero una funzione random nella quale il primo valore tra parentesi rappresenta la frequenza della variazione espressa in volte al secondo (Hz) ed il secondo valore l’ampiezza della variazione, in questo caso espressa in pixel, essendo il tutto applicato ad un parametro di posizione.
FX Transform > Scale
shake = effect("FX Shaking Amount")("Slider");
amp = effect("Camera Shake")("Scale Amplitude")*shake;
freq = effect("Camera Shake")("Shaking Frequency");
wiggle(freq, amp)
La stessa descrizione dettagliata si può applicare anche al parametro “Scale” solo che questa volta la variabile “amp” andrà a modificare la percentuale di scala del nostro layer.
FX Transform > Rotation
shake = effect("FX Shaking Amount")("Slider");
amp = effect("Camera Shake")("Rotation Amplitude")*shake;
freq = effect("Camera Shake")("Shaking Frequency");
wiggle(freq, amp)
Idem come sopra con la sola variazione che “amp” modificherà i gradi del parametro “Rotation”.
FX Shaking Amount > Slider
frames = effect("Camera Shake")("Shaking Frames")/2;
shaking_duration = framesToTime(frames, fps = 1.0 / thisComp.frameDuration);
shaking = Math.abs(time - effect("Camera Shake")("Shaking Frames").nearestKey(time).time);
linear(shaking, 0, shaking_duration, 1, 0)
Allo slider dell’effetto “FX Shaking Amount” viene destinato il cuore del codice, quello che in fondo fa funzionare tutto il custom effect Camera Shake. Vediamo in dettaglio come funziona:
La 1° linea assegna alla variabile “frames” il numero di fotogrammi impostato nel parametro “Shaking Frames” e lo divide per 2, questo perché l’ultima linea applica tale numero di fotogrammi sia prima che dopo il punto di keyframe, se il numero non venisse diviso per 2 si avrebbe uno shaking con durata pari al doppio dei fotogrammi impostati.
La 2° linea assegna alla variabile “shaking_duration” il tempo esatto corrispondente al numero di frames impostato nello “Shaking Frames”, nel caso di un filmato a 25 fps ad ogni frame corrisponde un tempo di 0.04 secondi.
La 3° e 4° linea sono già state descritte nel paragrafo precedente e non necessitano di ulteriori spiegazioni salvo il fatto che in questo caso viene utilizzata un’interpolazione “linear” anziché “easeOut”.
Facciamo notare anche la presenza di alcune righe di codice nei parametri “Tile Center” dell’effetto “FX Replacement” e “Anchor Point” nell’effetto “FX Transform”, ovvero:
x = width/2;
y = height/2;
[x,y]
queste non fanno altro che sistemare il centraggio dei due filtri adattandosi alle dimensioni dei layers che si possono presentare di volta in volta.

Con a disposizione il nostro custom effect in formato FFX che, ricordiamo, si può applicare ad un qualsiasi layer andando da menu > Animation > Apply Animation Preset, siamo adesso in grado di generare il nostro effetto di simulazione del movimento.
Una nota particolare va riservata all’effetto denominato “FX Replacement”, in realtà il “Motion Tile” di After Effects rinominato. Questo effetto è necessario per ricostruire i bordi mancanti del layer quando questo esce dal quadro della composition. La ricostruzione non è sicuramente perfetta, in pratica con i parametri impostati l’effetto non fa altro che specchiare i bordi di un numero di pixel preimpostati e riproporli quando questi risultano mancanti. Nella maggior parte delle scene che si possono presentare tale effetto si rivela efficace, ovviamente con movimenti molto ampi e lenti può invece rivelarsi approssimativo e soprattutto visibile allo spettatore. Quindi per avere un buon risultato visivo la regola è: movimenti veloci e con escursione limitata. In alcuni casi come quello della titolazione o in presenza di immagini con canale alpha può essere conveniente disabilitare tale effetto. Come ultima informazione diciamo che naturalmente possiamo inserire quanti keyframe vogliamo nel parametro “Shaking Frames” e della durata che ci soddisfa, in modo da costruire effetti complessi. Il custom effect è come al solito liberamente scaricabile dalla nostra sezione CC Labz.

(per After Effects 7 e superiori)
Alcune applicazioni
Di seguito vediamo alcuni esempi di applicazione dell’effetto Camera Shake, il limite è sempre e solo la nostra fantasia:
Camera Shake su titolazione
Camera Shake su scena d’azione
Camera Shake come transizione
Le immagini tratte dal film Smokin' Aces (id., 2006) sono state usate esclusivamente a scopo didattico.
|