Salve a tutti, in questo tutorial vedremo come realizzare l'animazione di un effetto noto come “scala di Giacobbe”: un arco elettrico ad alto voltaggio che si muove lungo due terminali a V, dal basso verso l'alto, ripetendo questo movimento più volte, un effetto visibile ad esempio in molti film dove ci sono degli scienziati pazzi nei loro laboratori.
Tratteremo i seguenti argomenti: Hooking Vertices per animare una curva; Wave e il modificatore Cycles sulle IPO; Emit e Indirect Lighting per l'illuminazione; Post-Produzione con Glare e Blur per aggiungere il bagliore.
Ok, esaminiamo la scena di partenza: abbiamo 4 Bezier Curves, due che rappresentano gli elettrodi (e infatti si chiamano Steel Electrode 1 e 2) e due che rappresentano i cavi di alimentazione, chiamati RedWire e BlackWire, dai colori utilizzati per identificarli; per lo spessore di queste 4 curve Bezier non ho utilizzato Extrude delle curve ma un BezierCircle utilizzato, per ogni curva, come Bevel Object, nella scheda Object Data delle curve.
Ci sono inoltre 4 mesh: due Planes (uno per lo sfondo, l'altro per il piano di appoggio) e due mesh realizzate partendo da un Cube e due Cilindri e che rappresentano due morsetti Mammut.
Non sono presenti fonti di luce nella scena, né Ambient Occlusion o Environment Lighting, infatti avviando un rendering ora l'immagine sarà completamente nera; ho scelto queste impostazioni per mostrarvi gli effetti di Indirect Lighting generata dalla curva con Emit maggiore di 0 nel Material.
Prima di procedere, parliamo un po' di cosa vogliamo ottenere: vogliamo una specie di curva che, partendo dalla base degli elettrodi, sale seguendo il loro percorso, quindi riparte dalla base, per un certo numero di volte, realizzando appunto l'effetto noto come “scala di Giacobbe”.
Primo punto da risolvere: come facciamo a far salire la Curva spostandone gli estremi per seguire gli elettrodi? Utilizzeremo due oggetti Empty e una tecnica nota come Hooking Vertices, che aggangia (To hook, appunto) uno o più punti di controllo di un oggetto a una Empty, per cui poi spostando la Empty sposteremo il punto di controllo della curva.
Secondo punto da risolvere: come fare per ripetere la stessa animazione per, ad esempio, 5 volte, animando però solo una volta il movimento? Per risolvere questo problema, utilizzeremo il modificatore Cycles per la curva IPO delle Empty, in modo da ripetere continuamente l'animazione stabilita la prima volta.
Terzo punto da risolvere, riguardo la curva: come generare del rumore, per simulare appunto una scarica? Ci sono vari modi per risolvere questo problema, quello che utilizzeremo consiste nell'introdurre un modificatore Wave su una direzione; poiché Wave agisce su X o su Y, potrebbe essere necessario ruotare la curva intorno ad un asse per orientare il modificatore sull'asse Z, quello verticale.
Quarto e ultimo punto: come renderizzare la curva con illuminazione e un po' di bagliore Glare; per risolvere questo problema, utilizzeremo il Material con Emit e Indirect Lighting e un po' di Nodes Compositing, in post produzione.
Ok, fatte queste premesse, iniziamo sul serio!
Assicuriamoci di essere al frame 1 della timeline, con 240 frames totali e tutte le altre impostazioni nella scheda Render come vogliamo (ad esempio, 24 fps, 1280x720, nel mio caso).
Selezioniamo uno dei due elettrodi e spostiamo lì il 3D Cursor con SHIFT S e scegliendo Cursor to Selected; aggiungiamo, quindi, il primo oggetto Empty alla scena, spostandolo nel punto ove vogliamo far partire l'arco voltaico. Chiamiamo questa Empty Hook 1. Scaliamo un po' questo oggetto Empty per non fare confusione con gli altri oggetti, quindi premiamo I e inseriamo un Keyframe Location per l'oggetto: stiamo registrando la sua posizione al frame 1.
Duplichiamo questa Empty e spostiamo la copia in orizzontale, posizionandola sul secondo elettrodo; chiamiamo questa Empty Hook 2 e inseriamo un keyframe Location al frame 1.
Adesso andiamo avanti nella Timeline; ad esempio, se vogliamo far durare la salita 2 secondi, per vederla bene, andiamo al frame 48, quindi selezioniamo sia la prima che la seconda Empty (con una selezione multipla, con SHIFT e click del tasto destro), spostiamo in alto le Empty, dove ci sono le punte degli elettrodi, quindi allontaniamole (scalando sull'asse orizzontale, quindi S X) e inseriamo due Keyframe Location, per registrare la posizione al 48esimo frame. Con S X allungheremo anche le Empty su X, ma qui non è un problema.
Per rendere ciclica l'animazione, con le due Empty selezionate apriamo una finestra Graph Editor, selezioniamo ad esempio il canale X della prima Empty, quindi nella Transform Window a destra (da aprire con N, se inizialmente non visibile) clicchiamo su Add Modifier e scegliamo Cycles.
L'animazione sul canale X è ora ciclica; dobbiamo ripetere la stessa operazione per il canale Z della prima Empty e per i canali X e Z della seconda... perché X e Z? Perché stiamo spostando le Empty orizzontalmente, quindi nel nostro caso sull'asse X, e in verticale, quindi, sempre nel nostro caso, sull'asse Z; non ci sono spostamenti in profondità, quindi l'asse Y, qui, non ci interessa.
Fatto questo lavoro, torniamo alla 3D View e premiamo ALT A per avere un'anteprima dell'animazione: come potete vedere, le due Empty salgono lungo gli elettrodi in 48 frames, quindi ripetono l'animazione per tutto il filmato.
Torniamo al frame 1 e, sempre con le due Empty selezionate, premiamo SHIFT S e scegliamo Cursor to Selected, per spostare il 3D Cursor in mezzo ai due oggetti: ciò ci consentirà di posizionare lì la Bezier Curve che stiamo per creare e che rappresenta la scarica elettrica.
Aggiungiamo una Curva di tipo Path, andiamo in Edit Mode e cancelliamo tre punti di controllo (di default, una curva Path ha inizialmente 5 punti di controllo), quindi spostiamo i due punti di controllo in modo da far coincidere le estremità con le posizioni delle due Empty.
Selezioniamo il punto di controllo a sinistra.
Torniamo in Object Mode.
Per legare un punto di controllo a un oggetto Empty esistente, come nel nostro caso, dobbiamo selezionare prima la Empty da utilizzare come punto di ancoraggio, quindi ANCHE la curva (selezione multipla, quindi), andare in Edit Mode e selezionare il punto di controllo o i punti di controllo da ancorare, nel nostro caso solo quello a sinistra, e premere CTRL H, scegliendo “Hook to Selected Object” dal menù che apparirà.
Torniamo in Object Mode, selezioniamo la seconda Empty, quindi selezioniamo la curva Path, andiamo in Edit Mode, selezioniamo il secondo punto di controllo, premiamo CTRL H e scegliamo “Hook to Selected Object” per ancorare il secondo punto di controllo della curva alla seconda Empty.
Torniamo in Object Mode, selezioniamo solo la curva Path e premiamo ALT A per osservare l'animazione della curva.
Con questo oggetto selezionato, andiamo nella scheda Modifiers, all'interno della Properties Window, e aggiungiamo un Modificatore Wave, deselezionando Y e modificando il valore di Height come preferiamo, osservando gli effetti in tempo reale nella 3D View.
Se l'oscillazione vi sembra troppo regolare, potete aggiungere un secondo modificatore Wave cambiando, oltre a Height, anche altri parametri come Offset, Speed o Narrowness... ad esempio, io sto aggiungendo un secondo Wave, solo su X (come il primo), con Offset 1.5, Speed 1, Height 0.2, Width 1.5 e Narrowness 3.0, comunque questo è solo un esempio, potete fare tutte le modifiche che volete.
Ok, con l'animazione della curva ci siamo, ora tocca all'aspetto finale!
Per prima cosa, sempre con la Path selezionata, andiamo nella scheda Object Data, nella Properties Window, e portiamo l'estrusione ad esempio a 0.01.
Adesso, andiamo nella scheda Object e impostiamo il Pass Index a 1; questo ci servirà per isolare l'oggetto dal resto del rendering in fase di Compositing.
Apriamo la scheda Material, forniamo alla Path un Material di base, ad esempio con colore Blu, colore che comunque verrà modificato da Emit, che attiveremo con un valore elevato, ad esempio 50 o più.
Avviando ora un rendering, comunque, vedremo solo la curva, non l'ambiente circostante: per rendere l'oggetto davvero illuminante, dobbiamo andare nella scheda World, nella Properties Window, e attivare Indirect Lighting, impostando Gathering Method Approximate, 2 Bounces e un valore molto alto per Factor, ad esempio 100.
L'illuminazione è data, quindi, da Emit, che regola l'intensità dell'emissione dell'oggetto, e da Factor, che regola in generale l'intensità dell'illuminazione dovuta, in tutta la scena, all'illuminazione indiretta (il primo è un parametro Locale, il secondo Globale; in questa scena l'unico illuminante è la Path, quindi un valore così alto per Indirect Lighting non è un problema).
Ok, è giunto il momento di aggiungere un po' di bagliore alla scarica! Abbiamo già impostato il Pass Index di questo oggetto a 1, quindi dobbiamo aprire la sezione Layers nella scheda Render, all'interno della Properties Window, e selezionare la casella Object Index.
Cambiamo lo Screen Layout in Compositing per dedicarci ai Nodes.
Nell'header della finestra, scegliamo la terza icona (Compositing Nodes) e selezioniamo Use Nodes.
Tagliamo il collegamento tra Image di Render Layers e Image di Composite.
Aggiungiamo due Nodi Color Mix in modalità Add con Factor 1 all'editor.
Aggiungiamo un Nodo Convertor ID Mask, impostando il Pass Index a 1 e collegandolo, sulla socket di input del Nodo, all'uscita IndexOB di Render Layer.
Aggiungiamo un Nodo Filter Blur, in modalità Fast Gaussian, con ad esempio 12 per X e 24 o 36 per Y, collegandogli in input l'output Alpha di ID Mask.
Colleghiamo questo Nodo Blur a un Nodo Color Balance, per modificare la tinta della sfocatura agendo su Gamma e su Gain.
Aggiungiamo un Nodo Filter Glare all'editor, con Streaks, qualità High, magari 6 o 7 Streaks, e soprattutto Threshold a 0.0, altrimenti non vedremo l'effetto. Colleghiamo l'input di Glare all'output Alpha di ID Mask, che ha quindi due collegamenti in uscita.
Colleghiamo Image di Render Layers e Image di Glare sui due canali input Image del primo Nodo Mix Add.
Colleghiamo l'output del primo Nodo Mix Add e Image di Color Balance agli input Image del secondo Nodo Mix Add, collegando infine questo output a Image di Composite.
E' tutto pronto, possiamo cliccare su Animation per renderizzare il nostro videoclip e osservare il risultato.
Vi mostro anche la stessa scena renderizzata aggiungendo Ambient Occlusion, per mostrarvi l'effetto in un ambiente illuminato.