All Articles After Effects
After Effects: Layer gerarchia Shape Index
Toby Pitman on Mon, January 2nd | 5 comments
Toby Pitman demonstrates how to dynamically add multiple strokes, generate increasing stroke widths and even randomize width and brightness in After Effects.

Recentemente ho scritto un articolo su alcune cose che puoi fare con la conversione di testo ai livelli forma . Uno degli esempi più tratti aggiunti alla forma linee utilizzando il Shape Layers 'costruito in corsa effetto che è stato appena duplicato.

Mentre questo è molto facile da installare può essere un processo molto lengthly per manipolare tutti i tuoi larghezze ictus e colori manualmente. Se si dispone di 20 colpi che si basano su un colore blu e li vuoi che tutti siano sulla base di verde e il doppio della larghezza può essere un vero e proprio dolore di cambiare!

Quindi è possibile farlo in modo dinamico? Ebbene, sì! Collegando spessore del tratto e il colore ad alcuni cursori espressione a primo colpo qualsiasi colpo successivo duplicato sarà anche legata ai cursori che permette di controllare tutti in una volta.

Wouldnt sarebbe bello se si potrebbe anche compensare ogni colpo in modo da duplicare ogni colpo ricevuto un po 'più larga, più scura o più chiara, o anche per essere in grado di randomizzare l'ampiezza e la luminosità di ogni colpo! Ebbene si può fare anche questo!

Il problema è come si fa a bersaglio il contenuto di un livello di forma e di trovare l'indice di ogni effetto ictus? Ecco cosa voglio dire.


Comp Strato Indice

Ogni strato in una composizione After Effects ha un numero indice. Il livello superiore ha un indice di 1. Potrebbe essere qualsiasi tipo di livello, un solido, un livello di regolazione o di un oggetto null.

Lo strato sottostante è un indice di 2 e così via e così via. Si può vedere questa nell'immagine qui sotto. Il numero indice è sul lato destro dal colore Layer.

The Layer below it has an Index of 2


Un trucco comune con i numeri indice è quello di compensare un duplicato del livello originale con l'aggiunta, moltiplicare o dividere la sua posizione, l'opacità, ecc dal suo numero indice.

Con l'aggiunta di una espressione della posizione e opacità che dice che se l'indice è pari a un non fare niente, ma se non la sua quindi moltiplicare la posizione X dall'Indice Layer e dividere l'opacità dall'Indice Layer.

duplicate of the original Layer by adding, multiplying or dividing its position, opacity, etc by its Index number


Ottengo questo quando ho duplicare il layer.

the result


Questo tipo di cose viene utilizzato per creare finto testo 3D mediante compensazione della posizione Z di un livello duplicato testo 3D con il suo numero indice. Cose serie!


Trovare L'indice all'interno di un livello forma

Ora Shape Layers sono un po 'come mini-composizioni nel fatto che essi possono contenere molti elementi differenti. Possono contenere percorsi singoli o multipli, riempimenti, tratti e gli effetti vettoriali come Piega e rigonfiamento, percorso Offset, Twist, Zig Zag, angoli arrotondati e Path Wiggle (una versione animata di Illustratori Roughen Bordi).

Questi elementi possono essere raggruppati utilizzando l'

Partiamo dall'alto. Heres un livello vuoto Shape. Esso contiene due elementi di contenuto e Trasformazione.

an empty Shape Layer


Quando si crea un layer

Im andando ad aggiungere tre forme facendo clic sul pulsante Aggiungi. Ill aggiungere un'ellisse, un cerchio e una Stella Poli.

Adding three shapes


Ora ho bisogno di un Riempimento e Traccia così male aggiungere anche questi utilizzando il pulsante Aggiungi.

Fill and stroke


Ora ho una struttura di base.

the basic structure


Heres il problema. Voglio duplicare il mio effetto Stroke e hanno il nuovo tratto automaticamente aumento delle dimensioni sulla base di un numero indice come nel mio esempio Composizione livelli.

Ma il mio effetto Stroke anche avere un numero di indice? Beh, sì lo fa ma è un po 'più difficile da trovare rispetto Indice Layer.

Per trovare un numero indice che posso aumentare il mio Larghezza tratto con Im intenzione di usare questa espressione intelligente su Stroke larghezza 1s.

= valore thisProperty.propertyGroup (1). propertyIndex

Come funziona allora? Heres un guasto ...

= valore

thisProperty - l'attuale corsa 1 effetto.

PropertyGroup (1) - Il contenitore che contiene thisProperty (Stroke 1) che è contenuto.

propertyIndex - Dammi l'Indice di thisProperty (Stroke 1) contenuto all'interno.

