Intro
Con After Effects 6.0, Adobe ha introdotto alcune nuove funzionalità meraviglioso al mondo delle espressioni. La maggior parte di questo è il risultato di spettacolari nuove funzioni che sono stati aggiunti al After Effects che non erano necessariamente volti a manifestare, ma aumentare la potenza disponibile per l'espressione scrittore. Vi sono state anche alcune modifiche e miglioramenti per l'espressione stessa lingua.
Nuova sintassi
Prima diamo un'occhiata ad alcune delle modifiche apportate al espressioni attuazione. Multi-parola oggetti, Metodi e proprietà sono espressi in ora "intercaps" formato, invece di utilizzare un separatore di sottolineatura. Per esempio si potrebbe scrivere "thiscomp" invece di "this_comp", O "seedrandom" invece di "seed_random". La vecchia sintassi ancora lavorare in AE 6.0, ma si consiglia di passare al nuovo stile.
Dimenare valorizzazione
Dimenare () è ora colpiti da seedrandom (), Quindi se non siete felici con i valori che si sta ottenendo da dimenare () si può precedere con una chiamata a seedrandom () e si ottengono risultati diversi per ogni seme. Per esempio con l'uso di un seme di 13,
seedRandom(13);
wiggle(3,35)
Vi darà risultati diversi rispetto alla stessa dimenare () espressione senza seedrandom ():
wiggle(5,35)
Comunque, Dimenare () ignora il "tempo" parametro di seedrandom, Il che significa che se avete fatto qualcosa di simile:
seedRandom(13,true);
wiggle(7,15)
Avrebbe continuato a dimenare su ogni fotogramma. Comunque, Se si desidera dimenare () di tenere un valore per un certo numero di fotogrammi, è possibile utilizzare il nuovo posterizetime () funzione.
Posterizetime
AE 6.0 comprende un nuovo posterizetime () funzione che si può usare per bloccare la vostra animazione periodicamente a un tasso che è possibile specificare. Per esempio, Questa variante della nostra dimenare espressione ci darà una nuova posizione casuale 5 volte al secondo:
posterizeTime(5);
wiggle(5,35)
Convertire l'audio in fotogrammi chiave
Ok - Let's get in cose veramente divertente. AE 6.0 ha un nuovo assistente keyframe - convertire l'audio in fotogrammi chiave. Assistente questo crea un nuovo livello chiamato audio ampiezza con tre cursori per la sinistra, Destra, E combinato dei canali audio. I cursori sono fotogrammi chiave che rappresentano i livelli audio comp. Così, Ora è possibile ottenere il comp di informazioni audio attraverso espressioni. Questo quasi (ma non completamente) elimina la necessità di utilizzare sempre Motion matematica.
Nella figura sopra, Abbiamo importato due file audio. "hex hi.Wav "è stata fortemente panoramica per il canale sinistro e" hexfloor.Wav "è stato panoramica a destra. Poi il keyframe assistente "convertire l'audio in fotogrammi chiave" è stato eseguito, Che automaticamente creato un nuovo strato null "audio ampiezza" con controlli di scorrimento per la "sinistra", "destra" e "due" canali. Il parametro di scala del "giallo medio solido" è stato collegato al canale di scorrimento a sinistra con questa espressione:
Scarica filmato (con audio)
s = thisComp.layer("Audio Amplitude").effect("Left Channel")("Slider");
scale + [s,s]
Analogamente, Il parametro di scala della "ciano medio solido" è stato collegato al canale destro di scorrimento. (nota - ho lasciato l'uscita audio del filmato demo poco perché viene rapidamente davvero fastidiosi, come la visione del film loop. Se si desidera ascoltare, Fare clic sul link di download di cui sopra). Il risultato, Come si può vedere, è che i due solidi ogni scala fino in sincronia con il canale audio, che sono legate alla.
Testo!
I nuovi strumenti di tipo integrato After Effects 6.0 sono semplicemente incredibile. Il built-in degli animatori e la gamma di selettori, fornire la capacità di creare rapidamente animazioni incredibilmente potente testo. Una copertura adeguata di questo argomento potrebbe riempire un intero tutorial (o forse di un libro) e io a lasciare che qualcun altro. Vorrei solo dire che questa aggiunta di uno After Effects è un motivo sufficiente per ottenere l'aggiornamento. C'è anche un aspetto di questa emozionante di espressione degli scrittori. Non solo puoi essere tu a controllare il testo di selettori e animatori con espressioni, Ma anche (finalmente!), È possibile controllare il testo di origine con l'espressione. Questo scatena tutta la potenza e la furia della stringa javascript trasformazione di manipolare il contenuto del testo di animazione. Si comincerà con un semplice esempio e di accennare ad alcune cose molto potente prima di gioco è fatto.
Primo, Abbiamo bisogno di parlare di come creare un layer di testo. è molto semplice - basta selezionare il testo strumento, Fare clic nella finestra di comp, E qualcosa del tipo. After Effects creerà un nuovo livello e il testo che hai inserito diventa anche il nome del layer. Se si apre il twirly del nuovo strato di testo nella timeline e poi aprire il "testo" twirly vedrete il "testo di" proprietà. Alt / opt clicca sul cronometro per creare un'espressione per questa struttura. Il risultato della vostra espressione sarà il testo che viene visualizzato. Avrà gli attributi (font, Dimensione, Etc.) Del primo carattere di ciò che avete digitato per creare lo strato. è importante ricordare che javascript cercherà di trattare il risultato della vostra espressione come una stringa. Se il risultato è un numero, Javascript verrà convertito in una stringa. Questo significa che la vostra espressione potrebbe essere semplicemente qualcosa come questo:
Espressione: Posizione [0]
Scarica film
position[0]
E javascript di convertire la x-il livello di coordinare la posizione di una stringa e visualizzarli. Nel filmato demo, I keyframed la posizione del testo strato di passare attraverso lo schermo. Come ci si aspetterebbe, Il testo cambia come si sposta il livello.
Adesso, Abbiamo bisogno di parlare un po 'su come javascript gestisce stringhe. In javascript, Stringhe sono rappresentate come una sequenza di caratteri racchiusi tra virgolette singole o doppie. Per esempio, " After Effects "E ' After Effects 'Cosìno entrambi validi stringhe. Javascript tratta stringhe come array, Con ogni carattere occupa una posizione in array. Ricordando che l'indicizzazione in array javascript comincia a zero, Il risultato di questa espressione:
s = "After Effects";
s[4]
Sarebbe la stringa "r".
In javascript, Si può usare l'operatore "+" per concatenare stringhe. Per esempio,
"abcd" + "efgh"
Risultati in "ABCDEFGH"
Javascript fornisce molte utili stringa di proprietà e metodi. Vedremo alcuni di essi. Per esempio, Il risultato di
s = 'After Effects';
s.length
Sarebbero 13 (la lunghezza della stringa), E il risultato di
s = 'After Effects';
s.toUpperCase
Dovrebbe essere " After Effects ".
Vi è un built-in javascript stringa oggetto chiamato, Abbastanza interessante, "stringa". Questo oggetto è utile per alcuni dei metodi di stringa. Per esempio, Per creare una stringa di caratteri da codici che si potrebbe fare qualcosa di simile:
String.fromCharCode(48) + String.fromCharCode(49) + String.fromCharCode(50)
Che crea la stringa "abc" per convertire i codici carattere di "a", "b", E "c" (48,49, E 50) alla stringa appropriata caratteri.
Un'altra cosa utile è sapere che, se si utilizza la sequenza "r" in una stringa, Sarà interpretato come un ritorno a capo. Così, Se si ha una stringa come
"abcdrefgh"
Sarebbe display come:
Abcd
Efgh
Ok - ora sappiamo abbastanza per essere veramente pericoloso. Supponiamo che abbiamo voluto creare una griglia di 8x4 casuale caratteri esadecimale (hex viene utilizzato per rappresentare 16 numeri di base e consiste di numeri da 0 a 9 e le lettere dalla A alla F). Diamo un'occhiata a un espressione che lo farà:
Casuale hex griglia
Scarica film
numRows = 4;
numChars = 8;
holdFrames = 5;
seed = Math.floor(time/(holdFrames*thisComp.frameDuration));
seedRandom(seed,true);
s = "";
j = 0;
while(j < numRows){
k = 0;
while (k < numChars){
c = Math.floor(random(48,64));
if (c > 57) c += 7;
s += String.fromCharCode(c);
k += 1;
}
s += "r";
j += 1;
}
s
Let's talk su questo un po 'di espressione. Le prime tre righe solo definire le dimensioni della rete e il tempo di tenere ogni serie di numeri casuali. I prossimi due linee impostate semplicemente il seme casuale di un nuovo numero per ogni gruppo di 5 fotogrammi. Allora la nostra variabile stringa ( "s") è impostato su una stringa null. Uno stringa nulla è solo una stringa di lunghezza zero, con caratteri in esso non è (ancora). Il resto della manifestazione è a soli due cicli annidati che effettivamente costruire la matrice casuale nella nostra variabile stringa. L'anello esterno (quello indicizzato da "j" solo sequenze attraverso le righe della griglia, L'aggiunta di un ritorno a capo ( "r") alla fine di ogni riga. L'anello interno (quello indicizzato da "k") passa attraverso la riga corrente carattere per carattere e genera un numero casuale che potrà essere tra 48 e 57 ( "0" a "9") o tra 65 e 70 ( "un " Attraverso la "f") e lo converte il conseguente carattere codice a un carattere e concatena con la nostra uscita variabile stringa "s". Lascio come un esercizio per capire i dettagli che ho lasciato in questo breve descrizione.
Tempo per dividere
Diamo un'occhiata a un testo più cosa prima di passare a qualcosa di diverso. Split () è un altro metodo di stringa javascript che aggiunge un sacco di potenza per manifestare il nostro testo. Il modo in cui funziona è quello di dividere una lunga stringa in un array di stringhe più piccoli. Che divide la stringa ovunque si incontra un carattere delimitatore di specificare che si. Prendere in considerazione questa espressione:
s = "honesty,integrity,loyalty,compassion,empathy";
s.split(",")[2]
Questa espressione si divide la stringa "s" ovunque si trova una virgola. Ciascuna delle parole tra le virgolette è quindi accessibile tramite un indice di array. In questo esempio, Indice zero ci darebbe "onestà" e (come nel nostro espressione) indice 2 darebbe noi "fedeltà". Questo ci dà una incredibilmente potente metodo per cambiare la nostra fonte di testo al volo con una espressione. Ecco un'altra versione di espressione per il testo di origine, che detengono ciascuna delle parole per un secondo:
Demo di split () metodo
Scarica film
holdTime = 1.0;
s = "honesty,integrity,loyalty,compassion,empathy";
j = Math.floor(time/holdTime);
s.split(",")[j]
Notare che questa espressione genererà un errore dopo "empatia" quando si esaurisce di parole. Normalmente vorrei mettere in codice per verificare che, Ma ho voluto mantenere il disordine, per scopi di dimostrazione.
Per completezza, I'll includere gli altri due espressioni che ho usato per generare il filmato demo. Ecco una scala per:
hold = .5;
expand = .5;
t =time%(hold + expand);
if(t < hold){
[100,100]
}else{
linear(t,hold,hold + expand,[100,100],[700,700])
}
E qui l'uno per l'opacità:
fade = .25;
hold = .5;
t = time%(fade + hold + fade);
if(t < fade){
linear(t,0,fade,0,100)
}else if (t < (fade + hold)){
100
}else{
linear(t,fade+hold,fade+hold+fade,100,0)
}
Let's vernice!
Vernice demo
Scarica film
Un'altra splendida novità introdotte nel After Effects 6.0 è il motore integrato di vernice. Come il nuovo motore di testo, Questa è una caratteristica che merita proprio tutorial. Io qui solo accennare ad alcune cose che puoi fare con espressioni che rendono la vernice strumenti ancora più interessante. Per questo esempio, Ho selezionato il pennello e ha uno strumento deformata ictus. Ho poi applicato questa espressione ai tempi della fine parametro:
freq = .5;
50*(1-Math.cos(freq*time*Math.PI*2))
Poi ho applicato questa espressione ai tempi del colore parametro:
if (index <=4){
linear(index,1,4,[0,1,1,1],[1,0,1,1])
}else if (index <= 8){
linear(index,5,8,[1,0,1,1],[1,1,0,1])
}else{
linear(index,9,12,[1,1,0,1],[0,1,1,1])
}
Finalmente, Ho applicato questa espressione ai tempi di rotazione di proprietà:
(index-1)*30
Poi ho duplicato la corsa 11 volte. Il risultato di tutto questo è l'aspetto pinwheel cosa vedete qui. Se si scarica il filmato, Vedrai che cresce dal centro verso l'esterno e poi si allontana di nuovo al centro ogni due secondi. Nota che la posizione e il colore duplicati stessi attraverso le espressioni in modo che è tutto automatico, una volta istituiti i termini per la loro funzione originaria e la corsa dei duplicati. Questo è un esempio molto semplice, Ma le possibilità sono infinite procedurali per dipingere le animazioni di questo tipo.
Liquify!
Un'altra delle aggiunte a very cool After Effects 6.0 è l'effetto liquify / serie di strumenti. Liquify ha un paio di parametri che sono interessanti ad applicare espressioni di. Per questo esempio, I distorto l'immagine con il liquify strumenti e quindi applicata la seguente espressione per la "distorsione percentuale" parametro.
Liquify demo
Scarica film
freq = 2;
(1-Math.cos(freq*time*Math.PI*2))*50
Il risultato è una oscillazione tra lo 0% di effetto applicato l'effetto pienamente applicati. Penso che con un po 'di attenzione nel creare le distorsioni che si potrebbe usare l'espressione con la "fine" parametro di creare una piacevole "agitando al vento" effetto.
Utilizzando dati tracker
Finalmente, Un sacco di lavoro è andato a migliorare il tracker in AE 6.0. Una delle nuove caratteristiche che è di particolare interesse per gli scrittori è espressione l'opzione per la produzione di greggio di monitoraggio dei dati, Il che significa che il monitoraggio dei dati non viene applicato a un altro strato, è applicato a una proprietà dello strato monitorata chiamato "allegare il punto". Si può quindi, Certamente, L'accesso di questi dati con una espressione. In questa demo, Ho monitorato la testa del ragazzo sul deltaplano utilizzando il "crudo" tipo di traccia opzione. Poi ho applicato questa espressione di un gruppo di punti colorati:
Tracker demo
Scarica film
L= thisComp.layer("Hang Glider.avi")
masterPos = L.motionTracker("Tracker 1")("Track Point 1").attachPoint
masterPos + wiggle(4,45) - position
Questo provoca i punti di "sciame" intorno alla testa del ragazzo sul deltaplano. Esempio stupido, Ma penso che dimostra che il concetto ha possibilità.
Bene, Che il fine del nostro viaggio attraverso le nuove caratteristiche di After Effects 6.0 che espandere l'universo di espressione scrittore. Questo è un fantastico aggiornamento reso ancora più potente con le nuove possibilità per l'utilizzo di espressioni.
|