abbiamo visto nella prima parte come in questo modo l’expression, andrà a campionare i valori del layer immediatamente sovrastante nella composition.
10. ora duplichiamo n volte il layer “frame_01” vedremo come tutti i layers andranno a disporsi lungo uno stesso asse orizzontale a 10 px di distanza l’uno dall’altro.
Possiamo anche modificare la posizione gerarchica dei layers nella timeline e automaticamente questi andranno a disporsi nella posizione stabilita, equidistanti l’uno dall’altro. Ma ancora non abbiamo ottenuto del tutto il risultato che ci eravamo prefissati, infatti se modifichiamo la dimensione dei layers, come da menu Layer > Solid Settings (CTRL+SHIFT+Y), dovremmo ancora modificare di conseguenza tutte le expressions manualmente, possiamo risolvere il problema scrivendo l’expression nel modo seguente:
scrivendo così l’expression indichiamo al programma di sottrarre alla position[1] la lunghezza del layer immediatamente precedente - thisComp.layer(index-1).width - più i 10 px di distanza, dunque modificando la dimensione dei layers l’expression automaticamente si adatterà alle nuove misure. Questa soluzione funziona perfettamente se i layers sono tutti delle stessa misura ma se hanno dimensioni diverse allora dobbiamo scrivere l’expression in questo modo:
Notare come racchiudendo la somma delle lunghezze dei layer fra parentesi tonda - (thisLayer.width+thisComp.layer(index-1).width)/2 - forziamo il programma a calcolare prima la somma e poi dividere per due il risultato, senza parentesi l’expression sommerebbe alla lunghezza del layer su cui è applicata la metà della lunghezza di quello precedente. Ora per completare l’opera facciamo in modo di poter controllare la distanza fra i layers dinamicamente con un Expression Control, in questo caso uno Slider Control:
11. applicare al layer “master” uno Slider Control (menu Effect > Expression Controls > Slider Control)
12. rinominiamo lo Slider Control “space”
13. editare l’expression nel layer “frame_01” selezionando nella finestra di testo dell’expression il valore 10 e con il pickwhip selezionare lo Slider Control “space”, in questo modo avremo sostituito al valore 10 la stringa che segue:
14. animiamo ora lo Slider Control “space” con due keyframes per far si che la distanza dei layer vari da 10px a 50 per poi tornare a 10.
In questo modo abbiamo ottenuto il risultato che ci eravamo prefissati. I layers mantengono la stessa distanza fra di loro e possiamo variarla anche dinamicamente con lo slider, qualunque sia la loro dimensione. Però l’expression che ne risulta è tutt’altro che elegante e chiara. Per renderla più comprensibile e facilmente editabile possiamo scrivere l’expression in questo modo:
Abbiamo scritto la stessa expression in forma multi linea e introdotto un nuovo elemento, le variabili. L’expression sostanzialmente non cambia ma questa forma può essere estremamente più comoda e, nel caso di expressions complesse, scritte in questo modo risultano più chiare e facilmente editabili.