Potete vedere PropertyGroup () mi permette di forare indietro nella gerarchia dal mio punto di partenza per trovare il contenitore per l'effetto Stroke. La (1) è il primo livello fino dall'effetto Stroke. PropertyGroup (2) sarebbe il contenitore che contiene Contenuto, due livelli sopra thisProperty, cioè il livello forma reale! Consente di aggiungere questo alla larghezza Stoke e vedere cosa succede.

Ebbene si può vedere il mio Larghezza tratto è ora 5px!

stroke width at 5px


Questo perché Corsa 1 è il quinto elemento contenuto all'interno!

Stroke 1 as fifth item in content


OK, thats così fresco, io ho un numero di indice! Ma cosa succede se ho scelto per sbarazzarsi di una forma poi si buttare via i miei numeri indice!

Beh, posso aggirare questo mettendo tutte le mie forme in un gruppo. Vai a Aggiungi e scegliere gruppo e spostare le forme in esso. Ill anche spostare la mia Riempire lo incassa decido di aggiungere un riempimento diverso per ogni forma in seguito. Ive chiamato mio forme.

place all shapes in a group


Ora la mia corsa è 2px come la voce secondo nel Sommario.

stroke value changes to 2px


Ora ho una struttura più coerente posso semplicemente sottrarre uno dalla mia espressione per fare il mio primo colpo di 1 pixel!

. = valore thisProperty.propertyGroup (1) propertyIndex - 1

Ora posso fare alcune cose! Ill primo aggiungere un controllo Larghezza master al livello forma utilizzando un cursore di espressione. 1-100 pixel.

Master width control


Poi Ill avvolgere la mia espressione in alcune parentesi e aggiungere un segno di moltiplicazione e Pick Whip al valore di scorrimento. In questo modo posso controllare il valore relativo del mio spessore del tratto.

control the relative value of my stroke width


Prima di duplicare Ill dividere l'opacità Stroke dal propertyIndex pure.

divide the Stroke Opacity by the propertyIndex as well


Ogni duplicato diventerà più trasparente la sua divisa da un numero di indice più alto!

raise the Master width slider to expand the stroke


E se duplicare ogni ictus aumenta e l'opacità svanisce! Horray!

duplicate each Stroke increases and the Opacity fades


Se io ingrandire la Stroke funziona per ogni duplicato!

If I enlarge the Stroke it works for each duplicate!


Qui potete vedere tutte le espressioni di lavoro.

All the expressions working


E se eliminare alcune forme funziona ancora a causa di questo gruppo li mettiamo dentro!

result so far


Ora potete prendere questo come quanto si vuole andare. Mi sono fatto un predefinito di animazione veramente utile utilizzare questa tecnica che mi permette di creare multi elementi di design corsa con un semplice clic di un pulsante, ho solo aggiungere una forma o di percorso.

Add a shape or path


Ha opzioni casuale o lineare per Larghezza Leggerezza e corsa con un controllo seme casuale. Controlli per leggerezza di inizio e fine, che è possibile invertire ecc ecc

random seed control


Una volta che conosci questa tecnica Shape Layers assumono un significato del tutto nuovo! Provare per credere!

Comments (5)

You must be logged in to comment. Login Now

  • Dennis
    Great tutorial. I have a question; how can I change the color of the stroke depending on the index number. If indexnumber is even color one or if indexnumber is odd than color two. Greets, Dennis
    • 5 years ago
    • By: Dennis
    Reply
  • Dennis
    Got it, with 2 color effect controlers (color1 and color2) i=(thisProperty.propertyGroup(1).propertyIndex - 1)%2; if (i==0) {effect("color1")("Color")} else {effect("color2")("Color")};
    • 5 years ago
    • By: Dennis
  • Great tutorial, i had some questions which i cant seem to find the answer for, i want to do the following. I have a shape with a stroke, now i want to zoom in and out of the shape but without changing the stroke width, is that possible without a expression.
    • 6 years ago
    • By:
    Reply
  • tobypitman
    Well you could always just Keyframe the Stoke width manually. Ideally you'd want to do this finding the distance of the object to the camera using an expression. You may find that actually 'zooming' the camera will be trickier to work out so moving the camera in would be best. Good Luck!
    • 6 years ago
    • By: tobypitman
  • Bynudyy
    Great info regarding how to access various shape properties via expressions, really useful thanks
    • 6 years ago
    • By: Bynudyy
    Reply
Feedback
Course Advisor
Don't Know Where To Start?
Ask A Course Advisor
Ask Us!
Copy the link below and paste it into an email, forum, or Facebook to share this with your friends.
Make money when you share our links
Become a macProVideo.com Affiliate!
The current affiliate rate is: 50%
Classes Start Next Week!
Live 8-week Online Certification Classes for: