Adobe

Concetti di base sulle espressioni


 
By clicking Submit, you accept the Adobe Terms of Use.
 

  • Le espressioni
  • Aggiungere, modificare e rimuovere espressioni
  • Esempio: uso del riferimento alla lingua dell’espressione per scrivere un’espressione
  • Mostrare le espressioni e il grafico dell’espressione
  • Scrivere espressioni per il testo sorgente
  • Aggiungere commenti a un’espressione
  • Salvare e riutilizzare le espressioni
  • controlli espressione, effetti
  • Convertire un’espressione in fotogrammi chiave
  • Il linguaggio delle espressioni
  • Errori nelle espressioni

Molti degli esempi illustrati in questa sezione sono basati sugli esempi forniti da Dan Ebberts. Nel suo sito Web MotionScript, Dan Ebberts dispone inoltre di un’ottima raccolta di espressioni ed esercitazioni di esempio per imparare a lavorare con le espressioni.

Il forum AE Enhancers fornisce molti esempi e molte informazioni sulle espressioni, nonché script e predefiniti di animazione.

Chris e Trish Meyer mettono a disposizione un semplice video che fornisce una panoramica sulle espressioni nel sito Web ProVideo Coalition.

Chris e Trish Meyer offrono una serie di articoli sulle espressioni nel sito Web di ProVideo Coalition , contenenti alcuni utili esempi.

