Adobe

Riferimento per il linguaggio delle espressioni


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

  • Oggetti globali, attributi e metodi (riferimento espressioni).
  • Metodi di conversione del tempo (riferimento espressioni)
  • Metodi matematici vettoriali (riferimento espressioni)
  • Metodi di numeri casuali (riferimento espressioni)
  • Metodi di interpolazione (riferimento espressioni)
  • Metodi di conversione del colore (riferimento espressioni)
  • Altri metodi matematici (riferimento espressioni)
  • Attributi e metodi di composizione (riferimento espressioni)
  • Attributi e metodi del metraggio (riferimento espressioni)
  • Attributi e metodi generali degli oggetti secondari del livello (riferimento espressioni)
  • Attributi e metodi generali del livello (riferimento espressioni)
  • Attributi e metodi delle proprietà del livello (riferimento espressioni).
  • Attributi e metodi 3D del livello (riferimento espressioni)
  • Metodi di trasformazione dello spazio di un livello (riferimento espressioni)
  • Attributi e metodi della videocamera (riferimento espressioni)
  • Attributi e metodi della luce (riferimento espressioni)
  • Attributi e metodi degli effetti (riferimento espressioni)
  • Attributi e metodi delle maschere (riferimento espressioni)
  • Attributi e metodi delle proprietà (riferimento espressioni)
  • Attributi e metodi dei fotogrammi chiave (riferimento espressioni)
  • Attributi MarkerKey (riferimento espressioni)

Per scrivere le espressioni usate gli elementi espressione di After Effects con gli elementi JavaScript standard. Potete utilizzare il menu Lingua espressione in qualsiasi momento per inserire metodi e attributi in un’espressione e potete utilizzare il selettore in qualsiasi momento per inserire proprietà.

Se un argomento contiene un segno uguale (=) e un valore (ad esempio t=time o width=.2), se non viene specificato un valore diverso, l’argomento utilizzerà quello predefinito incluso.

Alcune descrizioni degli argomenti includono un numero tra parentesi quadre. Questo numero indica le dimensioni della proprietà o della Matrice prevista.

Alcune descrizioni dei valori restituiti includono un numero tra parentesi quadre. Questo numero indica le dimensioni della proprietà prevista o della Matrice. Se non è inclusa alcuna dimensione specifica, le dimensioni della Matrice restituita dipendono dalle dimensioni dell’input.

