Tutto quello che riguarda l'arte del Cinema, nei suoi diversi aspetti.

 

Gli articoli riguardanti tutte le fasi dello sviluppo di un video: dalla sceneggiatura alla post-produzione.

 

Le anteprime hardware e software recensite per voi dai nostri esperti.

 

Login

Ciao Visitatore.






Password dimenticata?
Nessun account? Registrati

Chi è Online

Abbiamo 76 visitatori online
  

webmaster - comunicazione digitale
Home arrow Tutorials arrow After Effects Expressions | part 2
After Effects Expressions | part 2 Translate in English Stampa E-mail
di VO5850   
lunedì 24 dicembre 2007



Variabili nelle expressions multi linea

La variabile in matematica è l’elemento fondamentale del calcolo letterale. In genere le variabili sono identificate con lettere dell’alfabeto greco o latino e corrispondono a simboli che denotano una quantità in un’espressione. Un’espressione combina numeri, operatori, e/o variabili, il risultato di questa espressione sarà eseguito e determinerà il valore della proprietà.

Nelle expressions multi-linea in AE l’uso delle variabili è estremamente pratico. Una variabile in JavaScript può contenere qualsiasi cosa. Una volta assegnato un valore alla variabile è possibile usare questo valore in altri contesti semplicemente indicandone il nome, questo può tornare molto utile soprattutto quando l’uso del valore della variabile è ricorrente nell’expression, sicuramente è più comodo scrivere una sola lettera o un nome breve e facilmente memorizzabile che una complicata stringa composta da funzioni, proprietà e valori alfanumerici.


Ora rimane un altro elemento che potrebbe condizionare la distanza fra i layer, ovvero il valore della proprietà Scale. Logicamente il variare di questa proprietà influenza la distanza fra i layer. Per far si che la distanza non vari neppure modificando il valore della proprietà Scale è sufficiente applicare un semplice operatore matematico alla nostra expression modificando la variabile d in questo modo:


d=(thisLayer.width/100*transform.scale[0]+thisComp.layer(index-1).width/100*thisComp.layer(“master”).transform.scale[0])/2+s;


esaminando la variabile vediamo come con una semplice funzione matematica si adatti la lunghezza del layer alla scala, semplicemente dividendo per 100 e moltiplicando per il valore della proprietà relativo alla dimension [0].

Questa l’expression così modificata:


s=thisComp.layer(“master”).effect(“space”)(“Slider”);

d=((thisLayer.width/100*transform.scale[0])+(thisComp.layer(index-1).width/100*thisComp.layer(index-1).transform.scale[0]))/2+s;

x=(thisComp.layer(index-1).position[0]-d);

y=thisComp.layer(index-1).position[1];

[x,y]


Ora è possibile aggiungere layers semplicemente duplicandoli, variarne le dimensioni e la scala o eliminarli senza influenzare l’animazione, avremmo sempre una sequenza di layer la cui distanza uno dall’altro è stabilita con uno Slider Control.

 



Chiaramente è possibile applicare lo stesso procedimento per creare streams di layers incolonnati in verticale anziché orizzontale, l’expression risultante sarà analoga a quella che abbiamo appena esaminato, trasponendo gli stessi concetti alla dimension verticale otteniamo la seguente expression. In grassetto le parti modificate:


s=thisComp.layer(“master”).effect(“space”)(“Slider”);

d=((thisLayer.height/100*transform.scale[1])+(thisComp.layer(index-1).height/100*thisComp.layer(index-1).transform.scale[1]))/2+s;

x=(thisComp.layer(index-1).position[0]);

y=thisComp.layer(index-1).position[1]-d;

[x,y]


Il risultato è una composition nella quale i layer seguono il leader ad una distanza da noi stabilita anche se ne modifichiamo a nostro piacimento la dimensione e la scala.