Adobe

Esempi di espressioni


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

  • Risorse online con esempi di espressioni
  • Esempio di espressione: fare ruotare un livello in un cerchio
  • Esempio di espressione: ruotare le lancette di un orologio
  • Esempio di espressione: posizionare un livello tra altri due livelli
  • Esempio di espressione: creare una traccia di immagini
  • Esempio di espressione: creare un rigonfiamento tra due livelli
  • Esempio di espressione: dissolvere l’opacità di un livello 3D in base alla distanza dalla videocamera
  • Esempio di espressione: rendere invisibile un livello 3D se rivolto in direzione contraria alla videocamera
  • Esempio di espressione: capovolgere un livello in orizzontale se rivolto in direzione contraria alla videocamera
  • Esempio di espressione: animare la scala su ogni marcatore livello
  • Esempio di espressione: iniziare o interrompere la deformazione in un tempo specifico
  • Esempio di espressione: effettuare la corrispondenza del piano focale della videocamera con un altro livello

Molti degli esempi forniti in questa sezione sono basati sulle espressioni fornite da Dan Ebberts.

    Torna all'inizio

    Risorse online con esempi di espressioni

    Nel sito Web MotionScript sono disponibili vari esempi di espressioni ed esercitazioni realizzati da Dan Ebberts, utili per imparare a lavorare con le espressioni. Ad esempio, Dan mette a disposizione un’ottima pagina sul rilevamento della collisione.

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

    Nel sito Web di Colin Braley potete trovare un’esercitazione e un progetto che mostrano come utilizzare le espressioni per fare in modo che un livello respinga gli altri in un modo che sembri naturale.

    Il forum AE Enhancers fornisce numerosi esempi e informazioni utili sulle espressioni, come pure sugli script e sui predefiniti per animazione. In questo messaggio nel forum AE Enhancers, Paul Tuersley offre un’esercitazione e un progetto di esempio che mostrano come utilizzare le espressioni per animare vari livelli in uno sciame.

    Nel suo sito Web, Rick Gerard illustra come far rotolare un oggetto quadrato lungo un pavimento in modo che i lati restino a contatto con il piano del pavimento.

    Carl Larsen mette a disposizione un’esercitazione video nel sito Web Creative COW che dimostra come utilizzare le espressioni e il concetto di “relazione superiore-inferiore” per mettere in relazione la rotazione di una serie di ruote con il movimento orizzontale di un veicolo.

    Marcus Geduld mette a disposizione alcuni esempi del suo libro, After Effects Expressions, nel sito Web Focal Press. Nella sezione “String Manipulation” (Manipolazione delle stringhe), Marcus mostra come utilizzare il codice JavaScript di base per manipolare il testo nella proprietà Testo sorgente di un livello. Mostra addirittura come utilizzare una serie di stringhe in modo tale che la proprietà Testo sorgente di un livello possa essere impostata su una parola specifica da un elenco. Nella sezione “Physical Simulations” (Simulazioni fisiche), Marcus mostra come utilizzare le espressioni per il rilevamento di orbite, rimbalzi, saltelli e collisioni.

    Chris Zwar mette a disposizione un progetto di esempio nel suo sito Web per disporre automaticamente le immagini fisse o i video in una griglia (come una parete per video). Potete facilmente regolare la posizione e la distanza mediante gli appositi cursori collegati a un sistema di espressioni. Nel progetto sono presenti tre composizioni: una per le immagini fisse, una per i video e una per creare uno storyboard automatico in cui un video viene campionato a intervalli definiti dall’utente e allineato a una griglia.

    Nel sito Web di JJ Gifford potete trovare vari progetti di esempio che dimostrano come utilizzare le espressioni.

    Rhys Enniks mette a disposizione un’esercitazione video nel suo sito Web in cui utilizza le espressioni e vari animatori testo e selettori intervallo per animare il testo, come se esso venisse digitato sullo schermo di un computer.

    Nel sito Web di Maltaannon (Jerzy Drozda, Jr.) è disponibile un’esercitazione video che mostra come usare le espressioni per creare un misuratore del volume in base ai risultati del comando Converti audio in fotogrammi chiave.

    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

    Esempio di espressione: fare ruotare un livello in un cerchio

    Potete creare un’espressione senza usare le proprietà di altri livelli. Ad esempio potete fare ruotare un livello in un cerchio perfetto.

    1. Selezionate un livello, premete P per visualizzarne la Posizione nel pannello Timeline, tenete premuto Alt (Windows) o Opzione (Mac OS) e fate clic sul cronometro a sinistra del nome della proprietà.
    2. Immettete quanto segue nel campo dell’espressione:
        [(thisComp.width/2), (thisComp.height/2)] + [Math.sin(time)*50, -Math.cos(time)*50]
    Torna all'inizio

    Esempio di espressione: ruotare le lancette di un orologio

    Potete utilizzare il selettore per collegare i valori di rotazione tra livelli per animare le lancette di un orologio: man mano che la lancetta dell’ora si sposta di ora in ora, la lancetta dei minuti ruota lungo l’intera circonferenza dell’orologio. Questo tipo di animazione può richiedere tempi lunghi di creazione dovendo impostare ogni fotogramma chiave per entrambi i livelli delle lancette, ma con il selettore sono necessari pochi minuti.

    1. Importate o create due livelli in tinta unita lunghi e stretti: una lancetta delle ore e una lancetta dei minuti. Consultate Livelli in tinta unita ed elementi di metraggio in tinta unita.
    2. Impostate i punti di ancoraggio alla fine dei livelli. Consultate Punti di ancoraggio del livello.
    3. Spostate i livelli in modo che i punti di ancoraggio siano al centro della composizione. Consultate Spostare i livelli nello spazio.
    4. Impostate i fotogrammi chiave Rotazione per la lancetta delle ore. Consultate Impostare o aggiungere fotogrammi chiave.
    5. Selezionate la proprietà Rotazione per la lancetta dei minuti e scegliete Animazione > Aggiungi espressione.
    6. Trascinate il selettore sulla proprietà Rotazione per la lancetta delle ore. Viene visualizzata la seguente espressione:
        thisComp.layer("hour hand").rotation
    7. Per far ruotare la lancetta dei minuti 12 volte alla stessa velocità della lancetta delle ore, aggiungere *12 alla fine dell’espressione come segue:
        thisComp.layer("hour hand").rotation*12

    Guy Chen mette a disposizione un progetto semplice in After Effects Exchange nel sito Web Adobe, che approfondisce questo concetto, collegando la rotazione della lancetta dei minuti e delle ore di un orologio alla rotazione della lancetta dei secondi.

    Harry Frank mette a disposizione il progetto di un orologio nel suo sito Web graymachine, in cui i movimenti delle mani sono collegati a un effetto Controlli espressione (Controllo angolo) su un livello Nullo che controlla il tempo. Consultate controlli espressione, effetti.

    Torna all'inizio

    Esempio di espressione: posizionare un livello tra altri due livelli

    Questo esempio di espressione posiziona e mantiene un livello a una distanza proporzionata tra altri due livelli.

    1. Iniziate con i tre livelli. Consultate Creare i livelli.
    2. Animate le posizioni dei primi due livelli nel pannello Timeline. Consultate Tracciati animati.
    3. Selezionate il terzo livello, premete P per visualizzare la proprietà Posizione, tenete premuto Alt (Windows) o Opzione (Mac OS) e fate clic sul pulsante del cronometro a sinistra del nome della proprietà.
    4. Immettete quanto segue nel campo dell’espressione:
        (thisComp.layer(1).position + thisComp.layer(2).position)/2
    Torna all'inizio

    Esempio di espressione: creare una traccia di immagini

    Questo esempio di espressione ordina a un livello di essere nella stessa posizione del livello immediatamente superiore nel pannello Timeline, ma con un ritardo pari all’intervallo di tempo indicato (in questo caso: 0,5 secondi). Potete impostare espressioni simili per le altre proprietà geometriche.

    1. Iniziate con due livelli in tinta unita dimensionati a circa il 30% delle dimensioni della composizione. Consultate Livelli in tinta unita ed elementi di metraggio in tinta unita.
    2. Animate la posizione del primo livello. Consultate Tracciati animati.
    3. Selezionate il secondo livello, premete P per visualizzare la proprietà Posizione, tenete premuto Alt (Windows) o Opzione (Mac OS) e fate clic sul pulsante del cronometro a sinistra del nome della proprietà.
    4. Immettete quanto segue nel campo dell’espressione:
        thisComp.layer(thisLayer, -1).position.valueAtTime(time - .5)
    5. Duplicate l’ultimo livello cinque volte selezionandolo e premendo Ctrl+D (Windows) o Comando+D (Mac OS) cinque volte.

    Tutti i livelli seguono lo stesso tracciato, con un ritardo di 0,5 secondi l’uno dall’altro.

    Nel sito Web MotionScript di Dan Ebberts sono disponibili ulteriori esempi e tecniche per la creazione di tracce di immagini.

    Torna all'inizio

    Esempio di espressione: creare un rigonfiamento tra due livelli

    Questo esempio di espressione sincronizza l’argomento Centro Rigonfiamento dell’effetto Rigonfiamento in un livello con la posizione di un altro livello. Ad esempio, potete creare un effetto simile a una lente di ingrandimento spostandovi sopra un livello, con il contenuto sotto la lente di ingrandimento che si gonfia non appena la lente (vale a dire il livello soprastante) si sposta. Questa espressione utilizza il metodo fromWorld, che fa funzionare correttamente l’espressione indipendentemente dal fatto che spostiate il livello lente di ingrandimento o il livello sottostante. Potete ruotare o ridimensionare il livello sottostante, ma l’espressione rimane intatta.

    Con questa espressione potete utilizzare anche altri effetti, ad esempio Increspatura.

    1. Iniziate con due livelli. Definite un livello come lente di ingrandimento o oggetto simile con un foro nel mezzo e denominatelo Lente d’ingrandimento. Consultate Creare i livelli.
    2. Animate la posizione del livello lente di ingrandimento. Consultate Tracciati animati.
    3. Applicate l’effetto Rigonfiamento all’altro livello. Consultate Applicare un effetto o un predefinito di animazione.
    4. Selezionate la proprietà Centro rigonfiamento dell’effetto Rigonfiamento nel pannello Timeline e scegliete Animazione > Aggiungi espressione o tenete premuto Alt (Windows) o Opzione (Mac OS) e fate clic sul pulsante cronometro  della proprietà.
    5. Selezionate il testo predefinito dell’espressione e digitate quanto segue:
        fromWorld(thisComp.layer("Magnifier").position)
    Torna all'inizio

    Esempio di espressione: dissolvere l’opacità di un livello 3D in base alla distanza dalla videocamera

     Applicate la seguente espressione alla proprietà Opacità di un livello 3D:
      startFade = 500; // Start fade 500 pixels from camera. 
      endFade = 1500;  // End fade 1500 pixels from camera. 
      try{ // Check whether there's a camera. 
          C = thisComp.activeCamera.toWorld([0,0,0]); 
      }catch(err){ // No camera, so assume 50mm. 
          w = thisComp.width * thisComp.pixelAspect; 
          z = (w/2)/Math.tan(degreesToRadians(19.799)); 
          C = [0,0,-z]; 
      } 
      P = toWorld(anchorPoint); 
      d = length(C,P); 
      linear(d,startFade,endFade,100,0)

    la dissolvenza inizia a una distanza di 500 pixel dalla videocamera ed è completa a 1500 pixel dalla videocamera. Il metodo di interpolazione lineare è usato per mappare i valori della distanza sui valori dell’opacità.

    Torna all'inizio

    Esempio di espressione: rendere invisibile un livello 3D se rivolto in direzione contraria alla videocamera

     Applicate la seguente espressione alla proprietà Opacità di un livello 3D:
      if (toCompVec([0, 0, 1])[2] > 0 ) value else 0

    Dan Ebberts spiega questa espressione nel suo sito Web Motionscript.

    Torna all'inizio

    Esempio di espressione: capovolgere un livello in orizzontale se rivolto in direzione contraria alla videocamera

     Applicate la seguente espressione alla proprietà Scala di un livello 3D:
      if (toCompVec([0, 0, 1])[2] > 0 ) value else [-value[0], value[1], value[2]]
    Torna all'inizio

    Esempio di espressione: animare la scala su ogni marcatore livello

     Applicate la seguente espressione a una proprietà Scala per far sì che un livello si deformi su ogni marcatore:
      n = 0; 
      t = 0; 
      if (marker.numKeys > 0){ 
          n = marker.nearestKey(time).index; 
          if (marker.key(n).time > time) n--; 
      } 
      if (n > 0) t = time - marker.key(n).time; 
        
      amp = 15; 
      freq = 5; 
      decay = 3.0; 
        
      angle = freq * 2 * Math.PI * t; 
      scaleFact = (100 + amp * Math.sin(angle) / Math.exp(decay * t)) / 100; 
      [value[0] * scaleFact, value[1] / scaleFact];
    Torna all'inizio

    Esempio di espressione: iniziare o interrompere la deformazione in un tempo specifico

    Potete usare qualsiasi espressione al posto dell’espressione wiggle usata qui, per iniziare e terminare l’influenza di qualsiasi espressione in un tempo specifico.

    • Applicate la seguente espressione a una proprietà per deformarla iniziando dal tempo 2 secondi:
        timeToStart = 2; 
        if (time > timeToStart){ 
            wiggle(3,25); 
        }else{ 
            value; 
        }
    • Applicate la seguente espressione a una proprietà per interromperne la deformazione nel tempo 4 secondi:
        timeToStop = 4; 
        if (time > timeToStop){ 
            value; 
        }else{ 
            wiggle(3,25); 
        }
    • Applicate la seguente espressione a una proprietà per iniziare a deformarla nel tempo 2 secondi e interromperne la deformazione nel tempo 4 secondi:
        timeToStart = 2; 
        timeToStop = 4; 
          
        if ((time > timeToStart) && (time < timeToStop)){ 
            wiggle(3,25); 
        }else{ 
            value; 
        }
    Torna all'inizio

    Esempio di espressione: effettuare la corrispondenza del piano focale della videocamera con un altro livello

     Applicate la seguente espressione alla proprietà Distanza focale di un livello della videocamera per far sì che la sua distanza focale corrisponda a quella fino al punto di ancoraggio di un livello chiamato “destinazione”:
      target = thisComp.layer("target"); 
      V1 = target.toWorld(target.anchorPoint) - toWorld([0,0,0]); 
      V2 = toWorldVec([0,0,1]); 
      dot(V1,V2);

    Nel suo sito Web Motionscript, Dan Ebberts spiega nel dettaglio questo esempio di espressione.

    Altri argomenti presenti nell’Aiuto

    Aggiungere, modificare e rimuovere espressioni

    Creare un livello videocamera e modificare le impostazioni della videocamera

    Note legali   |   Informativa sulla privacy online