Dimensione
- Guida utente di After Effects
- Versioni beta
- Guida introduttiva
- Spazi di lavoro
- Progetti e composizioni
- Importazione del metraggio
- Preparazione e importazione di immagini fisse
- Importazione da After Effects e Adobe Premiere Pro
- Importazione e interpretazione di video e audio
- Preparazione e importazione di file di immagine 3D
- Importazione e interpretazione degli elementi di metraggio
- Operazioni con gli elementi di metraggio
- Rilevare i punti di modifica utilizzando Rilevamento modifiche scena
- Metadati XMP
- Testo e grafica
- Testo
- Grafica animata
- Utilizzare modelli di grafica animata in After Effects
- Utilizzare le espressioni per creare elenchi a discesa nei modelli di grafica animata
- Utilizzare Proprietà essenziali per creare modelli di grafica animata
- Sostituire immagini e video in modelli di grafica animata e in Proprietà essenziali
- Anima più velocemente e più facilmente utilizzando il pannello Proprietà
- Disegni, colori e tracciati
- Panoramica su livelli forma, tracciati e grafica vettoriale
- Strumenti di disegno: Pennello, Timbro clona e Gomma
- Assottigliare i tratti forma
- Attributi forma, operazioni di disegno e operazioni con i tracciati per i livelli forma
- Usare l’effetto forma Sposta tracciati per modificare le forme
- Creazione delle forme
- Creare maschere
- Rimuovere oggetti dai video con Riempimento in base al contenuto
- Pennello a rotoscopio e Migliora mascherino
- Livelli, marcatori e fotocamera
- Animazione, fotogrammi chiave, tracciamento del movimento e tipo di trasparenza
- Animazione
- Fotogramma chiave
- Tracciamento del movimento
- Trasparenza
- Trasparenza e composizione
- Regolazione del colore
- Effetti e predefiniti di animazione
- Panoramica sugli effetti e sui predefiniti di animazione
- Elenco di effetti
- Gestione effetti
- Effetti di simulazione
- Effetti di stilizzazione
- Effetti audio
- Effetti di distorsione
- Effetti di prospettiva
- Effetti canale
- Effetti di generazione
- Effetti tempo
- Effetti di transizione
- Effetto di riparazione scansione lineare
- Effetti sfocatura e nitidezza
- Effetti canale 3D
- Effetti di utilità
- Effetti mascherino
- Effetti di disturbo e granulosità
- Effetto Mantieni dettagli (ingrandimento)
- Effetti obsoleto
- Espressioni e automazione
- Espressioni
- Concetti di base sull’espressione
- Informazioni sul linguaggio dell’espressione
- Utilizzo dei controlli di espressione
- Differenze di sintassi tra i motori di espressione JavaScript e Legacy ExtendScript
- Modifica di espressioni
- Errori nelle espressioni
- Utilizzo dell’editor espressioni
- Utilizzo delle espressioni per modificare e accedere alle proprietà di testo
- Riferimenti del linguaggio delle espressioni
- Esempi di espressione
- Automazione
- Espressioni
- Video immersivo, VR e 3D
- Creare ambienti VR in After Effects
- Applicare effetti video immersivi
- Strumenti di composizione per i video VR/360
- Modulo di rendering 3D avanzato
- Importare e aggiungere modelli 3D alla composizione
- Importare modelli 3D da Creative Cloud Libraries
- Illuminazione basata su immagine
- Estrarre e animare videocamere e luci da modelli 3D
- Tracciamento del movimento della videocamera 3D
- Creare e accettare ombre
- Animazioni di modelli 3D incorporate
- Acquisizione ombre
- Estrazione dei dati di profondità 3D
- Modificare le proprietà dei materiali di un livello 3D
- Lavorare in Design Space 3D
- Gizmo Trasformazione 3D
- Ulteriori informazioni sull’animazione 3D
- Anteprima delle modifiche apportate ai progetti 3D con il sistema Mercury 3D
- Aggiungere grafica reattiva agli elementi grafici
- Visualizzazioni e anteprime
- Rendering ed esportazione
- Nozioni di base su rendering ed esportazione
- Codifica H.264 in After Effects
- Esportare un progetto After Effects come progetto Adobe Premiere Pro
- Convertire filmati
- Rendering di più fotogrammi
- Rendering automatico e rendering di rete
- Rendering ed esportazione di immagini fisse e sequenze di immagini fisse
- Utilizzo del codec GoPro CineForm in After Effects
- Lavorare con altre applicazioni
- Collaborazione: Frame.io e Progetti team
- Memoria, archiviazione, prestazioni
- Knowledge base
Scopri il linguaggio delle espressioni e utilizzalo per formulare diverse espressioni in After Effects.
Il linguaggio delle espressioni di After Effects si basa su JavaScript, con una gamma estesa di oggetti incorporati. After Effects utilizza il linguaggio standard di base JavaScript, non le estensioni specifiche del browser web, e contiene un proprio insieme di oggetti di estensione, come Livello, Composizione, Metraggio e Videocamera.
Anche se il linguaggio delle espressioni è basato su un linguaggio di script, esiste una leggera ma importante differenza tra uno script e un’espressione. A differenza di uno script, che dà un’istruzione all’applicazione, un’espressione dà un’istruzione a una proprietà.
Quando create le espressioni, tenete presente quanto segue:
- Il valore di un’espressione è il valore dell’ultima istruzione valutata. Si tratta in genere dell’ultima riga dell’espressione. Nella sua forma più semplice, il valore di un’espressione viene prodotto dall’ultima variabile o dalla funzione chiamata nell’espressione in base all’ordine di valutazione. Tuttavia, può essere anche un valore a cui si fa riferimento esplicitamente come valore di ritorno. Ciò può includere valori usati molto prima nell’espressione per scopi di debugging o valori all’esterno delle funzioni e delle variabili dichiarate esplicitamente che non vengono processati nell’ordine in cui sono stati scritti.
- JavaScript è un linguaggio sensibile alla distinzione tra maiuscole e minuscole.
- Le funzioni non dovrebbero essere dichiarate nella parte inferiore di un’espressione.
Nozioni di base sul linguaggio
In JavaScript, un valore memorizzato in un oggetto è chiamato proprietà. Tuttavia, After Effects usa il termine proprietà in riferimento ai componenti del livello definiti nel pannello Timeline. Per questo motivo, After Effects fa riferimento alle proprietà JavaScript come metodi o attributi. Come regola generale, la differenza tra un metodo e un attributo è che di solito il metodo esegue una qualche operazione per creare (restituire) il proprio valore di output, mentre un attributo, per creare il proprio valore di output, fa riferimento semplicemente a un valore esistente. Per distinguere un metodo da un attributo, la cosa più semplice consiste nel cercare le parentesi che seguono il nome del metodo, le quali racchiudono qualsiasi argomento di input nel metodo.
Un oggetto è un elemento che può contenere altri oggetti, attributi e metodi. Le composizioni, i livelli e gli elementi di metraggio sono esempi di oggetti. In particolare, le composizioni, i livelli e gli elementi di metraggio sono oggetti globali, il che significa che è possibile farvi riferimento in qualsiasi contesto, senza fare riferimento a un oggetto di livello superiore.
Accedere ad attributi e metodi
Potete utilizzare il linguaggio delle espressioni per accedere ad attributi e metodi delle proprietà del livello. Per accedere a un valore, utilizzate una catena di riferimenti oggetto separati dall’operatore punto (.). Per concatenare i riferimenti oggetto oltre il livello (ad esempio per fare riferimento alle proprietà degli effetti, maschere o animatori di testo), potete anche utilizzare le parentesi. Ad esempio, per collegare la proprietà Opacità nel Livello A alla proprietà Sfocatura dell’effetto Controllo sfocatura nel Livello B, immettete la seguente espressione nel campo apposito per la proprietà Opacità del Livello A:
thisCompayer(“Layer B”)ffect(“Gaussian Blur”)(“Blurriness”)
Leggendo quest’espressione da sinistra verso destra, passate dal livello superiore, contenente l’oggetto, alla proprietà specifica:
L’oggetto globale utilizzato fa riferimento alla composizione corrente: thisComp.
Un oggetto di un livello specifico all’interno della composizione viene indicato con il proprio nome: layer("Layer B").
Un oggetto di un effetto specifico all’interno del livello viene indicato con il proprio nome: effect("Gaussian Blur").
Una proprietà di un effetto specifico all’interno dell’effetto viene indicata con il proprio nome: ("Blurriness").
Per l’ennesimo componente di una proprietà multidimensionale, come il componente y di un punto di controllo dell’effetto, aggiungete [n] alla fine, nel modo seguente:
thisCompayer(“Layer B”)ffect(“Advanced Lightning”)(“Origin”1]
L’oggetto predefinito per un’espressione è la proprietà sulla quale è scritta l’espressione, seguita dal livello che la contiene; quindi, non è necessario specificare la proprietà. Ad esempio, un’espressione deformazioni scritta sulla proprietà Posizione di un livello può essere come segue:
wiggle(5, 10) position.wiggle(5, 10) thisProperty.wiggle(5, 10)
Includete il livello e la proprietà quando le recuperate dall’esterno del livello e della proprietà su cui è scritta l’espressione. Ad esempio, un’espressione scritta sulla proprietà Opacità del Livello B collegata alla proprietà Rotazione del Livello A si presenterebbe così:
thisCompayer(“Layer A”)otation
Per altri esempi di come funzionano le espressioni, utilizzate il selettore per collegare una proprietà del livello all’altra e osservate le espressioni create.
Matrici e proprietà multidimensionali
Una matrice è un tipo di oggetto che memorizza una serie ordinata di numeri. Una matrice è rappresentata da un elenco di numeri separati da virgole e racchiusi tra parentesi quadre, come in questo esempio:
[10, 23]
Potete assegnare un oggetto Matrice a una variabile, cosicché sarà più semplice fare riferimento ai valori della matrice in altre aree dell’espressione. Ad esempio:
myArray = [10, 23]
La dimensione di un oggetto Matrice è il numero di elementi che essa contiene. La dimensione di myArray è 2. Proprietà diverse in After Effects hanno dimensioni diverse in base al relativo numero di argomenti valore. Nel linguaggio delle espressioni, i valori delle proprietà sono valori singoli (oggetti Numero) o matrici (oggetti Matrice).
La seguente tabella fornisce alcuni esempi di proprietà e relative dimensioni:
|
Proprietà |
1 |
Rotazione ° Opacità % |
2 |
Scala [x=larghezza, y=altezza] Posizione [x, y] Punto di ancoraggio [x, y] Livelli audio [sinistra, destra] |
3 |
Scala [larghezza, altezza, profondità] Posizione 3D [x, y, z] Punto di ancoraggio 3D [x, y, z] Orientamento [x, y, z] |
4 |
Colore [rosso, verde, blu, alfa] |
Potete accedere ai singoli elementi di un oggetto Matrice usando le parentesi e un numero di indice per indicare l’elemento desiderato. Gli elementi in un oggetto Matrice sono indicizzati a partire da 0. Con l’esempio precedente, myArray[0] è 10 e myArray[1] è 23.
Le seguenti due espressioni sono equivalenti:
[myArray[0], 5] [10, 5]
Matrici della proprietà Posizione
Le matrici della proprietà Posizione sono indicizzate come segue:
position[0] è la coordinata x della posizione.
position[1] è la coordinata y della posizione.
position[2] è la coordinata z della posizione.
Representazione dei colori in matrici
I colori sono rappresentati come matrici 4D:
- Rosso
- Verde
- Blu
- Alfa
In progetti con una profondità colore di 8 bpc o 16 bpc, ciascun valore in una matrice colore va da 0 (nero) a 1 (bianco). Ad esempio, il rosso può variare da 0 (nessun colore) a 1 (rosso). Pertanto, [0,0,0,0] è nero e trasparente e [1,1,1,1] è bianco e opaco. In progetti con una profondità colore di 32 bpc, sono consentiti valori inferiori a 0 e superiori a 1.
Se utilizzate un indice maggiore dell’indice del componente con le dimensioni massime in un oggetto Matrice, After Effects restituisce un errore. Ad esempio, myArray[2] causa un errore, ma position[2] restituisce la coordinata z della Posizione.
Molte proprietà e metodi nel linguaggio delle espressioni di After Effects accettano gli oggetti Matrice come argomenti o li restituiscono come valori. Ad esempio, thisLayer.position è un oggetto Matrice che può essere bidimensionale o tridimensionale in base al tipo di livello, 2D o 3D.
Esempi
Se desiderate scrivere un’espressione che mantenga il valore y di un’animazione di Posizione, ma che fissi il valore x su 9, dovete utilizzare:
y = position[1]; [9,y]
Oppure ancora più breve:
[9, position[1]]
Si tratta di un punto importante, consideriamo quindi un altro esempio. Per combinare il valore della posizione x del livello A con il valore della posizione y del livello B, usate la seguente espressione:
x = thisCompayer(“Layer A”)osition[0 y = thisCompayer(“Layer B”)osition[1 [x]
Potete creare un’espressione che si riferisca a un solo valore all’interno della matrice di una proprietà 2D o 3D. Per impostazione predefinita, viene usato il primo valore, salvo diversamente specificato. Ad esempio, se trascinate il selettore dalla proprietà Rotazione del Livello A alla proprietà Scala del Livello B, viene visualizzata l’espressione seguente:
thisCompayer(“Layer B”)cale[0]
Per impostazione predefinita, quest’espressione utilizza il primo valore della proprietà Scala, ossia la larghezza. Se invece preferite usare il valore dell’altezza, trascinate il selettore direttamente sul secondo valore anziché sul nome della proprietà o modificate l’espressione come segue:
thisCompayer(“Layer B”)cale[1]
Al contrario, se trascinate il selettore dalla proprietà Scala del livello B alla proprietà Rotazione del livello A, After Effects crea automaticamente una variabile, a cui assegna il valore monodimensionale della proprietà Rotazione, e la utilizza per entrambe le dimensioni della proprietà Scala:
temp = thisComp.layer(1).transform.rotation; [temp, temp]
Vettori
In After Effects, molte proprietà e metodi accettano o restituiscono vettori. After Effects definisce una matrice come vettore se rappresenta un punto o una direzione nello spazio. Ad esempio, in After Effects position restituisce un vettore.
Tuttavia, sebbene una funzione come audioLevels restituisca un valore bidimensionale (i livelli di canale destro e sinistro), non è definita vettore perché non rappresenta un punto o una direzione. Alcune funzioni in After Effects accettano argomenti vettore, ma generalmente servono solo nel caso in cui i valori passati rappresentano una direzione. Ad esempio, cross(vec1, vec2) calcola un terzo vettore ad angolo retto rispetto ai vettori di input. Il prodotto incrociato è utile quando vec1 e vec2 sono due vettori che rappresentano direzioni nello spazio, ma non lo è se essi rappresentano semplicemente due raccolte arbitrarie di numeri.
Indici ed etichette
L’indicizzazione degli elementi Livello, Effetto e Maschera in After Effects inizia da 1. Ad esempio, il primo livello nel pannello Timeline è layer(1).
In genere è preferibile usare il nome di un livello, effetto o maschera anziché un numero per evitare confusione ed errori se vengono spostati o nel caso in cui gli argomenti vengano modificati in seguito agli aggiornamenti del prodotto. Quando utilizzate un nome, inseritelo sempre tra virgolette semplici. Ad esempio, la prima di queste espressioni è maggiormente comprensibile rispetto alla seconda e la prima continua a essere valida anche se si cambia l’ordine degli effetti:
effect(“Colorama”)aram(“Get Phase From”) effect(1)aram(2)
Il tempo nelle espressioni
Il tempo all’interno di un’espressione è sempre nel tempo della composizione (non nel tempo del livello) e viene misurato in secondi - (questo non è il caso con l’espressione sourceRectAtTime()). Il tempo predefinito per un’espressione è il tempo corrente di composizione durante il quale ha luogo la valutazione dell’espressione. Le seguenti espressioni utilizzano entrambe il tempo di composizione predefinito e restituiscono gli stessi valori:
thisComp.layer(1).position thisComp.layer(1).position.valueAtTime(time)
Per utilizzare un tempo relativo, aggiungete un valore tempo incrementale all’argomento time. Ad esempio, per ottenere il valore Posizione 5 secondi prima del tempo corrente, usate la seguente espressione:
thisComp.layer(1).position.valueAtTime(time-5)
I riferimenti temporali predefiniti alle proprietà nelle composizioni nidificate utilizzano il tempo di composizione predefinito originale e non il tempo modificato. Tuttavia, se si usa la funzione source per recuperare una proprietà, viene utilizzato il tempo modificato.
Ad esempio, se l’origine di un livello nella composizione che lo contiene è una composizione nidificata e la composizione che lo contiene ha un tempo modificato, accedendo ai valori posizione di un livello nella composizione nidificata con la seguente espressione, i valori della posizione utilizzeranno il tempo predefinito della composizione:
comp(“nested composition”)ayer(1)osition
Tuttavia, accedendo al livello 1 con la funzione source i valori della posizione utilizzeranno il tempo modificato:
thisCompayer(“nested composition”)ourceayer(1)osition
Utilizzando un tempo specifico in un’espressione, After Effects ignora il tempo modificato.
Poiché le espressioni agiscono sul tempo usando come unità il secondo (non il fotogramma), talvolta potrebbe essere necessario utilizzare metodi di conversione tempo per poter eseguire le operazioni sui fotogrammi con i valori temporali.
Esempio: usare il riferimento per il linguaggio delle espressioni per scrivere un’espressione
Seguite questo esempio per imparare come utilizzare il riferimento per il linguaggio delle espressioni di After Effects per scrivere espressioni. L’espressione creata in questo esempio collega la proprietà Posizione di Tinta unita 2 alla proprietà Posizione di Tinta unita 1, con il movimento di Tinta unita 2 sfalsato di 2 secondi rispetto a quello di Tinta unita 1.
-
Create due livelli in tinta unita: Tinta unita 1 e Tinta unita 2.
-
Animate i valori della proprietà Posizione per Tinta unita 1 mediante i fotogrammi chiave. Consultate Animazioni, fotogrammi chiave ed espressioni.
-
Selezionate la proprietà Posizione per Tinta unita 2 e scegliete Animazione > Aggiungi espressione oppure tenete premuto Alt (Windows) o Opzione (macOS) e fate clic sul pulsante cronometro della proprietà. Per impostazione predefinita, viene visualizzata la seguente espressione:
transform.position
-
Su transform.position, digitate direttamente:
thisComp
-
L’elemento thisComp è un attributo globale il cui valore è un oggetto Composizione che rappresenta la composizione corrente. Per determinare cosa può seguire thisComp nell’espressione, cercate il valore restituito per thisComp in Oggetti, attributi e metodi globali.
Tenete presente che thisComp restituisce un oggetto Composizione. Quindi, consultate la sezione Attributi e metodi di composizione per vedere quali attributi e metodi potete usare con un oggetto Composizione. Un’opzione è layer(index). L’indice o il numero tra parentesi specifica il livello da utilizzare. Per questo esempio, supponiamo che Tinta unita 1 sia il primo livello della composizione. Per recuperare i valori dal primo livello della composizione attiva, digitate:layer(1) alla fine dell’espressione per ottenere quanto segue:
thisComp.layer(1)
-
Consultate di nuovo il riferimento degli elementi dell’espressione per verificare che layer(index) restituisca un oggetto Livello. Consultate Attributi e metodi generali del livello e cercate l’elemento che intendete usare. Se ad esempio desiderate ottenere i valori della proprietà Posizione per il livello, digitate .position alla fine dell’espressione per ottenere quanto segue:
thisComp.layer(1).position
-
Da Attributi e metodi generali del livello, potete notare che l’attributo position restituisce una proprietà. Consultate Attributi e metodi di proprietà e osservate che è possibile aggiungere un fattore tempo all’espressione. Per aggiungere un tempo specifico, ad esempio il tempo corrente più 2 secondi, digitate .valueAtTime(time+2) alla fine dell’espressione per ottenere quanto segue:
thisComp.layer(1).position.valueAtTime(time+2)
-
Nella sezione Attributi e metodi di proprietà, osservate che il metodo valueAtTime restituisce un numero o una matrice. Quando un’espressione restituisce un numero, una matrice o un valore booleano (true o false), non è possibile aggiungere altri attributi o metodi all’espressione (se lo desiderate, tuttavia, potete aggiungere operatori aritmetici come +, -, * e /).
Ulteriori risorse sulle espressioni
Una volta compresi alcuni dei concetti base delle espressioni, visita la community, dove potrai trovare alcuni esempi reali e condividere il tuo lavoro.
Il forum AE Enhancers fornisce molti esempi e molte informazioni sulle espressioni, nonché script e predefiniti di animazione.