Chris e Trish Meyer condividono suggerimenti sulle espressioni tratti dal loro libro _Creating Motion Graphics_ nel sito Web di ProVideo Coalition.

    Torna all'inizio

    Le espressioni

    Se desiderate creare e collegare animazioni complesse, ma volete evitare di creare decine o centinaia di fotogrammi chiave a mano, provate a usare le espressioni. Un’espressione è come una piccola porzione di software, simile a uno script, che viene calcolata fino a restituire un singolo valore per la proprietà di un singolo livello in una posizione temporale specifica. Mentre gli script dicono a un’applicazione di fare qualcosa, un’espressione specifica che una proprietà è qualcosa.

    Con le espressioni potete creare relazioni tra le proprietà di un livello e utilizzare i fotogrammi chiave di una proprietà per animare in modo dinamico altri livelli. Ad esempio, potete utilizzare il selettore per collegare le proprietà di un tracciato, in modo che la maschera possa utilizzare il tracciato di un tratto pennello o di un oggetto livello forma.

    Il linguaggio delle espressioni è basato sul linguaggio JavaScript standard, ma non è necessario conoscere JavaScript per usarle. Potete creare espressioni usando il selettore o copiando esempi semplici e modificandoli in base alle vostre esigenze.

    Nota: due fonti di espressioni di esempio sono il progetto modello Campionatore di espressioni (File > Sfoglia modelli di progetto) e predefiniti per animazione nella categoria Comportamenti (Animazione > Sfoglia impostazioni predefinite).

    I predefiniti di animazione possono includere espressioni o essere costituiti addirittura interamente da un’espressione. I predefiniti di animazione che utilizzano le espressioni anziché i fotogrammi chiave sono talvolta denominati comportamenti.

    Dopo aver aggiunto un’espressione a una proprietà, potete continuare ad aggiungere o modificare i fotogrammi chiave per la proprietà. Un’espressione può utilizzare il valore di una proprietà determinato dai relativi fotogrammi chiave adoperandolo come input per generare nuovi valori modificati. Ad esempio, la seguente espressione sulla proprietà Rotazione di un livello aggiunge 90 gradi al valore della proprietà Rotazione, oltre al movimento suddiviso in fotogrammi chiave:

      value + 90

    Alcuni metodi (come la deformazione) agiscono direttamente sui valori suddivisi in fotogrammi chiave della proprietà. Consultate Attributi e metodi delle proprietà (riferimento espressioni).

    La seguente espressione nella proprietà Posizione di un livello mantiene il movimento suddiviso in fotogrammi chiave del livello e fa sì che esso si deformi leggermente:

      wiggle(10, 10)
    Nota: l’uso dell’espressione wiggle spesso è molto più veloce e semplice dell’uso dello strumento Deformazione.

    Quando animate il testo potete usare il selettore Espressione per specificare in quale misura desiderate che una proprietà di animatore influenzi ciascun carattere di testo. Potete aggiungere uno o più selettori Espressione a un gruppo di animatori e quel gruppo di animatori può contenere una o più proprietà.

    Torna all'inizio

    Aggiungere, modificare e rimuovere espressioni

    Potete creare intere espressioni digitandole o utilizzando il menu Lingua espressione oppure il selettore. È inoltre possibile incollare un’espressione copiandola da un esempio o da un’altra proprietà.

    Potete eseguire tutte le operazioni necessarie relative alle espressioni nel pannello Timeline, anche se a volte è più comodo trascinare il selettore su una proprietà nel pannello Controlli effetti. Le espressioni vengono immesse e modificate nel campo dell’espressione, un campo di testo ridimensionabile all’interno del grafico del tempo. Il campo espressioni è visualizzato di fianco alla proprietà nella modalità barre livello, mentre è visualizzato nella parte inferiore dell’editor grafico in modalità Editor grafico. Potete scrivere un’espressione in un editor di testo e copiarla nel campo espressioni. Aggiungendo un’espressione a una proprietà livello, il campo espressioni visualizza un’espressione predefinita. Essenzialmente, l’espressione predefinita non fa nulla, in quanto imposta il valore della proprietà su se stessa, il che semplifica il perfezionamento dell’espressione.

    Interfaccia espressioni nel pannello TImeline in modalità barre livello
    A.
    Switch Attiva espressione

    B.
    Pulsante Mostra grafico post-espressione

    C.
    Selettore

    D.
    Menu Lingua espressione

    E.
    Campo Espressioni

    Durante la modifica di un’espressione sono sospesi tutti i tipi di anteprima. Viene visualizzata una barra rossa nella parte inferiore dei pannelli in attesa dell’uscita dalla modalità di modifica del testo.

    I valori di una proprietà che contiene un’espressione sono visualizzati in rosso o in rosa.

    Un valido metodo per iniziare a lavorare con le espressioni consiste nel creare un’espressione semplice con il selettore, quindi modificare il comportamento dell’espressione mediante semplici operazioni matematiche come quelle riportate nella tabella seguente:

    Simbolo

    Funzione

    +

    aggiungere

    -

    sottrarre

    /

    dividere

    *

    moltiplicare

    *-1

    eseguire l’opposto dell’originale, ad esempio in senso antiorario anziché orario

    Potete ad esempio raddoppiare il risultato digitando *2 alla fine dell’espressione, oppure dividere a metà il risultato digitando /2 alla fine dell’espressione.

    Man mano vi abituerete a modificare le espressioni e potrete combinare queste semplici operazioni e utilizzarne delle altre. Potete ad esempio aggiungere /360*100 alla fine di un’espressione per modificare il relativo intervallo da 0-360 a 0-100. Questa modifica è utile se desiderate convertire i valori di una manopola a 360° in un dispositivo di scorrimento misurato in percentuali.

    Il menu Lingua espressione nel pannello Timeline contiene gli elementi relativi alla lingua specifici di After Effects che è possibile usare in un’espressione. Questo menu serve per determinare gli elementi validi e la loro sintassi corretta; usatelo come riferimento per gli elementi disponibili. Quando scegliete un oggetto, attributo o metodo dal menu, After Effects lo inserisce automaticamente nel campo espressioni nel punto di inserimento. Se il testo è selezionato nel campo dell’espressione, il nuovo testo dell’espressione sostituisce il testo selezionato. Se il punto di inserimento non è presente nel campo dell’espressione, il nuovo testo dell’espressione sostituisce tutto il testo presente nel campo.

    Il menu Lingua espressione elenca gli argomenti e i valori predefiniti. Questa convenzione consente di ricordare facilmente quali elementi è possibile controllare scrivendo un’espressione. Ad esempio, nel menu Lingua, il metodo Deformazione nella categoria Proprietà è visualizzato come wiggle(freq, amp, octaves=1, amp_mult=.5, t=time). Tra le parentesi che seguono wiggle sono elencati cinque argomenti. Il segno = negli ultimi tre argomenti indica che l’uso di questi argomenti è opzionale. Non specificando alcun valore per essi, si applicano le impostazioni predefinite, vale a dire rispettivamente 1, .5 e il tempo corrente.
    Importante: sostituite i nomi degli argomenti creati dal menu Lingua espressione con i valori effettivi.

    Nel forum AE Enhancers, Paul Tuersley mette a disposizione uno script che aggiunge automaticamente le espressioni wiggle, smooth e loop alle proprietà selezionate. L’utilizzo di questo script è un buon metodo offerto ai principianti per far pratica con le espressioni.

    Jeff Almasol fornisce uno script che elabora automaticamente le espressioni, apportando le modifiche specificate. Ad esempio, lo script può essere utilizzato per rimuovere automaticamente o attivare le espressioni disattivate. Per informazioni in merito, consultate il sito Web di Jeff Almasol.

    Aggiungere, disattivare o rimuovere un’espressione

    • Per aggiungere un’espressione a una proprietà, selezionate la proprietà nel pannello Timeline e scegliete Animazione > Aggiungi espressione o premete Alt+Maiusc+= (Windows) o Opzione+Maiusc+= (Mac OS); oppure tenete premuto Alt (Windows) o Opzione (Mac OS) e fate clic sul pulsante cronometro  accanto al nome della proprietà nel pannello Timeline o nel pannello Controlli effetti.
    • Per disattivare temporaneamente un’espressione, fate clic sullo switch Attiva espressione . Quando un’espressione è disattivata, sullo switch appare una barra .
    • Per rimuovere un’espressione da una proprietà, selezionate la proprietà nel pannello Timeline e scegliete Animazione > Rimuovi espressione oppure tenete premuto Alt (Windows) o Opzione (Mac OS) e fate clic sul pulsante del cronometro accanto al nome della proprietà nel pannello Timeline o nel pannello Controlli effetti.

    Modificare un’espressione con il selettore

    Se non avete familiarità con JavaScript o con il linguaggio delle espressioni After Effects, potete comunque sfruttare i vantaggi offerti dalle espressioni utilizzando il selettore. Potete trascinare semplicemente il selettore  da una proprietà all’altra per collegare le proprietà con un’espressione e il testo dell’espressione sarà immesso nel campo espressioni nel punto di inserimento. Se il testo è selezionato nel campo dell’espressione, il nuovo testo dell’espressione sostituisce il testo selezionato. Se il punto di inserimento non è presente nel campo dell’espressione, il nuovo testo dell’espressione sostituisce tutto il testo presente nel campo.

    Trascinate il selettore su una proprietà per creare un collegamento al valore della proprietà.

    Potete trascinare il selettore sul nome o sul valore di una proprietà. Eseguendo il trascinamento sul nome di una proprietà, l’espressione risultante visualizza tutti i valori insieme. Ad esempio, trascinando il selettore sul nome della proprietà Posizione, viene visualizzata un’espressione simile alla seguente:

      thisComp.layer("Layer 1").transform.position

    Se trascinate il selettore su uno dei valori del componente della proprietà Posizione (ad esempio il valore y) viene visualizzata un’espressione simile alla seguente, nella quale sia le coordinate x che quelle y della proprietà sono collegate al valore y della proprietà Posizione:

      temp = thisComp.layer("Layer 1").transform.position[1]; 
      [temp, temp]

    Se il livello, la maschera o l’effetto sul quale viene trascinato il selettore non è dotato di un nome univoco nel contesto locale, After Effects gli assegna un nuovo nome. Ad esempio, se due o più maschere sono denominate “Maschera” sullo stesso livello, trascinando il selettore su una di esse, After Effects la rinomina “Maschera 2”.

    Il formato delle espressioni create dal selettore è determinato dalla preferenza Il selettore espressioni usa inglese compatto, disponibile in Modifica > Preferenze > Generali (Windows) o After Effects > Preferenze > Generali (Mac OS). Per impostazione predefinita, il selettore crea espressioni in inglese compatto, le quali utilizzano i nomi per le proprietà così come essi appaiono nel pannello Timeline per le proprietà all’interno di un’espressione. Poiché tali nomi sono codificati nell’applicazione e non cambiano mai, le espressioni sono in grado di funzionare anche quando After Effects viene eseguito in un’altra lingua. I nomi delle proprietà che è possibile modificare sono racchiusi tra virgolette doppie e rimangono invariati in qualsiasi lingua. Se non si prevede di condividere i progetti con altre lingue, è possibile deselezionare questa preferenza. Questa preferenza non influisce sui nomi o sulle proprietà degli effetti.

    Viene riportato di seguito un esempio di inglese compatto:

      thisComp.layer("Layer 1").transform.position

    Questa è la stessa espressione, non espressa in inglese compatto:

      thisComp.layer("Layer 1")("Transform")("Position")
    Nota: poiché l’impostazione predefinita usa l’inglese compatto, questo documento utilizza l’inglese compatto nella maggior parte degli esempi e delle illustrazioni.
    1. Trascinate il selettore su un’altra proprietà nel pannello Timeline o Controlli effetti.
    2. Se desiderate, modificate l’espressione predefinita nel campo espressioni.
    Nota: Se utilizzate il selettore per creare un’espressione per fare riferimento a un livello e il livello ha lo stesso nome di un altro livello nella stessa composizione, il nome del livello di destinazione cambia. Il nuovo nome del livello è il vecchio nome del livello con un numero alla fine. Questa modifica è necessaria per assicurarsi che l’espressione faccia riferimento in modo non ambiguo a un singolo livello nella composizione.

    Modificare manualmente un’espressione

    1. Fate clic sul campo espressioni per passare alla modalità di modifica del testo.
      Nota: quando passate in modalità di modifica del testo, viene selezionata l’intera espressione. Per aggiungere elementi all’espressione, fate clic nell’espressione per posizionare il punto di inserimento: in caso contrario sostituirete l’intera espressione.
    2. Digitate e modificate il testo nel campo espressioni utilizzando, se lo desiderate, il menu Lingua espressione.
      Per visualizzare una parte maggiore di un’espressione su più righe, trascinate la parte inferiore o superiore del campo espressioni per ridimensionarlo.
    3. Per uscire dalla modalità di modifica del testo e attivare l’espressione, effettuate una delle seguenti operazioni:
      • Premete Invio sul tastierino numerico.

      • Fate clic all’esterno del campo espressioni.

    Torna all'inizio

    Esempio: uso del riferimento alla lingua dell’espressione per scrivere un’espressione

    Seguite l’esempio per imparare come utilizzare il riferimento della lingua dell’espressione di After Effects per scrivere espressioni. L’espressione creata in questo esempio collega la proprietà Posizione del Solido 2 alla proprietà Posizione del Solido 1, con il movimento di Solido 2 sfalsato di 2 secondi rispetto a quello di Solido 1.

    1. Create due livelli solidi Solido 1 e Solido 2.

    2. Animate i valori della proprietà Posizione per il Solido 1 mediante i fotogrammi chiave. Consultate Animazioni, fotogrammi chiave ed espressioni.

    3. Selezionate la proprietà Posizione per Solido 2 e scegliete Animazione > Aggiungi espressione oppure tenete premuto Alt (Windows) o Opzione (Mac OS) e fate clic sul pulsante cronometro  della proprietà. Per impostazione predefinita, appare la seguente espressione:

        transform.position
    4. Sulla parola transform.position digitate direttamente:

        thisComp
    5. 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 globali, attributi e metodi (riferimento espressioni)..

      Notate che thisComp restituisce un oggetto Comp. Quindi esaminate Attributi e metodi di composizione (riferimento espressioni) per vedere quali attributi e metodi potete usare con un oggetto Comp. Un’opzione è layer(index). L’indice o il numero all’interno delle parentesi specifica il livello da utilizzare. Per questo esempio, supponiamo che Solido 1 sia il primo livello della composizione. Per recuperare i valori dal primo livello nella composizione attiva, digitate .layer(1) alla fine dell’espressione per ottenere quanto segue:

        thisComp.layer(1)
    6. Esaminate di nuovo il riferimento degli elementi dell’espressione per verificare che layer(index) restituisca un oggetto Livello. Esaminate Attributi e metodi generali del livello (riferimento espressioni), 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 
    7. Da Attributi e metodi generali del livello (riferimento espressioni), potete verificare che l’attributo position restituisce una proprietà. Cercate Attributi e metodi delle proprietà (riferimento espressioni) e notate 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)
    8. Da Attributi e metodi delle proprietà (riferimento espressioni), notate che il metodo valueAtTime restituisce un numero o una matrice. Quando un’espressione restituisce un numero, una matrice o un valore booleano (vero o falso), non è possibile aggiungere altri attributi o metodi all’espressione (se lo desiderate, tuttavia, potete aggiungere operatori aritmetici come +, -, * e /).

    Torna all'inizio

    Mostrare le espressioni e il grafico dell’espressione

    In modalità Editor grafico, il singolo campo espressioni è visualizzato come casella ridimensionabile nella parte inferiore dell’Editor grafico e mostra solo l’espressione per la proprietà selezionata. Per mostrare simultaneamente più campi espressioni, il pannello Timeline deve essere nella modalità barre livello.
    Per alternare tra la modalità barre livello e la modalità Editor grafico, premete Maiusc+F3.
    • Per visualizzare solo le proprietà con espressioni, selezionate uno o più livelli, quindi premete EE.
    • Per visualizzare il campo dell’espressione nell’Editor grafico, scegliete Mostra editor espressioni dal menu Scegli tipo di grafico e opzioni  nella parte inferiore dell’Editor grafico. Quando aggiungete una nuova espressione a una proprietà viene visualizzato l’editor espressioni, indipendentemente da questa impostazione.
      Per ridimensionare il campo espressioni, trascinate il bordo inferiore verso l’alto o verso il basso.
    • Per visualizzare il modo in cui un’espressione cambia il grafico del valore o della velocità, fate clic sul pulsante Mostra grafico post-espressione  visualizzando nel contempo il grafico del valore o della velocità nell’Editor grafico.

      Il grafico di colore scuro visualizza il valore o la velocità prima che venga applicata l’espressione, mentre il grafico di colore chiaro visualizza il valore o la velocità dopo l’applicazione dell’espressione. Attivando la sovrapposizione del grafico per la proprietà Posizione, cambia anche la visualizzazione del tracciato animato nel pannello Composizione, per consentire di vedere il tracciato interessato dall’espressione.

    Potete utilizzare il campo di ricerca nel pannello Timeline per cercare sia le espressioni che gli altri componenti di una proprietà. Se la stringa di ricerca appare in un’espressione, la proprietà e i gruppi di proprietà e il livello che la contengono sono visualizzati nell’insieme filtrato dei risultati della ricerca.
    Torna all'inizio

    Scrivere espressioni per il testo sorgente

    La proprietà Testo sorgente di un livello testo viene interpretata dalle espressioni come stringa JavaScript. Potete usare il selettore per recuperare il testo sorgente da un altro livello testo; tuttavia, viene utilizzato solo lo stile del primo carattere del livello di destinazione.

    Per ulteriori informazioni sull’oggetto JavaScript String, consultate un manuale di riferimento per JavaScript.

    Potete usare "\r" in un’espressione stringa per iniziare una nuova riga di testo. Ad esempio, per copiare il testo originale da un livello sullo stesso livello e ripeterlo su una nuova riga con tutti i caratteri in maiuscolo, utilizzate l’espressione seguente:

      text.sourceText + "\r" + text.sourceText.toUpperCase()

    Aggiungere un livello testo a una composizione e aggiungere un’espressione alla sua proprietà Testo sorgente può essere un valido metodo per esaminare i valori delle proprietà di altri livelli. Ad esempio, l’espressione seguente in una proprietà Testo sorgente riporta il nome e il valore della proprietà Opacità per il livello successivo nell’ordine di sovrapposizione dei livelli:

      thisComp.layer(index + 1).name + "\rOpacity = " + thisComp.layer(index + 1).opacity.value

    L’esempio seguente riporta il nome dell’elemento di metraggio usato come sorgente del livello dell’immagine all’inizio dell’ordine di sovrapposizione nel tempo corrente in cui lo switch Video è impostato.

      source_footage_name = ""; 
      for (i = 1; i <= thisComp.numLayers; i++){ 
          if (i == index) continue; 
          my_layer = thisComp.layer(i); 
          if (! (my_layer.hasVideo && my_layer.active)) continue; 
          if (time >= my_layer.inPoint && time < my_layer.outPoint){ 
              try{ 
                  source_footage_name = my_layer.source.name; 
              }catch(err1){ 
                  source_footage_name = my_layer.name 
              } 
              break; 
          } 
      } 
      source_footage_name

    In Red Giant TV è disponibile un’esercitazione video di Aharon Rabinowitz ed espressioni di esempio che illustrano come animare il punteggio di un video game con la proprietà Testo sorgente e un effetto Scorrimento (un effetto Controlli espressione).

    Nel sito Web graymachine di Harry Frank è disponibile un’esercitazione che mostra come usare le espressioni per leggere i dati provenienti da un file di testo esterno.

    Torna all'inizio

    Aggiungere commenti a un’espressione

    Se create un’espressione complessa e intendete riutilizzarla in seguito per voi stessi o per altri, aggiungete dei commenti che spieghino le operazioni compiute dall’espressione e come funzionano le varie parti.

    • Digitate // all’inizio del commento. Qualsiasi testo compreso tra // e la fine della riga verrà ignorato. Ad esempio:
        // This is a comment.

      Per esempi di questo tipo di commento, consultate Esempio di espressione: dissolvere l’opacità di un livello 3D in base alla distanza dalla videocamera.

    • Digitate /* all’inizio del commento e */ alla fine del commento. Qualsiasi testo compreso tra /* e*/ verrà ignorato. Ad esempio:
        /*  This is a   
            multiline comment. */

      Per esempi di questo tipo di commento, consultate Salvare e riutilizzare le espressioni.

    Torna all'inizio

    Salvare e riutilizzare le espressioni

    Dopo aver scritto un’espressione, potete salvarla, per poi usarla in un secondo momento, copiandola e incollandola in un’applicazione per la modifica di testo oppure salvandola in un predefinito per animazione o in un progetto di modello. Tuttavia, poiché le espressioni vengono scritte in relazione agli altri livelli di un progetto e possono utilizzare nomi di livello specifici, talvolta è necessario modificare un’espressione per trasferirla da un progetto all’altro.

    Potete definire le vostre funzioni all’interno delle espressioni utilizzando la normale sintassi delle funzioni JavaScript. In questo esempio viene definita una funzione che calcola la media di due valori e l’ultima riga utilizza questa funzione:

      function average(a, b) 
      { 
        return (a + b) / 2; 
      } 
      average(position, thisComp.layer(1).position); 
    Nota: dovete definire completamente ogni funzione all’interno di ciascuna espressione in cui essa è utilizzata. Non esiste nessuna libreria globale di funzioni alla quale potete effettuare aggiunte.

    Se desiderate salvare un’espressione per utilizzarla in un altro progetto, aggiungete dei commenti all’espressione. Consultate Aggiungere commenti a un’espressione. Sarà inoltre opportuno utilizzare delle variabili in modo da poter modificare un valore in un’unica posizione invece di doverlo modificare in diverse posizioni.

    Questa espressione, ad esempio, presenta all’inizio un commento su più righe che spiega le operazioni svolte dall’espressione e un breve commento esplicativo, dopo la dichiarazione e l’inizializzazione di una variabile, sulla funzione della variabile:

      /*  This expression on a Source Text property reports the name 
          of a layer and the value of its Opacity property. */  
        
      var myLayerIndex = 1; // layer to inspect, initialized to 1, for top layer  
        
      thisComp.layer(myLayerIndex).name + ": \rOpacity = " +   thisComp.layer(myLayerIndex).opacity.value

    Potete salvare un predefinito dell’animazione che includa un’espressione e riutilizzarla in altri progetti, se l’espressione non si riferisce a proprietà che non esistono negli altri progetti. Quando salvate un predefinito in cui una proprietà ha un’espressione ma nessun fotogramma chiave, viene salvata solo l’espressione. Se la proprietà ha uno o più fotogrammi chiave, il predefinito salvato contiene l’espressione insieme a tutti i valori dei fotogrammi chiave.

    Potete copiare un’espressione da una proprietà del livello, con o senza i fotogrammi chiave della proprietà.

    • Per copiare un’espressione e i fotogrammi chiave da una proprietà ad altre proprietà, selezionate la proprietà del livello sorgente nel pannello Timeline, copiate la proprietà del livello, selezionate le proprietà del livello di destinazione e scegliete Incolla.
    • Per copiare un’espressione da una proprietà ad altre proprietà senza copiare i fotogrammi chiave, selezionate la proprietà sorgente, scegliete Modifica > Copia solo espressione, selezionate le proprietà di destinazione e scegliete Incolla.
      Copiare un’espressione senza fotogrammi chiave è utile se desiderate copiare e incollare contemporaneamente molteplici espressioni su uno o più livelli nuovi, o se desiderate copiare e incollare un’espressione su più livelli.
    Nota: come quando incollate fotogrammi chiave e altri elementi, spesso potete incollare l’elemento nel livello di destinazione e lasciare che After Effects determini automaticamente quale proprietà debba essere la destinataria dell’operazione Incolla. Questo metodo funziona ad esempio per incollare la proprietà Posizione da un livello a un altro ma dovrete selezionare personalmente la proprietà di destinazione se state incollando un’espressione da una proprietà Posizione a una proprietà Scala.

    Paul Tuersley fornisce lo script pt_ExpressEdit per gestire e modificare le espressioni.

    Torna all'inizio

    controlli espressione, effetti

    Utilizzate un effetto Controlli espressione per aggiungere un controllo utilizzabile per elaborare i valori di una o più proprietà collegando la proprietà al controllo mediante le espressioni. Un singolo controllo può influire su varie proprietà contemporaneamente.

    I nomi degli effetti Controlli espressione indicano il tipo di controllo di proprietà che forniscono: Controllo angolo, Controllo caselle, Controllo colore, Controllo livello, Controllo punto, Controllo cursore. After Effects CS5.5 (e versioni successive) include inoltre Controllo punto 3D.

    Se applicate un predefinito di animazione dalla categoria Impostazioni predefinite animazione > Forme > Sfondi, vedrete un effetto Controllo forma animata personalizzato nel pannello Controlli effetti. Questo effetto personalizzato è uno speciale effetto per il controllo delle espressioni che era stato creato appositamente per questi predefiniti di animazione. Potete copiare e incollare questo effetto in altri livelli, oppure salvarlo come predefinito di animazione in modo da poterlo applicare altrove.

    Potete applicare gli effetti per il controllo delle espressioni a un livello nello stesso modo in cui applicate gli altri effetti, ad esempio trascinando l’effetto sul livello dal pannello Effetti e predefiniti.

    Potete applicare gli effetti per il controllo delle espressioni a qualsiasi livello; tuttavia, è utile applicarli a un livello di tipo NULL, che potrete usare semplicemente come livello di controllo. Aggiungete quindi le espressioni alle proprietà di altri livelli per ottenere l’input da quel controllo. Potete ad esempio aggiungere l’effetto Controllo cursori a un livello NULL (Null 1) e applicare quindi l’espressione alle proprietà Posizione di più livelli:

      position+[0,10*(index-1)*thisComp.layer("Null 1").effect("Slider Control")("Slider")]

    In questo esempio, quando trascinate il cursore, vengono spostati tutti i livelli con questa espressione. I livelli con numeri di indice maggiori (i livelli verso la parte inferiore del pannello Timeline) vengono spostati più dei livelli con numeri di indice minori, con intervalli di 10 pixel. Potete impostare i fotogrammi chiave per il cursore sul livello NULL e tutti gli altri livelli si animeranno di conseguenza.

    Spesso è utile rinominare ciascuna istanza di un effetto Controllo espressione per indicarne l’uso. Ad esempio, ridenominando un’istanza dell’effetto Controllo colore in colore cielo sarà più semplice verificare la caratteristica dell’effetto. Potete ridenominare ciascuna istanza di un effetto Controllo colore allo stesso modo in cui ridenominate qualsiasi altro effetto: selezionatelo nel pannello Timeline o nel pannello Controlli effetti e premete Invio sulla tastiera (Windows) o Invio (Mac OS).

    Per modificare l’intervallo di un controllo, fate clic con il pulsante destro del mouse (Windows) o tenendo premuto il tasto Control (Mac OS) sul valore della proprietà sottolineato e scegliete Modifica valore dal menu di scelta rapida.

    Ulteriori risorse sugli effetti Controlli espressione

    Nel sito Web (Maltaannon) fornisce una semplice spiegazione e dimostrazione dell’effetto Controllo angolo e degli effetti Controlli espressione nel sito Web Motionworkse.

    La serie in tre parti di esercitazioni video “After Effects Expression Controls” di Aharon Rabinowitz, disponibile nel sito Web Creative COW, illustra gli effetti Controlli espressione e mostra alcuni esempi di base relativi ai loro possibili utilizzi.

    Nel sito Web graymachine di Harry Frank è disponibile il progetto di un orologio in cui i movimenti delle lancette sono collegati a un effetto Controllo angolo su un livello Nullo che controlla il tempo.

    Nel blog After Effects Region of Interest di Todd Kopriva sono disponibili istruzioni sull’uso del metodo sampleImage e sull’effetto Controllo punto per cercare un punto specifico nei colori durante la correzione dei colori.

    Torna all'inizio

    Convertire un’espressione in fotogrammi chiave

    Talvolta è opportuno convertire un’espressione in fotogrammi chiave. Ad esempio, se desiderate bloccare i valori di un’espressione, potete convertire l’espressione in fotogrammi chiave e successivamente regolare i fotogrammi chiave di conseguenza; oppure, se un’espressione richiede molto tempo per eseguire la valutazione, potete convertirla in fotogrammi chiave che consentono un rendering più rapido. Convertendo un’espressione in fotogrammi chiave, After Effects valuta l’espressione, creando un fotogramma chiave per ogni fotogramma, quindi disabilita l’espressione.

     Nel pannello Timeline, selezionate la proprietà sulla quale è scritta l’espressione e scegliete Animazione > Assistente fotogramma chiave > Converti espressioni in fotogrammi chiave.
    Torna all'inizio

    Il linguaggio delle espressioni

    Il linguaggio delle espressioni After Effects si basa su JavaScript 1.2, con un’ampia gamma di oggetti incorporati. After Effects utilizza solo il linguaggio JavaScript 1.2 standard di base, non le estensioni specifiche del browser Web. After Effects contiene una serie di oggetti estensione propri, quali ad esempio Livello, Composizione, Metraggio e Videocamera che potete usare per ottenere la maggior parte dei valori di un progetto After Effects.

    Anche se il linguaggio delle espressioni è basato su un linguaggio di script, esiste una differenza piccola, ma importante, tra uno script e un’espressione: mentre uno script indica a un’applicazione di fare qualcosa, un’espressione indica che una proprietà è qualcosa.

    Per ulteriori informazioni su JavaScript, consultate una fonte di riferimento di JavaScript.

    Quando create le espressioni, tenete presente quanto segue:

    • Il valore di un’espressione è il valore dell’ultima definizione valutata.

    • JavaScript è un linguaggio sensibile alla distinzione maiuscole/minuscole.

    • I punto e virgola sono necessari per separare frasi o righe.

    • Gli spazi tra le parole vengono ignorati, tranne all’interno delle stringhe.

    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 la lingua dell’espressione 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, le maschere o gli 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 dell’espressione per la proprietà Opacità per il Livello A:

      thisComp.layer("Layer B").effect("Gaussian Blur")("Blurriness")

    Leggendo questa 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 indicato 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:

      thisComp.layer("Layer B").effect("Advanced Lightning")("Origin")[1]

    L’oggetto predefinito per un’espressione è la proprietà sulla quale è scritta l’espressione, seguita dal livello contenente l’espressione; 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)

    Non è necessario includere il livello e la proprietà durante il loro recupero esternamente al livello e alla proprietà sulla quale è scritta l’espressione. Ad esempio, un’espressione scritta sulla proprietà Opacità del Livello B, collegandola alla proprietà Rotazione del Livello A avrebbe l’aspetto di questa espressione:

      thisComp.layer("Layer A").rotation
    Per visualizzare altri esempi, utilizzate il selettore per collegare una proprietà del livello all’altra e osservate le espressioni create.

    Nel sito Web redefinery di Jeff Almasol potete trovare uno script utilizzabile per stabilire in che modo fare riferimento a una qualsiasi proprietà nelle espressioni.

    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 circondate da parentesi, 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 mostra alcuni esempi di proprietà e relative dimensioni:

    Dimensione

    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. Nell’esempio precedente, myArray[0] è10 e myArray[1] è 23.

    Le seguenti due espressioni sono equivalenti:

      [myArray[0], 5] 
      [10, 5]

    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.

    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). Così, [0,0,0,0] è nero e trasparente e [1,1,1,1] è bianco e completamente 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.

    Se desiderate scrivere un’espressione che mantenga il valore y di un’animazione di Posizione, ma che fissi il valore x su 9, digitate quanto segue:

      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 le seguenti espressioni:

      x = thisComp.layer("Layer A").position[0];  
      y = thisComp.layer("Layer B").position[1];  
      [x,y]

    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:

      thisComp.layer("Layer B").scale[0]

    Per impostazione predefinita, questa 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:

      thisComp.layer("Layer B").scale[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, le assegnerà il valore monodimensionale della proprietà Rotazione e utilizza quella variabile 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 durante il relativo spostamento 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 espressione continuerà a essere valida anche cambiando l’ordine degli effetti:

      effect("Colorama").param("Get Phase From")  
      effect(1).param(2)

    Il tempo nelle espressioni

    Il tempo all’interno di un’espressione è sempre il tempo composizione e non il tempo livello e viene misurato in secondi. 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, usando la funzione source per recuperare una proprietà, viene utilizzato il tempo modificato.

    Ad esempio, se la sorgente 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").layer(1).position

    Tuttavia, accedendo al livello 1 con la funzione source i valori della posizione utilizzeranno il tempo modificato:

      thisComp.layer("nested composition").source.layer(1).position
    Nota: utilizzando un tempo specifico in un’espressione, After Effects ignorerà il tempo modificato.

    Poiché le espressioni agiscono sul tempo in termini di unità di secondo (non fotogrammi), talvolta potrebbe essere necessario utilizzare i metodi di conversione per convertire i valori di tempo in modo da eseguire le operazioni sui fotogrammi. Consultate Metodi di conversione del tempo (riferimento espressioni).

    Torna all'inizio

    Errori nelle espressioni

    Se un’espressione non può essere elaborata, After Effects visualizza un messaggio che spiega l’errore e disattiva automaticamente l’espressione. Un’icona gialla di avvertenza  compare accanto all’espressione; fate clic sull’icona di avvertenza per visualizzare di nuovo il messaggio d’errore.

    Per visualizzare le espressioni contenenti errori, selezionate uno o più livelli, fate clic con il pulsante destro del mouse (Windows) o tenendo premuto il tasto Control (Mac OS) su un livello selezionato nel pannello Timeline e scegliete Rivela errori espressione nel menu di scelta rapida.
    Alcune espressioni utilizzano i nomi dei livelli o delle proprietà del vostro progetto; modificando il nome di un livello o di una proprietà contenuta in un’espressione, After Effects tenta di aggiornare l’espressione per utilizzare il nuovo nome. Tuttavia, in alcuni casi complessi, After Effects non è in grado di aggiornare automaticamente l’espressione, nel qual caso l’espressione potrebbe generare un messaggio d’errore e l’aggiornamento dovrà essere eseguito manualmente.
    Importante: se eseguite After Effects in una lingua diversa da quella per cui è stata scritta un’espressione, o se avete cambiato i nomi degli elementi (ad esempio livelli, effetti o altri gruppi di proprietà), l’espressione potrebbe non funzionare finché non la modificate per usare i nuovi nomi o le stringhe che corrispondono alla lingua in cui viene eseguito After Effects. Dato che gli esempi in questo documento sono stati creati per l’impostazione predefinita di After Effects (lingua inglese), alcuni di essi non funzioneranno senza tale modifica.
    Nota: gli argomenti di alcuni effetti di After Effects sono cambiati rispetto a quelli delle versioni precedenti. Se alcune espressioni esistenti utilizzano i riferimenti dell’indice degli argomenti anziché i nomi degli argomenti, potrebbe essere necessario aggiornare le espressioni per poter usare i nomi degli argomenti.
    Anche precomporre più livelli fa sì che le espressioni che fanno riferimento a una delle proprietà dei livelli producano un errore, rendendo necessario l’aggiornamento di queste espressioni perché facciano riferimento al livello all’interno della nuova composizione. Questo riveste un’importanza particolare con le espressioni che utilizzano thisComp invece di fare riferimento a una composizione con il suo nome. Consultate La precomposizione e la nidificazione.
    Jeff Almasol mette a disposizione uno script nel suo sito Web redefinery con il quale è possibile sostituire le istanze di thisComp con riferimenti espliciti al nome di una composizione.
    Altri argomenti presenti nell’Aiuto

    Salvare un predefinito di animazione

    Animazioni, fotogrammi chiave ed espressioni

    Selettori di testo

    L’Editor grafico

    Tracciati animati

    Creare e modificare i livelli testo

    Proprietà dei livelli nel pannello Timeline

    Livelli di oggetti nulli

    Panoramica e risorse sui predefiniti di animazione

    Profondità del colore e colore a intervallo dinamico elevato

    Note legali   |   Informativa sulla privacy online