Il sito Web di riferimento W3Schools JavaScript fornisce informazioni per il linguaggio JavaScript standard, comprese le pagine per gli oggetti JavaScript Math e String.

    Torna all'inizio

    Oggetti globali, attributi e metodi (riferimento espressioni).

    comp(name)
    Tipo di valore restituito: Comp.

    Tipo di argomento: name è una Stringa.

    Recupera un’altra composizione in base al nome.

    footage(name)
    Tipo di valore restituito: Metraggio.

    Tipo di argomento: name è una Stringa.

    Recupera un elemento del metraggio in base al nome.

    thisComp
    Tipo di valore restituito: Comp.

    Rappresenta la composizione contenente l’espressione.

    thisLayer
    Tipo di valore restituito: Livello, Luce o Videocamera.

    Rappresenta il livello contenente l’espressione. Poiché thisLayer è un oggetto predefinito, il suo impiego è opzionale. Ad esempio, potete iniziare un’espressione con thisLayer.width o width e ottenere lo stesso risultato.

    thisProperty
    Tipo di valore restituito: Proprietà.

    Rappresenta la proprietà contenente l’espressione. Ad esempio, scrivendo un’espressione sulla proprietà Rotazione, potete iniziare un’espressione con thisProperty per fare riferimento alla proprietà Rotazione.

    time
    Tipo di valore restituito: Numero.

    Rappresenta il tempo della composizione, in secondi, in coincidenza del quale avviene la valutazione dell’espressione.

    colorDepth
    Tipo di valore restituito: Numero.

    Restituisce il valore della profondità colore del progetto. Ad esempio, colorDepth restituisce 16 se la profondità colore del progetto è di 16 bit per canale.

    posterizeTime(framesPerSecond)
    Tipo di valore restituito: Numero.

    Tipo di argomento: framesPerSecond è un numero.

    Il valore framesPerSecond diventa la frequenza fotogrammi dalla quale eseguire il resto dell’espressione. Questa espressione consente di impostare la frequenza fotogrammi per una proprietà in modo che sia inferiore alla frequenza fotogrammi della composizione. Ad esempio, la seguente espressione aggiorna il valore della proprietà con un valore casuale una volta al secondo:

      posterizeTime(1); 
      random()

    value
    Tipo di valore restituito: Numero, Matrice o Stringa.

    Rappresenta il valore al tempo corrente della proprietà contenente l’espressione.

    Torna all'inizio

    Metodi di conversione del tempo (riferimento espressioni)

    timeToFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)
    Tipo di valore restituito: Numero.

    Tipo di argomento: t e fps sono numeri; isDuration è booleano.

    Converte il valore di t, il cui valore predefinito è impostato sul tempo di composizione corrente, in un numero intero di fotogrammi. Il numero di fotogrammi al secondo è specificato nell’argomento fps il cui valore predefinito è impostato sulla frequenza fotogrammi della composizione corrente (thisComp.frameDuration). L’argomento isDuration, preimpostato su falso, deve essere vero se il valore t rappresenta una differenza tra due tempi invece di un tempo assoluto. I tempi assoluti sono arrotondati verso l’infinito negativo; le durate sono arrotondate lontano dallo zero (in alto verso i valori positivi).

    framesToTime(frames, fps = 1.0 / thisComp.frameDuration)
    Tipo di valore restituito: Numero.

    Tipo di argomento: frames efps sono numeri.

    L’inverso di timeToFrames. Restituisce il tempo corrispondente all’argomento frames richiesto. Non deve essere necessariamente un numero intero. Consultate timeToFrames per indicazioni sull’argomento fps.

    timeToTimecode(t = time + thisComp.displayStartTime, timecodeBase = 30, isDuration = false)
    Tipo di valore restituito: Stringa.

    Tipo di argomento: t e timecodeBase sono numeri, isDuration è booleano.

    Converte il valore di t in una stringa che rappresenti il codice di tempo. Consultate timeToFrames per indicazioni sugli argomenti t e isDuration. Il valore timecodeBase, che per impostazione predefinita è pari a 30, specifica il numero di fotogrammi al secondo.

    timeToNTSCTimecode(t = time + thisComp.displayStartTime, ntscDropFrame = false, isDuration = false)
    Tipo di valore restituito: Stringa.

    Tipo di argomento: t è un numero, ntscDropFrame eisDuration sono booleani.

    Converte t in una stringa rappresentante il codice di tempo NTSC. Consultate timeToFrames per indicazioni sugli argomenti t e isDuration. Se ntscDropFrame è falso (impostazione predefinita), la stringa risultante è il codice di tempo NTSC senza drop-frame. Se ntscDropFrame è vero, la stringa risultante è il codice di tempo NTSC con drop-frame.

    timeToFeetAndFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, framesPerFoot = 16, isDuration = false)
    Tipo di valore restituito: Stringa.

    Tipo di argomento: t, fps eframesPerFoot sono numeriisDuration è booleano.

    Converte il valore di t in una stringa che rappresenta i piedi della pellicola e i fotogrammi. Consultate timeToFrames per indicazioni sugli argomenti t, fps e isDuration. L’argomento framesPerFoot specifica il numero di fotogrammi in un piede di pellicola. Il suo valore predefinito è 16, la più comune frequenza fotogrammi per il metraggio 35 mm.

    timeToCurrentFormat(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)
    Tipo di valore restituito: Stringa.

    Tipo di argomento: t e fps sono numeri; isDuration è booleano.

    Converte il valore di t in una stringa rappresentante il tempo nel formato di visualizzazione corrente delle Impostazioni del progetto. Per una definizione di tutti gli argomenti, consultate timeToFrames.

    In After Effects CS5.5 e versioni successive l’argomento opzionale ntscDropFrame è stato aggiunto alla funzione timeToCurrentFormat(). Impostazione predefinita: ntscDropFrame = thisComp.ntscDropFrame.

    Per un maggiore controllo dell’aspetto del codice di tempo nel metraggio, utilizzate l’espressione timeToCurrentFormat per generare il codice di tempo invece di usare l’effetto Codice di tempo o Numeri. Create un livello di testo, aggiungete un’espressione alla proprietà Testo sorgente e inserite timeToCurrentFormat() nel campo dell’espressione. Con questo metodo potete formattare e animare il testo del codice di tempo. Inoltre il codice di tempo utilizza lo stesso stile di visualizzazione definito dalle impostazioni correnti del progetto.

    Torna all'inizio

    Metodi matematici vettoriali (riferimento espressioni)

    Le funzioni matematiche vettoriali sono metodi globali per eseguire operazioni sulle matrici, considerandole come vettori matematici. A differenza dei metodi JavaScript incorporati, come Math.sin, questi metodi non sono utilizzati con il prefisso Math. A meno che non sia diversamente specificato, i metodi matematici vettoriali sono “indulgenti” per quanto riguarda le dimensioni e restituiscono un valore pari alla dimensione dell’oggetto Matrice di input più grande, aggiungendo degli zeri per gli elementi mancanti. Ad esempio, l’espressione add([10, 20], [1, 2, 3]) restituisce [11, 22, 3].

    Nel sito Web di JJ Gifford potete trovare spiegazioni ed esempi che mostrano come utilizzare elementi di geometria e trigonometria con le espressioni.

    Nel sito Web ProVideo Coalition è disponibile un articolo di Chris e Trish Meyer con informazioni aggiuntive su matrici e metodi matematici vettoriali.

    add(vec1, vec2)
    Tipo di valore restituito: Matrice.

    Tipo di argomento: vec1 e vec2 sono matrici.

    Aggiunge due vettori.

    sub(vec1, vec2)
    Tipo di valore restituito: Matrice.

    Tipo di argomento: vec1 e vec2 sono matrici.

    Sottrae due vettori.

    mul(vec, amount)
    Tipo di valore restituito: Matrice.

    Tipo di argomento: vec è una matrice, amount è un numero.

    Moltiplica ogni elemento del vettore per il valore numerico.

    div(vec, amount)
    Tipo di valore restituito: Matrice.

    Tipo di argomento: vec è una matrice, amount è un numero.

    Divide ogni elemento del vettore per il valore numerico.

    clamp(value, limit1, limit2)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: value, limit1 elimit2 sono numeri o matrici.

    Il valore di ogni componente di value è vincolato a essere compreso tra i valori dei valori corrispondenti di limit1 e limit2.

    Nel sito Web ProVideo Coalition è disponibile un articolo di Chris e Trish Meyer con informazioni aggiuntive sul metodo clamp.

    dot(vec1, vec2)
    Tipo di valore restituito: Numero.

    Tipo di argomento: vec1 e vec2 sono matrici.

    Restituisce il prodotto (interno) dot degli argomenti vettore.

    cross(vec1, vec2)
    Tipo di valore restituito: Matrice [2 o 3].

    Tipo di argomento: vec1 e vec2 sono matrici [2 o 3].

    Restituisce il prodotto incrociato vettoriale di vec1 e vec2. Per ulteriori informazioni consultate un riferimento matematico o la guida JavaScript.

    normalize(vec)
    Tipo di valore restituito: Matrice.

    Tipo di argomento: vec è una matrice.

    Normalizza il vettore in modo tale che la sua lunghezza sia 1.0. L’uso del metodo normalize è una scorciatoia per l’esecuzione dell’operazione div(vec, length(vec)).

    length(vec)
    Tipo di valore restituito: Numero.

    Tipo di argomento: vec è una matrice.

    Restituisce la lunghezza del vettore vec.

    length(point1, point2)
    Tipo di valore restituito: Numero.

    Tipo di argomento: point1 e point2 sono matrici.

    Restituisce la distanza tra due punti. L’argomento point2 è opzionale. Ad esempio, length(point1, point2) corrisponde a length(sub(point1, point2)).

    Ad esempio, aggiungete questa espressione alla proprietà Distanza focale di una videocamera per bloccare il piano focale sul punto di interesse della videocamera in modo tale che il punto di interesse sia a fuoco:

      length(position, pointOfInterest)

    lookAt(fromPoint, atPoint)
    Tipo di valore restituito: Matrice [3].

    Tipo di argomento: fromPoint e atPoint sono matrici [3].

    L’argomento fromPoint è il punto nello spazio mondo del livello che desiderate orientare. L’argomento atPoint è il punto nello spazio mondo del livello che desiderate indicare. Il valore restituito può essere utilizzato come espressione per la proprietà Orientamento, facendo puntare l’asse z del livello verso atPoint. Questo metodo è particolarmente utile per videocamere e luci. Utilizzando questa espressione su una videocamera, disattivate l’orientamento automatico. Ad esempio, questa espressione sulla proprietà Orientamento di un faretto crea il punto luminoso nel punto di ancoraggio del livello numero 1 nella stessa composizione: lookAt(position, thisComp.layer(1).position)

    Torna all'inizio

    Metodi di numeri casuali (riferimento espressioni)

    Nota: Il metodo deformazione—utilizzato per variare a caso un valore di proprietà—si trova nella categoria di attributi e metodi Proprietà. Consultate Attributi e metodi delle proprietà (riferimento espressioni).
    seedRandom(offset, timeless=false)
    Tipo di valore restituito: nessuno.

    Tipo di argomento: offset è un Numero, timeless è un valore booleano.

    I metodi random e gaussRandom utilizzano un valore che controlla la sequenza dei numeri. Per impostazione predefinita, il valore viene calcolato come una funzione di un identificatore di livello univoco, la proprietà all’interno del livello, il tempo corrente e un valore di scostamento pari a 0. Chiamate seedRandom per impostare lo scostamento su un valore diverso da 0 e creare una diversa sequenza casuale.

    Usate true per l’argomento timeless per non usare il tempo corrente come dati per il valore seed casuale. Usando true per l’argomento timeless è possibile generare un numero casuale che non varia a seconda del tempo di valutazione.

    Il valore di offset, ma non il valore di timeless, è utilizzato anche per controllare il valore iniziale della funzione wiggle.

    Ad esempio, questa espressione sulla proprietà Opacità imposta il valore Opacità su un valore casuale che non varia nel tempo:

      seedRandom(123456, true); 
      random()*100

    La moltiplicazione per 100, in questo esempio, converte il valore compreso nell’intervallo 0–1 restituito dal metodo casuale in un numero compreso tra 0–100. Questo intervallo di solito è più utile per la proprietà Opacità, la quale ha dei valori che vanno da 0% a 100%.

    random()
    Tipo di valore restituito: Numero.

    Restituisce un numero casuale compreso nell’intervallo 0–1.

    In After Effects CS6, il comportamento della funzione random() viene modificato in modo da essere più casuale quando gli ID dei livelli sono ravvicinati. L’espressione wiggle() non subisce modifiche.

    random(maxValOrArray)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: maxValOrArray è un numero o una matrice.

    Se maxValOrArray è un numero, questo metodo restituisce un numero nell’intervallo da 0 a maxValOrArray. Se maxValOrArray è una matrice, questo metodo restituisce una matrice con le stesse dimensioni di maxValOrArray, con ogni componente compreso tra 0 e il componente corrispondente di maxValOrArray.

    random(minValOrArray, maxValOrArray)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: minValOrArray e maxValOrArray sono numeri o matrici.

    Se minValOrArray e maxValOrArray sono numeri, questo metodo restituisce un numero compreso nell’intervallo da minValOrArray a maxValOrArray. Se gli argomenti sono matrici, questo metodo restituisce una matrice con la stessa dimensione dell’argomento con la dimensione più grande, con ciascun componente nell’interno dal componente corrispondente di minValOrArray al componente corrispondente di maxValOrArray. Ad esempio, l’espressione random([100, 200], [300, 400]) restituisce una matrice il cui primo valore è compreso nell’intervallo 100–300 e il cui secondo valore è compreso nell’intervallo 200–400. Se le dimensioni delle due matrici di input non corrispondono, i valori di dimensioni più elevate della matrice più corta sono ampliati con degli zeri.

    gaussRandom()
    Tipo di valore restituito: Numero.

    Restituisce un numero casuale. I risultati hanno una distribuzione di forma gaussiana (a campana). Circa il 90% dei risultati è compreso nell’intervallo 0–1 e il rimanente 10% non rientra in questo intervallo.

    gaussRandom(maxValOrArray)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: maxValOrArray è un numero o una matrice.

    Se maxValOrArray è un numero, questo metodo restituisce un numero casuale. Circa il 90% dei risultati è compreso nell’intervallo da 0 a maxValOrArray e il rimanente 10% non rientra in questo intervallo. Se maxValOrArray è una matrice, questo metodo restituisce una matrice di valori casuali, con le stesse dimensioni di maxValOrArray. Il 90% dei valori è compreso nell’intervallo da 0 a maxValOrArray e il rimanente 10% non rientra in questo intervallo. I risultati hanno una distribuzione di forma gaussiana (a campana).

    gaussRandom(minValOrArray, maxValOrArray)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: minValOrArray e maxValOrArray sono numeri o matrici.

    Se minValOrArray e maxValOrArray sono numeri, questo metodo restituisce un numero casuale. Il 90% circa dei valori è compreso nell’intervallo da minValOrArray a maxValOrArray e il rimanente 10% non rientra in questo intervallo. Se gli argomenti sono Matrici, questo metodo restituisce una matrice di numeri casuali con le stesse dimensioni dell’argomento con le dimensioni maggiori. Per ciascun componente, il 90% circa dei risultati è compreso nell’intervallo dalla componente corrispondente di minValOrArray al componente corrispondente di maxValOrArray e il rimanente 10% non rientra in questo intervallo. I risultati hanno una distribuzione di forma gaussiana (a campana).

    noise(valOrArray)
    Tipo di valore restituito: Numero.

    Tipo di argomento: valOrArray è un Numero o una Matrice [2 o 3].

    Restituisce un numero nell’intervallo da –1 a 1. Il disturbo non è di fatto casuale, ma è basato su un disturbo Perlin, il che significa che anche i valori restituiti per due valori di input che sono vicini l’uno all’altro tenderanno a essere vicini l’uno all’altro. Questo tipo di disturbo è utile quando desiderate una sequenza di numeri apparentemente casuali che non variano enormemente l’uno dall’altro, come accade di solito quando si anima un qualsiasi tipo di movimento naturale apparentemente casuale. Esempio: rotation + 360*noise(time)

    Torna all'inizio

    Metodi di interpolazione (riferimento espressioni)

    Per tutti i metodi di interpolazione, l’argomento t è spesso time o value, sebbene possa avere anche altri valori. Se t è time, l’interpolazione tra i valori ha luogo su una durata. Se t è value, l’espressione mappa un intervallo di valori su un nuovo intervallo di valori.

    Per ulteriori spiegazioni ed esempi sui metodi di interpolazione, consultate il sito Web di JJ Gifford.

    Nel sito Web ProVideo Coalition è disponibile un articolo di Chris e Trish Meyer con informazioni aggiuntive ed esempi per tali metodi.

    Ian Haigh mette a disposizione uno script nel sito Web di After Effects utilizzabile per applicare alle proprietà le espressioni avanzate del metodo di interpolazione, come i rimbalzi.

    Sul sito Web di Creative COW sono disponibili due esercitazioni video di Andrew Devis che mostrano nel dettaglio come utilizzare il metodo di espressione linear con il comando Converti audio in fotogrammi chiave.

    linear(t, tMin, tMax, value1, value2)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: t, tMin e tMax sono numeri e value1 evalue2 sono numeri o matrici.

    Restituisce value1 quando t <= tMin. Restituisce value2 quando t >= tMax. Restituisce una interpolazione lineare tra value1 e value2 quando tMin < t < tMax.

    Ad esempio, questa espressione sulla proprietà Opacità fa sì che i valori Opacità sfumino in modo lineare dal 20% all’80% nel tempo da 0 a 6 secondi:

      linear(time, 0, 6, 20, 80)

    Questo metodo, come tutti quelli di interpolazione, può essere usato anche per la conversione da un intervallo di valori in un altro. Ad esempio, questa espressione sulla proprietà Opacità converte i valori Opacità dall’intervallo 0%-100% nell’intervallo 20%-80%:

      linear(value, 0, 100, 20, 80)

    linear(t, value1, value2)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: t è un numero e value1 e value2 sono numeri o matrici.

    Restituisce un valore che esegue l’interpolazione lineare davalue1 a value2 quando t varia da 0 a 1. Restituisce value1 se t <= 0. Restituisce value2 se t >= 1.

    ease(t, value1, value2)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: t è un numero e value1 e value2 sono numeri o matrici.

    Simile a linear, con gli stessi argomenti, a eccezione del fatto che l’interpolazione esegue la regolazione automatica dell’attacco e dello stacco in modo tale che la velocità sia 0 nel punto iniziale e nel punto finale. Questo metodo produce un’animazione molto fluida.

    ease(t, tMin, tMax, value1, value2)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: t, tMin e tMax sono numeri e value1 evalue2 sono numeri o matrici.

    Simile a linear, con gli stessi argomenti, a eccezione del fatto che l’interpolazione esegue la regolazione automatica dell’attacco e dello stacco in modo tale che la velocità sia 0 nel punto iniziale e nel punto finale. Questo metodo produce un’animazione molto fluida.

    easeIn(t, value1, value2)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: t è un numero e value1 e value2 sono numeri o matrici.

    Simile a ease, a eccezione del fatto che la tangente è 0 solo sul latovalue1 e l’interpolazione è lineare sul latovalue2.

    easeIn(t, tMin, tMax, value1, value2)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: t, tMin e tMax sono numeri e value1 evalue2 sono numeri o matrici.

    Simile a ease, a eccezione del fatto che la tangente è 0 solo sul lato tMin e l’interpolazione è lineare sul lato tMax.

    easeOut(t, value1, value2)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: t è un numero e value1 e value2 sono numeri o matrici.

    Simile a ease, a eccezione del fatto che la tangente è 0 solo sul lato value2 e l’interpolazione è lineare sul lato value1.

    easeOut(t, tMin, tMax, value1, value2)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: t, tMin e tMax sono numeri e value1 evalue2 sono numeri o matrici.

    Simile a ease, a eccezione del fatto che la tangente è 0 solo sul lato tMax e l’interpolazione è lineare sul lato tMin.

    Torna all'inizio

    Metodi di conversione del colore (riferimento espressioni)

    Harry Frank mette a disposizione un’esercitazione video nel suo sito Web graymachine la quale mostra come utilizzare questi metodi di conversione del colore per modificare il colore delle onde generate dall’effetto Onde radio.

    rgbToHsl(rgbaArray)
    Tipo di valore restituito: Matrice [4].

    Tipo di argomento: rgbaArray è una matrice [4].

    Converte un colore dello spazio cromatico RGBA nello spazio cromatico HSLA. L’input è una matrice di valori normalizzati dei canali rosso, verde, blu e alfa, tutti compresi tra 0.0 e 1.0. Il valore risultante è una matrice di valori dei canali di tonalità, saturazione, luminosità e alfa, tutti compresi tra 0.0 e 1.0. Esempio:

      rgbToHsl.effect("Change Color")("Color To Change")

    hslToRgb(hslaArray)
    Tipo di valore restituito: Matrice [4].

    Tipo di argomento: hslaArray è una matrice [4].

    Converte un colore dello spazio cromatico HSLA nello spazio cromatico RGBA. Questa conversione è l’opposto della conversione eseguita dal metodo rgbToHsl.

    Torna all'inizio

    Altri metodi matematici (riferimento espressioni)

    Nel sito Web ProVideo Coalition è disponibile un articolo di Chris e Trish Meyer con informazioni aggiuntive su questi metodi.

    degreesToRadians(degrees)
    Tipo di valore restituito: Numero.

    Tipo di argomento: degrees è un Numero.

    Converte i gradi in radianti.

    radiansToDegrees(radians)
    Tipo di valore restituito: Numero.

    Tipo di argomento: radians è un Numero.

    Converte i radianti in gradi.

    Torna all'inizio

    Attributi e metodi di composizione (riferimento espressioni)

    layer(index)
    Tipo di valore restituito: Livello, Luce o Videocamera.

    Tipo di argomento: index è un Numero.

    Recupera il livello in base al numero (ordine numerico nel pannello Timeline). Esempio: thisComp.layer(3)

    layer(name)
    Tipo di valore restituito: Livello, Luce o Videocamera.

    Tipo di argomento: name è una Stringa.

    Recupera il livello per nome. I nomi vengono abbinati in base al nome livello o, in sua assenza, in base al nome sorgente. Se esistono nomi duplicati, After Effects utilizza il primo dall’alto nel pannello Timeline. Esempio:

      thisComp.layer("Solid 1")

    layer(otherLayer, relIndex)
    Tipo di valore restituito: Livello, Luce o Videocamera.

    Tipo di argomento: otherLayer è un oggetto Livello erelIndex è un numero.

    Recupera il livello che si trova relIndex livelli sopra o sottootherLayer. Ad esempio, thisComp.layer(thisLayer, 1).active restituisce vero se il livello successivo verso il basso nel pannello Timeline è attivo.

    marker
    Tipo di valore restituito: MarkerProperty.
    Importante: non potete accedere a un marcatore composizione in base al numero di marcatore. Se disponete di un progetto creato con una versione precedente di After Effects che utilizza numeri di marcatori composizione nelle espressioni, dovrete modificare le chiamate perché utilizzino invece marker.key(name). Poiché il nome predefinito di un marcatore composizione è un numero, convertendo il riferimento per usare il nome spesso è sufficiente racchiudere il numero tra virgolette.

    marker.key(index)
    Tipo di valore restituito: MarkerKey.

    Tipo di argomento: index è un Numero.

    Restituisce l’oggetto MarkerKey del marcatore con l’indice specificato. L’indice fa riferimento all’ordine del marcatore nel tempo di composizione, non al nome del marcatore. Ad esempio questa espressione restituisce il tempo del primo marcatore composizione:

      thisComp.marker.key(1).time

    marker.key(name)
    Tipo di valore restituito: MarkerKey.

    Tipo di argomento: name è una Stringa.

    Restituisce l’oggetto MarkerKey del marcatore con il nome specificato. Il valore name è il nome del marcatore, come digitato nel campo Commento nella finestra di dialogo Marcatore, ad esempio, marker.key("ch1("1"). Per un marcatore composizione il nome predefinito è un numero. Se più di un marcatore nella composizione ha lo stesso nome, questo metodo restituisce il marcatore che è posizionato prima nel tempo (nel tempo di composizione). Il valore per un marcatore è una stringa, non un numero. Ad esempio, questa espressione restituisce il tempo del marcatore composizione con il nome “0”.

      thisComp.marker.key("0").time

    marker.nearestKey(t)
    Tipo di valore restituito: MarkerKey.

    Tipo di argomento: t è un numero.

    Restituisce il marcatore più vicino nel tempo a t. Ad esempio, questa espressione restituisce il tempo del marcatore composizione più vicino a 1 secondo:

      thisComp.marker.nearestKey(1).time

    Questa espressione restituisce il tempo del marcatore composizione più vicino al tempo corrente:

      thisComp.marker.nearestKey(time).time

    marker.numKeys
    Tipo di valore restituito: Numero.

    Restituisce il numero totale di marcatori composizione nella composizione.

    numLayers
    Tipo di valore restituito: Numero.

    Restituisce il numero di livelli nella composizione.

    activeCamera
    Tipo di valore restituito: Videocameraa.

    Restituisce l’oggetto Videocameraa per la videocamera mediante la quale viene eseguito il rendering nel fotogramma corrente. Non si tratta necessariamente della videocamera attraverso la quale state guardando il pannello Composizione.

    width
    Tipo di valore restituito: Numero.

    Restituisce la larghezza della composizione in pixel.

    Applicate la seguente espressione alla proprietà Posizione di un livello per centrare il livello nel fotogramma della composizione:

      [thisComp.width/2, thisComp.height/2]

    height
    Tipo di valore restituito: Numero.

    Restituisce l’altezza della composizione in pixel.

    duration
    Tipo di valore restituito: Numero.

    Restituisce la durata della composizione in secondi.

    ntscDropFrame
    Tipo di valore restituito: Booleano.

    Restituisce vero se il codice di tempo è in formato drop-frame (After Effects CS5.5 e versioni successive).

    displayStartTime
    Tipo di valore restituito: Numero.

    Restituisce il tempo di inizio della composizione in secondi.

    frameDuration
    Tipo di valore restituito: Numero.

    Restituisce la durata di un fotogramma in secondi.

    shutterAngle
    Tipo di valore restituito: Numero.

    Restituisce il valore dell’angolo otturatore della composizione in gradi.

    shutterPhase
    Tipo di valore restituito: Numero.

    Restituisce il valore della fase otturatore della composizione in gradi.

    bgColor
    Tipo di valore restituito: Matrice [4].

    Restituisce il colore di sfondo della composizione.

    pixelAspect
    Tipo di valore restituito: Numero.

    Restituisce le proporzioni pixel della composizione.

    name
    Tipo di valore restituito: Stringa.

    Specifica il nome della composizione.

    Torna all'inizio

    Attributi e metodi del metraggio (riferimento espressioni)

    Per utilizzare un elemento di metraggio dal pannello Progetto come oggetto in un’espressione, utilizzate il metodo footage globale, come in footage("file_name"). Potete inoltre accedere all’oggetto metraggio utilizzando l’attributo source su un livello la cui sorgente è un elemento del metraggio.

    width
    Tipo di valore restituito: Numero.

    Restituisce l’ampiezza dell’elemento di metraggio in pixel.

    height
    Tipo di valore restituito: Numero.

    Restituisce l’altezza dell’elemento di metraggio in pixel.

    duration
    Tipo di valore restituito: Numero.

    Restituisce la durata dell’elemento di metraggio in secondi.

    frameDuration
    Tipo di valore restituito: Numero.

    Restituisce la durata di un fotogramma nell’elemento di metraggio in secondi.

    ntscDropFrame
    Tipo di valore restituito: Booleano.

    Restituisce vero se il codice di tempo è in formato drop-frame (After Effects CS5.5 e versioni successive).

    pixelAspect
    Tipo di valore restituito: Numero.

    Restituisce le proporzioni pixel dell’elemento di metraggio.

    name
    Tipo di valore restituito: Stringa.

    Restituisce il nome dell’elemento del metraggio come indicato nel pannello Progetto.

    Torna all'inizio

    Attributi e metodi generali degli oggetti secondari del livello (riferimento espressioni)

    Nota: Per After Effects CS6, il menu Lingua espressione, le voci “Oggetti secondari del livello”, “Generali dei livelli”, “Proprietà dei livelli”, “Livello 3D” e “Trasformazione dello spazio di un livello” sono state organizzate in un sottomenu “Livello”.
    source
    Tipo di valore restituito: Comp o Metraggio.

    Restituisce l’oggetto Composizione sorgente o Metraggio sorgente per il livello. L’impostazione predefinita del tempo è regolata in base al tempo nella sorgente. Esempio: source.layer(1).position

    sourceTime(t = time)
    Tipo di valore restituito: Numero.

    Restituisce la sorgente del livello corrispondente al tempo t (After Effects CS5.5 e versioni successive).

    effect(name)
    Tipo di valore restituito: Effetto.

    Tipo di argomento: name è una Stringa.

    After Effects trova l’effetto in base al nome nel pannello Controlli Effetti. Il nome può essere il nome predefinito o un nome definito dall’utente. Se più effetti hanno lo stesso nome, viene usato l’effetto più vicino alla parte superiore del pannello Controlli effetto. Esempio:

      effect("Fast Blur")("Blurriness")

    effect(index)
    Tipo di valore restituito: Effetto.

    Tipo di argomento: index è un Numero.

    After Effects trova l’effetto in base all’indice nel pannello Controlli effetti, partendo da 1 ed eseguendo il conto dall’alto.

    mask(name)
    Tipo di valore restituito: Maschera.

    Tipo di argomento: name è una Stringa.

    Il nome può essere il nome predefinito o un nome definito dall’utente. Se più maschere hanno lo stesso nome, viene usata la prima maschera (quella in cima all’elenco). Esempio:

      mask("Mask 1")

    mask(index)
    Tipo di valore restituito: Maschera.

    Tipo di argomento: index è un Numero.

    After Effects trova la maschera in base all’indice nel pannello Timeline, partendo da 1 ed eseguendo il conto alla rovescia dall’alto.

    Torna all'inizio

    Attributi e metodi generali del livello (riferimento espressioni)

    width
    Tipo di valore restituito: Numero.

    Restituisce la larghezza del livello in pixel. È uguale a source.width.

    height
    Tipo di valore restituito: Numero.

    Restituisce l’altezza del livello in pixel. È uguale a source.height.

    index
    Tipo di valore restituito: Numero.

    Restituisce il numero di indice del livello nella composizione.

    parent
    Tipo di valore restituito: Livello, Luce o Videocamera.

    Restituisce l’oggetto Livello superiore del livello, se esiste. Esempio: position[0] + parent.width

    hasParent
    Tipo di valore restituito: Booleano.

    Restituisce vero se il livello ha un elemento superiore o falso in caso contrario.

    Utilizzate l’attributo hasParent per stabilire se un livello ha un elemento superiore. Potete utilizzare questo attributo anche se il livello non ha un livello superiore. Ad esempio, la seguente espressione indica che il livello al quale applicate l’elemento superiore si deforma in base alla posizione dell’elemento superiore. Se il livello non ha elementi superiori, si deforma rispetto alla propria posizione. Se al livello viene successivamente assegnato un livello superiore, il comportamento del livello cambia di conseguenza:

      idx = index; 
      if (hasParent) { 
        idx = parent.index; 
      } 
      thisComp.layer(idx).position.wiggle(5,20)

    inPoint
    Tipo di valore restituito: Numero.

    Restituisce il punto di attacco del livello in secondi.

    Nota: in generale, il valore di outPoint è maggiore del valore di inPoint. Tuttavia, se l’ordine di un livello nel tempo viene invertito, il valore di in Point è maggiore del valore di outPoint. Allo stesso modo, il valore di startTime può essere maggiore del valore di inPoint.

    outPoint
    Tipo di valore restituito: Numero.

    Restituisce il punto di stacco del livello in secondi.

    startTime
    Tipo di valore restituito: Numero.

    Restituisce il momento iniziale del livello in secondi.

    hasVideo
    Tipo di valore restituito: Booleano.

    Restituisce vero se il livello ha un video o falso in caso contrario.

    hasAudio
    Tipo di valore restituito: Booleano.

    Restituisce vero se il livello ha l’audio o falso in caso contrario.

    active
    Tipo di valore restituito: Booleano.

    Restituisce vero se lo switch Video  è attivato per il livello e se il tempo corrente è compreso nell’intervallo dal punto di attacco del livello al punto di scatto del livello, altrimenti restituisce falso.

    enabled
    Tipo di valore restituito: Booleano.

    Restituisce vero se lo switch Video  è attivato per il livello; in caso contrario restituisce falso.

    audioActive
    Tipo di valore restituito: Booleano.

    Restituisce vero se lo switch Audio  è attivato per il livello e se il tempo corrente è compreso nell’intervallo dal punto di attacco del livello al punto di scatto del livello, altrimenti restituisce falso.

    sampleImage(point, radius = [.5, .5], postEffect=true, t=time)
    Tipo di valore restituito: Matrice [4].

    Tipo di argomento: point è una Matrice [2], radius è una Matrice [2], postEffect è un Booleano e t è un Numero.

    Campiona i valori dei colori e del canale alfa di un livello e restituisce il valore alfa medio ponderato dei pixel entro la distanza specificata del punto come matrice: [red, green, blue, alpha]. Se postEffect è vero, i valori campionati sono relativi al livello dopo che maschere ed effetti del livello stesso sono stati sottoposti a rendering; se postEffect è falso, i valori campionati sono relativi al livello prima che maschere ed effetti siano stati sottoposti a rendering. Il valore di input point è nello spazio livello; il punto [0,0] è il centro del pixel in alto a sinistra del livello. Il valore di input radius specifica la distanza verticale e orizzontale dal centro del campione ai bordi del rettangolo campionato. Il valore predefinito campiona un solo pixel.
    Nota: il parametro postEffect si riferisce agli effetti applicati direttamente al livello, non agli effetti applicati indirettamente, come nel caso di un livello di regolazione.

    In questo esempio viene campionato un rettangolo di 4 pixel di larghezza e 3 pixel di altezza, centrato intorno a un punto 100 pixel in basso e a destra dell’angolo superiore sinistro del livello.

      thisComp.layer(1).sampleImage([100, 100], [2, 1.5])

    Dan Ebberts mette a disposizione un esempio di come utilizzare il metodo sampleImage nel suo sito Web MotionScript.

    Nel forum AE Enhancers potete trovare un’espressione che utilizza il metodo sampleImage per misurare un livello testo o un livello forma e determinarne il rettangolo di selezione effettivo.

    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

    Attributi e metodi delle proprietà del livello (riferimento espressioni).

    Aggiungendo maschere, effetti, pennello o testo a un livello, After Effects aggiunge nuove proprietà al pannello Timeline. Il numero delle proprietà è troppo elevato perché possano essere elencate, usate quindi il selettore per imparare la sintassi necessaria per fare riferimento a esse nelle vostre espressioni.

    anchorPoint
    Tipo di valore restituito: Proprietà [2 o 3].

    Restituisce il valore del punto di ancoraggio del livello nel sistema di coordinate del livello (spazio livello).

    position
    Tipo di valore restituito: Proprietà [2 o 3].

    Restituisce il valore della posizione del livello, nello spazio mondo, se il livello non ha un elemento superiore. Se il livello ha un elemento superiore, restituisce il valore della posizione del livello nel sistema di coordinate del livello superiore (nello spazio livello del livello superiore).

    scale
    Tipo di valore restituito: Proprietà [2 o 3].

    Restituisce il valore della scala del livello, espressa in percentuale.

    rotation
    Tipo di valore restituito: Proprietà.

    Restituisce il valore della rotazione del livello in gradi. Per un livello 3D, restituisce il valore di rotazione z in gradi.

    opacity
    Tipo di valore restituito: Proprietà.

    Restituisce il valore dell’opacità per il livello, espressa in percentuale.

    audioLevels
    Tipo di valore restituito: Proprietà [2].

    Restituisce il valore della proprietà Livello audio del livello, in decibel. Si tratta di un valore 2D; il primo valore rappresenta il canale audio a sinistra e il secondo valore il canale audio a destra. Il valore non è l’ampiezza della traccia audio del materiale sorgente. Al contrario, si tratta del valore della proprietà Livelli audio, che potrebbe venire interessato dai fotogrammi chiave.

    timeRemap
    Tipo di valore restituito: Proprietà.

    Restituisce il valore della proprietà Modifica tempo in secondi, se tale funzione è attivata.

    marker.key(index)
    Tipo di valore restituito: MarkerKey.

    Tipo di argomento: index è un Numero.

    Restituisce l’oggetto MarkerKey del marcatore livello con l’indice specificato.

    marker.key(name)
    Tipo di valore restituito: MarkerKey.

    Tipo di argomento: name è una Stringa.

    Restituisce l’oggetto MarkerKey del marcatore livello con il nome specificato. Il valore name è il nome del marcatore, come digitato nel campo Commento nella finestra di dialogo Marcatore, ad esempio, marker.key("ch1"). Se nel livello esistono più marcatori con lo stesso nome, questo metodo restituisce il marcatore posizionato prima nel tempo (nel tempo livello). Il valore per un marcatore è una stringa, non un numero.

    Questa espressione su una proprietà sfuma il valore della proprietà da 0 a 100 tra due marcatori identificati dal nome:

      m1 = marker.key("Start").time; 
      m2 = marker.key("End").time;  
      linear(time, m1, m2, 0, 100);

    marker.nearestKey(t)
    Tipo di valore restituito: MarkerKey.

    Tipo di argomento: t è un numero.

    Restituisce il marcatore livello più vicino nel tempo a t. Ad esempio, questa espressione restituisce il tempo del marcatore sul livello più vicino al tempo di 1 secondo:

      marker.nearestKey(1).time

    Questa espressione restituisce il tempo del marcatore sul livello più vicino al tempo corrente:

      marker.nearestKey(time).time

    marker.numKeys
    Tipo di valore restituito: Numero.

    Restituisce il numero di marcatori del livello.

    name
    Tipo di valore restituito: Stringa.

    Restituisce il nome del livello.

    Torna all'inizio

    Attributi e metodi 3D del livello (riferimento espressioni)

    orientation
    Tipo di valore restituito: Proprietà [3].

    Restituisce il valore orientamento 3D in gradi per un livello 3D.

    rotationX
    Tipo di valore restituito: Proprietà.

    Restituisce il valore orientamento x in gradi per un livello 3D.

    rotationY
    Tipo di valore restituito: Proprietà.

    Restituisce il valore orientamento y in gradi per un livello 3D.

    rotationZ
    Tipo di valore restituito: Proprietà.

    Restituisce il valore orientamento z in gradi per un livello 3D.

    lightTransmission
    Tipo di valore restituito: Proprietà.

    Restituisce il valore della proprietà Trasmissione luce per un livello 3D.

    castsShadows
    Tipo di valore restituito: Proprietà.

    Restituisce un valore di 1.0 se il livello crea ombre.

    acceptsShadows
    Tipo di valore restituito: Proprietà.

    Restituisce un valore di 1.0 se il livello accetta ombre.

    acceptsLights
    Tipo di valore restituito: Proprietà.

    Restituisce un valore di 1.0 se il livello accetta luci.

    ambient
    Tipo di valore restituito: Proprietà.

    Restituisce il valore del componente ambiente come percentuale.

    diffuse
    Tipo di valore restituito: Proprietà.

    Restituisce il valore del componente diffusione come valore percentuale.

    specular
    Tipo di valore restituito: Proprietà.

    Restituisce il valore del componente speculare come valore percentuale.

    shininess
    Tipo di valore restituito: Proprietà.

    Restituisce il valore del componente luminosità come valore percentuale.

    metal
    Tipo di valore restituito: Proprietà.

    Restituisce il valore del componente metallo come valore percentuale.

    Torna all'inizio

    Metodi di trasformazione dello spazio di un livello (riferimento espressioni)

    Utilizzate i metodi di trasformazione dello spazio di un livello per trasformare i valori da uno spazio all’altro, ad esempio dallo spazio livello allo spazio mondo. I metodi “da” trasformano i valori dallo spazio del livello allo spazio denominato (composizione o mondo). I metodi “a” trasformano i valori dallo spazio denominato (composizione o mondo) allo spazio del livello. Ogni metodo di trasformazione prende un argomento opzionale per determinare il tempo in cui viene calcolata la trasformazione; tuttavia, potete usare quasi sempre il tempo corrente (predefinito).

    Utilizzate i metodi di trasformazione “Vec” per trasformare un vettore direzione, a esempio la differenza tra due valori posizione. Utilizzate i metodi di trasformazione normali (non-”Vec”) per trasformare un punto, a esempio una posizione. Lo spazio composizione e mondo sono gli stessi per i livelli 2D. Per i livelli 3D, tuttavia, lo spazio composizione è relativo alla videocamera attiva e lo spazio mondo è indipendente dalla videocamera.

    Nel sito Web ProVideo Coalition è disponibile un articolo di Chris e Trish Meyer con informazioni aggiuntive su questi metodi.

    toComp(point, t=time)
    Tipo di valore restituito: Matrice [2 o 3].

    Tipo di argomento: point è una Matrice [2 o 3] e t è un Numero.

    Trasforma un punto dallo spazio livello allo spazio composizione.

    fromComp(point, t=time)
    Tipo di valore restituito: Matrice [2 o 3].

    Tipo di argomento: point è una Matrice [2 o 3] e t è un Numero.

    Trasforma un punto dallo spazio composizione allo spazio livello. Il punto risultante in un livello 3D ha un valore diverso da zero anche se si trova nello spazio livello. Esempio: fromComp(thisComp.layer(2).position)

    toWorld(point, t=time)
    Tipo di valore restituito: Matrice [2 o 3].

    Tipo di argomento: point è una Matrice [2 o 3] e t è un Numero.

    Trasforma un punto dallo spazio livello allo spazio mondo indipendente dalla visualizzazione. Esempio:

      toWorld.effect("Bulge")("Bulge Center")

    Dan Ebberts mette a disposizione un’espressione nel suo sito Web MotionScript che utilizza il metodo toWorld per orientare automaticamente un livello lungo un solo asse. Questa possibilità risulta utile, ad esempio, per fare in modo che i personaggi si voltino da un lato all’altro per seguire la videocamera, restando in piedi.

    Carl Larsen mette a disposizione una coppia di esercitazioni video nel sito Web Creative COW, in cui spiega i concetti di base sulla “relazione superiore-inferiore” e quindi utilizza un’espressione relativa al metodo toWorld per tracciare il percorso di un livello secondario animato:
    • parte 1

    • parte 2

    Nel sito Web AE Portal di Rich Young è disponibile un set di espressioni in cui viene utilizzato il metodo toWorld per collegare una videocamera e una luce a un livello con l’effetto CC Sphere.

    fromWorld(point, t=time)
    Tipo di valore restituito: Matrice [2 o 3].

    Tipo di argomento: point è una Matrice [2 o 3] e t è un Numero.

    Trasforma un punto dallo spazio mondo allo spazio livello. Esempio: fromWorld(thisComp.layer(2).position)

    Per un esempio di come è possibile utilizzare questo metodo, consultate Esempio di espressione: creare un rigonfiamento tra due livelli.

    toCompVec(vec, t=time)
    Tipo di valore restituito: Matrice [2 o 3].

    Tipo di argomento: vec è una Matrice [2 o 3] e t è un Numero.

    Trasforma un vettore dallo spazio livello allo spazio composizione. Esempio: toCompVec([1,0])

    fromCompVec(vec, t=time)
    Tipo di valore restituito: Matrice [2 o 3].

    Tipo di argomento: vec è una Matrice [2 o 3] e t è un Numero.

    Trasforma un vettore dallo spazio composizione allo spazio livello. Esempio (livello 2D):

      dir=sub(position, thisComp.layer(2).position); 
      fromCompVec(dir)

    toWorldVec(vec, t=time)
    Tipo di valore restituito: Matrice [2 o 3].

    Tipo di argomento: vec è una Matrice [2 o 3] e t è un Numero.

    Trasforma un vettore dallo spazio livello allo spazio mondo. Esempio:
      p1 = effect("Eye Bulge 1")("Bulge Center");  
      p2 = effect("Eye Bulge 2")("Bulge Center");   
      toWorld(sub(p1, p2))

    fromWorldVec(vec, t=time)
    Tipo di valore restituito: Matrice [2 o 3].

    Tipo di argomento: vec è una Matrice [2 o 3] e t è un Numero.

    Trasforma un vettore dallo spazio mondo allo spazio livello. Esempio: fromWorld(thisComp.layer(2).position)

    fromCompToSurface(point, t=time)
    Tipo di valore restituito: Matrice [2].

    Tipo di argomento: point è una Matrice [2 o 3] e t è un Numero.

    Proietta un punto nello spazio composizione verso un punto sulla superficie del livello (valore z zero) nella posizione nella quale compare quando è visualizzato dalla videocamera attiva. Questo metodo è utile per impostare i punti di controllo degli effetti. Usare solo con i livelli 3D.

    Torna all'inizio

    Attributi e metodi della videocamera (riferimento espressioni)

    Gli oggetti Videocamera hanno gli stessi attributi e metodi degli oggetti Livello, a eccezione disource, effect, mask, width, height, anchorPoint, scale, opacity, audioLevels, timeRemap e di tutte le proprietà materiale.

    pointOfInterest
    Tipo di valore restituito: Proprietà [3].

    Restituisce i valori del punto di interesse di una videocamera nello spazio mondo.

    zoom
    Tipo di valore restituito: Proprietà.

    Restituisce i valori di zoom, di una videocamera in pixel.

    Ecco un’espressione per la proprietà Scala di un livello che mantiene le dimensioni relative del livello nel fotogramma, mentre cambia la posizione z (profondità) di un livello o il valore Zoom di una videocamera:

      cam = thisComp.activeCamera;  
      distance = length(sub(position, cam.position));  
      scale * distance / cam.zoom;

    depthOfField
    Tipo di valore restituito: Proprietà.

    Restituisce 1 se la proprietà Profondità di campo di una videocamera è attivata, oppure restituisce 0 se la proprietà Profondità di campo è disattivata.

    focusDistance
    Tipo di valore restituito: Proprietà.

    Restituisce il valore della distanza focale di una videocamera, in pixel.

    aperture
    Tipo di valore restituito: Proprietà.

    Restituisce il valore dell’apertura di una videocamera, in pixel.

    blurLevel
    Tipo di valore restituito: Proprietà.

    Restituisce il valore del livello di sfocatura di una videocamera, come percentuale.

    active
    Tipo di valore restituito: Booleano.

    Restituisce vero se la videocamera è la videocamera attiva per la composizione nel tempo corrente: lo switch Video  per il livello della videocamera è attivato, il tempo corrente è compreso nell’intervallo dal punto di attacco del livello della videocamera al punto di stacco del livello della videocamera ed è il primo livello di tale videocamera (quello in cima all’elenco) elencato nel pannello Timeline. In caso contrario restituisce falso.

    Torna all'inizio

    Attributi e metodi della luce (riferimento espressioni)

    Gli oggetti Luce hanno gli stessi attributi e metodi degli oggetti Livello, a eccezione di source, effect, mask, width, height, anchorPoint, scale, opacity, audioLevels, timeRemap e di tutte le proprietà materiale.

    pointOfInterest
    Tipo di valore restituito: Proprietà [3].

    Restituisce i valori del punto di interesse di una luce nello spazio mondo.

    intensity
    Tipo di valore restituito: Proprietà.

    Restituisce i valori di intensità di una luce, come percentuale.

    color
    Tipo di valore restituito: Proprietà [4].

    Restituisce il valore di colore di una luce.

    coneAngle
    Tipo di valore restituito: Proprietà.

    Restituisce l’angolo di un cono di luce, in gradi.

    coneFeather
    Tipo di valore restituito: Proprietà.

    Restituisce il valore di sfumatura di un cono di luce, come percentuale.

    shadowDarkness
    Tipo di valore restituito: Proprietà.

    Restituisce il valore di oscurità di un’ombra di luce, come percentuale.

    shadowDiffusion
    Tipo di valore restituito: Proprietà.

    Restituisce il valore di diffusione dell’ombra di una luce, in pixel.

    Nel blog omino pixel di David Van Brink potete trovar un articolo di istruzioni e un progetto di esempio che mostrano come utilizzare le espressioni con le luci.

    Torna all'inizio

    Attributi e metodi degli effetti (riferimento espressioni)

    active
    Tipo di valore restituito: Booleano.

    Restituisce vero se l’effetto è attivato (lo switch Effetto  è selezionato).

    param(name)
    Tipo di valore restituito: Proprietà.

    Tipo di argomento: name è una Stringa.

    Restituisce una proprietà all’interno di un effetto. I punti di controllo dell’effetto sono sempre nello spazio livello. Esempio:

      effect("Bulge").param("Bulge Height") 

    param(index)
    Tipo di valore restituito: Proprietà.

    Tipo di argomento: index è un Numero.

    Restituisce una proprietà all’interno di un effetto. I punti di controllo dell’effetto sono sempre nello spazio livello. Ad esempio, effect("Bulge").param(4) restituisce la proprietà Altezza rigonfiamento.

    Torna all'inizio

    Attributi e metodi delle maschere (riferimento espressioni)

    Nota: potete collegare le proprietà Tracciato maschera ad altre proprietà di tracciato (tracciati in un livello forma, tratti pennello) ma le proprietà non sono accessibili per l’elaborazione numerica diretta tramite espressioni.
    maskOpacity
    Tipo di valore restituito: Proprietà.

    Restituisce il valore di opacità di una maschera, come percentuale.

    maskFeather
    Tipo di valore restituito: Proprietà.

    Restituisce il valore di sfumatura di una maschera, in pixel.

    maskExpansion
    Tipo di valore restituito: Proprietà.

    Restituisce il valore di sfumatura di una maschera, in pixel.

    invert
    Tipo di valore restituito: Booleano.

    Restituisce vero se la maschera è invertita o falso se non lo è.

    Torna all'inizio

    Attributi e metodi delle proprietà (riferimento espressioni)

    value
    Tipo di valore restituito: Numero, Matrice o Stringa.

    Restituisce il valore di una proprietà nel tempo corrente.

    valueAtTime(t)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: t è un numero.

    Restituisce il valore di una proprietà nel tempo specificato, in secondi.

    Ad esempio, per avere un valore di proprietà per ciascun fotogramma da scegliere casualmente da un insieme di quattro valori, impostate i quattro valori come fotogrammi chiave a 0, 1, 2 e 3 secondi, quindi applicate la seguente espressione alla proprietà:

      valueAtTime(random(4))
    Nota: Nel sito Web MotionScript di Dan Ebberts sono disponibili altri esempi e tecniche sull’utilizzo dei metodi valueAtTime e velocityAtTime.

    velocity
    Tipo di valore restituito: Numero o matrice.

    Restituisce il valore della velocità temporale al tempo corrente. Per le proprietà spaziali, ad esempio la Posizione, restituisce il valore del vettore tangente. Il risultato è la stessa dimensione della proprietà.

    velocityAtTime(t)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: t è un numero.

    Restituisce il valore della velocità temporale al tempo specificato.

    speed
    Tipo di valore restituito: Numero.

    Restituisce un 1D, un valore di velocità positiva uguale alla velocità alla quale la proprietà sta cambiando al tempo predefinito. Questo elemento può essere usato solo per le proprietà spaziali.

    speedAtTime(t)
    Tipo di valore restituito: Numero.

    Tipo di argomento: t è un numero.

    Restituisce il valore della velocità spaziale al tempo specificato.

    wiggle(freq, amp, octaves=1, amp_mult=.5, t=time)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: freq, amp, octaves, amp_mult e t sono Numeri.

    Scuote (deforma) casualmente il valore della proprietà.

    Il valore freq è la frequenza espressa in deformazioni al secondo.

    Il valore amp è l’ampiezza espressa in unità della proprietà alla quale viene applicato.

    octaves è il numero di ottave di rumore da aggiungere insieme. Questo valore controlla quanti dettagli sono presenti nella deformazione. Potete elevare questo valore rispetto al valore predefinito 1 in modo da includere le frequenze più alte, oppure potete abbassarlo per includere l’armonica di ampiezza nella deformazione.

    amp_mult è il valore per il quale amp viene moltiplicato per ciascuna ottava. Questo valore controlla la rapidità con la quale le armoniche vengono rilasciate. Il valore predefinito è pari a 0,5. Avvicinandolo a 1, l’armonica viene aggiunta alla stessa ampiezza della frequenza di base, mentre avvicinandolo a 0 viene aggiunto un numero minore di dettagli.

    t è il tempo di inizio base. Questo valore passa automaticamente al tempo corrente. Usate questo parametro se desiderate che l’output sia una deformazione del valore della proprietà campionato in un tempo diverso.

    Esempio: position.wiggle(5, 20, 3, .5) genera circa 5 deformazioni al secondo con dimensioni medie pari a circa 20 pixel. Oltre alla deformazione principale, si verificano altri due livelli di deformazioni dettagliate, con una frequenza di 10 e 20 deformazioni al secondo e dimensioni pari a 10 e 5 pixel, rispettivamente.

    In questo esempio, su una proprietà bidimensionale come Scala, entrambe le dimensioni vengono deformate in base alla stesso valore:

      v = wiggle(5, 10); 
      [v[0], v[0]]

    Questo esempio, su una proprietà bidimensionale, deforma solo lungo l’asse y:

      freq = 3; 
      amp = 50; 
      w = wiggle(freq,amp); 
      [value[0],w[1]];

    Nel forum AE Enhancers, Paul Tuersley mette a disposizione uno script che aggiunge automaticamente le espressioni wiggle, smooth e loop alle proprietà selezionate.

    Dan Ebberts fornisce un’espressione di esempio e una spiegazione dettagliata nel suo sito Web MotionScript, che mostra come utilizzare il parametro di tempo del metodo wiggle per creare un’animazione a ciclo continuo.

    Nel sito Web VFX Haiku è disponibile un’esercitazione video di Kert Gartner che mostra come aggiungere movimento organico alle immagini applicando il metodo di espressione wiggle ai perni Marionetta.

    temporalWiggle(freq, amp, octaves=1, amp_mult=.5, t=time)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: freq, amp, octaves, amp_mult e t sono Numeri.

    Esegue il campionamento della proprietà a un tempo deformato. Il valore freq rappresenta la frequenza di deformazioni al secondo, ampè l’ampiezza in unità della proprietà alla quale è applicato, octaves rappresenta il numero di ottave di disturbo da aggiungere, amp_mult è la quantità per la quale moltiplicare amp per ogni ottava e t è il momento iniziale di base. Perché questa funzione abbia significato, la proprietà campionata deve essere animata, dal momento che la funzione altera solo il tempo di campionamento, non il valore. Esempio: scale.temporalWiggle(5, .2)

    smooth(width=.2, samples=5, t=time)
    Tipo di valore restituito: Numero o matrice.

    Tipo di argomento: width, samples e t sono numeri.

    Uniforma i valori della proprietà nel tempo, convertendo deviazioni grandi e brevi del valore in deviazioni più piccole e distribuite più uniformemente. Questa operazione di uniformazione viene eseguita applicando un filtro casella al valore della proprietà al tempo specificato. Il valore width è l’intervallo di tempo (in secondi) durante il quale il filtro ha un valore medio. Il valore samples è il numero di campioni discreti distanziati in modo uniforme nel tempo; utilizzate un valore maggiore per ottenere una maggiore uniformità (ma prestazioni inferiori). In genere samples deve essere un numero dispari in modo tale che il valore al tempo corrente sia incluso nella media. Esempio: position.smooth(.1, 5)

    loopIn(type="cycle", numKeyframes=0)
    Tipo di valore restituito: Numero o matrice.

    Esegue il ciclo continuo di un segmento di tempo misurato dal primo fotogramma chiave sul livello in avanti verso il punto di stacco del livello. Il ciclo continuo viene eseguito dal punto di attacco del livello. Il valore numKeyframe determina il segmento del quale viene eseguito il ciclo. Questo segmento è la parte del livello dal primo fotogramma chiave al numKeyframes+ 1 fotogramma chiave. Ad esempio, loopIn("cycle", 3) esegue il ciclo continuo del segmento limitato dal primo e dal quarto fotogramma chiave. Il valore predefinito di 0 significa che su tutti i fotogrammi chiave sarà eseguito il ciclo continuo.

    Potete utilizzare i metodi di ripetizione a ciclo continuo dei fotogrammi chiave per ripetere una serie di fotogrammi chiave. Questi metodi possono essere utilizzati sulla maggior parte delle proprietà. Le eccezioni includono le proprietà che non possono essere espresse mediante semplici valori numerici nel pannello Timeline, come ad esempio la proprietà Testo sorgente, le proprietà della forma del tracciato e la proprietà Istogramma per l’effetto Livelli. I fotogrammi chiave o i valori di durata troppo ampi sono ritagliati al valore massimo consentito. I valori troppo piccoli produrranno un ciclo continuo.

    tipo di ciclo

    result

    cycle

    (impostazione predefinita) Ripete il segmento specificato.

    pingpong

    Ripete il segmento specificato, alternandolo avanti e indietro.

    offset

    Ripete il segmento specificato, ma esegue uno scostamento di ogni ciclo pari alla differenza del valore della proprietà all’inizio e alla fine del segmento, moltiplicato per il numero di volte che il segmento ha eseguito il ciclo continuo.

    continue

    Non ripete il segmento specifico, ma continua a animare una proprietà in base alla velocità in prossimità del primo o dell’ultimo fotogramma. Ad esempio, se l’ultimo fotogramma della proprietà Scala di un livello è pari a 100%, il livello continua a scalare da 100% fino al punto di stacco, invece di eseguire un ciclo continuo direttamente indietro fino al punto di stacco. Questo tipo non accetta un argomento keyframes o duration.

    Todd Kopriva mette a disposizione un progetto di esempio nel suo blog che dimostra l’utilizzo dei metodi loopIn e loopOut e di tutti i tipi di ciclo.

    Nel forum AE Enhancers, Paul Tuersley mette a disposizione uno script che aggiunge automaticamente le espressioni wiggle, smooth e loop alle proprietà selezionate.

    loopOut(type="cycle", numKeyframes=0)
    Tipo di valore restituito: Numero o matrice.

    Esegue il ciclo continuo di un segmento di tempo misurato dall’ultimo fotogramma chiave sul livello indietro verso il punto di stacco del livello. Il ciclo continuo viene eseguito fino al punto di stacco del livello. Il segmento del quale eseguire il ciclo è determinato dal numero di fotogrammi chiave specificato. Il valore numKeyframes imposta il numero di segmenti del fotogramma chiave dei quali eseguire il ciclo continuo; la misurazione dell’intervallo specificato viene effettuata all’indietro partendo dall’ultimo fotogramma chiave. Ad esempio, loopOut("cycle", 1) esegue il ciclo continuo del segmento limitato dall’ultimo e dal penultimo fotogramma chiave. Il valore predefinito di 0 significa che su tutti i fotogrammi chiave sarà eseguito il ciclo continuo. Per ulteriori informazioni consultate la voce loopIn.

    Nel blog omino pixel di David Van Brink potete trovare un articolo di istruzioni e un progetto di esempio che mostrano come utilizzare l’effetto Eco, l’effetto Ambiente particelle e il metodo loopOut per animare uno sciame di batteri stilizzati che nuotano.

    loopInDuration(type="cycle", duration=0)
    Tipo di valore restituito: Numero o matrice.

    Esegue il ciclo continuo di un segmento di tempo misurato dal primo fotogramma chiave sul livello in avanti verso il punto di stacco del livello. Il ciclo continuo viene eseguito dal punto di attacco del livello. Il segmento del quale eseguire il ciclo è determinato dalla durata specificata. Il valore duration imposta il numero di secondi della composizione in un segmento del quale eseguire il ciclo continuo; l’intervallo specificato viene misurato dal primo fotogramma chiave. Ad esempio, loopInDuration("cycle", 1) esegue il ciclo continuo del primo secondo dell’intera animazione. Il valore predefinito di 0 significa che il segmento del quale eseguire il ciclo continuo inizia al punto di stacco del livello. Per ulteriori informazioni consultate la voce loopIn.

    loopOutDuration(type="cycle", duration=0)
    Tipo di valore restituito: Numero o matrice.

    Esegue il ciclo continuo di un segmento di tempo misurato dall’ultimo fotogramma chiave sul livello indietro verso il punto di stacco del livello. Il ciclo continuo viene eseguito fino al punto di stacco del livello. Il segmento del quale eseguire il ciclo è determinato dalla durata specificata. Il valore duration imposta il numero di secondi della composizione in un segmento del quale eseguire il ciclo continuo; la misurazione dell’intervallo specificato viene effettuata indietro dall’ultimo fotogramma chiave. Ad esempio, loopOutDuration("cycle", 1) esegue il ciclo continuo dell’ultimo secondo dell’intera animazione. Il valore predefinito di 0 significa che il segmento del quale eseguire il ciclo continuo inizia nel punto di attacco del livello. Per ulteriori informazioni consultate la voce loopIn.

    key(index)
    Tipo di valore restituito: Key o MarkerKey.

    Tipo di argomento: index è un Numero.

    Restituisce l’oggetto Key o MarkerKey in base al numero. Ad esempio, key(1) restituisce il primo fotogramma chiave.

    key(markerName)
    Tipo di valore restituito: MarkerKey.

    Tipo di argomento: markerName è una stringa.

    Restituisce l’oggetto MarkerKey con questo nome. Da utilizzare solo sulle proprietà marcatore.

    nearestKey(t)
    Tipo di valore restituito: Key o MarkerKey.

    Restituisce l’oggetto Key o MarkerKey più vicino al tempo indicato.

    numKeys
    Tipo di valore restituito: Numero.

    Restituisce il numero di fotogrammi chiave in una proprietà. Restituisce il numero di marcatori in una proprietà marcatore.

    Nota: se usate il comando Dimensioni separate per separare le dimensioni della proprietà Posizione in singoli componenti, il numero di fotogrammi chiave cambia, quindi cambia anche il valore restituito da questo metodo.

    propertyGroup(countUp = 1)
    Tipo di valore restituito: Gruppo.

    Restituisce un gruppo di proprietà relative alla proprietà sulla quale è scritta l’espressione. Ad esempio, aggiungendo l’espressione propertyGroup(1) alla proprietà Rotazione di un tratto pennello, l’espressione è destinata al gruppo di proprietà Trasformazione, che contiene la proprietà Rotazione. Aggiungendo invece propertyGroup(2), l’espressione è destinata al gruppo di proprietà Pennello. Questo metodo vi consente di stabilire relazioni indipendenti dal nome nella gerarchia della proprietà. Questo metodo particolarmente utile durante la duplicazione delle proprietà che contengono le espressioni.

    Il metodo numProperties per propertyGroup restituisce il numero di proprietà presenti nel gruppo di proprietà.

    Questo esempio restituisce il numero di proprietà nel gruppo che contiene la proprietà sulla quale è scritta l’espressione:

      thisProperty.propertyGroup(1).numProperties

    propertyIndex
    Tipo di valore restituito: Numero.

    Restituisce l’indice di una proprietà relativa ad altre proprietà nel suo gruppo di proprietà, inclusi i gruppi di proprietà all’interno di maschere, effetti, animatori di testo, selettori, forme, tracciatori e punti traccia.

    name
    Tipo di valore restituito: Stringa.

    Restituisce il nome della proprietà o del gruppo di proprietà.

    Esempio: creare animazioni con il metodo propertyGroup e l’attributo propertyIndex

    Valore del gruppo di proprietà relativi alla proprietà Posizione di un tratto pennello
    A.
    propertyGroup(4)

    B.
    propertyGroup(3)

    C.
    propertyGroup(2)

    D.
    propertyGroup(1)

    E.
    Il valore propertyIndex della Posizione è 2; il valore propertyIndex della Rotazione è 4.

    In questo esempio, il metodo propertyGroup di ciascun tratto del pennello è destinato al gruppo di proprietà Pennello perché tale gruppo è costituito da due gruppi di proprietà sopra la proprietà Rotazione. L’attributo propertyIndex in ogni Tratto pennello quindi restituisce un valore unico per ogni Tratto pennello. Il valore risultante viene quindi moltiplicato per il tempo e 200 e applicato a ogni valore della rotazione, facendo ruotare ogni tratto pennello in modo diverso, creando tratti pennello a spirale:
      propertyGroup(2).propertyIndex * time * 200
    Animare un tratto pennello con un’espressione
    Torna all'inizio

    Attributi e metodi dei fotogrammi chiave (riferimento espressioni)

    Accedendo all’oggetto Key, potete ottenere le proprietà Tempo, Indice e Valore. Ad esempio, la seguente espressione vi fornisce il valore del fotogramma chiave nella terza posizione: position.key(3).value.

    La seguente espressione, se scritta su una proprietà Opacità con fotogrammi chiave, ignora i valori dei fotogrammi chiave e utilizza solo la posizione dei fotogrammi chiave nel tempo per determinare dove deve verificarsi un flash:
      d = Math.abs(time - nearestKey(time).time); 
      easeOut(d, 0, .1, 100, 0)
    value
    Tipo di valore restituito: Numero o matrice.

    Restituisce il valore del fotogramma chiave.

    time
    Tipo di valore restituito: Numero.

    Restituisce il tempo del fotogramma chiave.

    index
    Tipo di valore restituito: Numero.

    Restituisce l’indice del fotogramma chiave.

    Torna all'inizio

    Attributi MarkerKey (riferimento espressioni)

    Potete accedere ai valori per i marcatori composizione e i marcatori livello utilizzando gli stessi metodi. Potete accedere ai marcatori livello mediante l’oggetto thisLayer.marker e ai marcatori composizione mediante l’oggetto thisComp.marker.

    Per le espressioni, i marcatori sono un tipo speciale di oggetto Key, potete quindi utilizzare metodi come nearestKey(time) per accedere ai marcatori. I marcatori hanno anche attributi time e index. L’attributo index non è il numero (nome) del marcatore, è il numero di indice del fotogramma chiave, che rappresenta l’ordine del marcatore nel righello temporale.

    Le espressioni hanno accesso a tutti i valori di un marcatore che potete impostare nella finestra di dialogo Marcatore composizione o Marcatore livello. Questa espressione sulla proprietà Testo sorgente di un livello di testo visualizza il tempo, la durata, l’indice, il commento (nome), il capitolo, l’URL, il fotogramma di destinazione e il nome del punto cue per il marcatore livello più vicino al tempo corrente e se il marcatore è relativo a un punto cue pari.

      m = thisLayer.marker.nearestKey(time);  
      s = "time:" + timeToCurrentFormat(m.time) + "\r" +  
          "duration: " + m.duration + "\r" +  
          "key index: " + m.index + "\r" +  
          "comment:" + m.comment + "\r" +  
          "chapter:" + m.chapter + "\r" +  
          "URL:" + m.url + "\r" +  
          "frame target: " + m.frameTarget + "\r" +  
          "cue point name: " + m.cuePointName + "\r" +  
          "Event cue point? " + m.eventCuePoint + "\r";  
      for (param in m.parameters){  
           s += "parameter: " + param + " value: " + m.parameters[param] + "\r";  
      } 
      s

    Poiché i metadati XMP in un elemento di metraggio possono essere convertiti in marcatori di livello per un livello in base a quell’elemento, le espressioni possono interagire con i metadati. Per informazioni in merito, consultate Metadati XMP in After Effects.

    Dan Ebberts mette a disposizione un’esercitazione nel Centro per sviluppatori di After Effects che include un esempio di utilizzo di metadati XMP con le espressioni.

    duration
    Tipo di valore restituito: Numero.

    Durata, in secondi, del marcatore.

    comment
    Tipo di valore restituito: Stringa.

    Contenuto del campo Comment nella finestra di dialogo del marcatore.

    chapter
    Tipo di valore restituito: Stringa.

    Contenuto del campo Chapter nella finestra di dialogo del marcatore.

    url
    Tipo di valore restituito: Stringa.

    Contenuto del campo URL nella finestra di dialogo del marcatore.

    frameTarget
    Tipo di valore restituito: Stringa.

    Contenuto del campo frameTarget nella finestra di dialogo del marcatore.

    eventCuePoint
    Tipo di valore restituito: Booleano.

    Impostazione del tipo di punto cue nella finestra di dialogo del marcatore. Vero per Event, falso per Navigation.

    cuePointName
    Tipo di valore restituito: Stringa.

    Contenuto del campo Name del punto cue nella finestra di dialogo del marcatore.

    parameters
    Tipo di valore restituito: matrice che associa valori Stringa.

    Contenuto dei campi Parameter Name e Parameter Value nella finestra di dialogo del marcatore.

    Se ad esempio avete un parametro denominato “background color”, potete utilizzare la seguente espressione per accedere ai relativi valori sul marcatore più vicino:

      thisComp.marker.nearestKey(time).parameters["background color"]

    Altri argomenti presenti nell’Aiuto

    Concetti di base sulle espressioni

    Esempi di espressioni

    Codice di tempo e unità per la visualizzazione del tempo

    Interpolazione fotogrammi chiave

    Regolazione automatica della velocità

    Videocamere, luci e punti di interesse

    Note legali   |   Informativa sulla privacy online