In questo breve tutorial esamineremo una semplice scena Blender da utilizzare per realizzare un'animazione turntable (letteralmente: giradischi, nel senso di rotazione a 360° sul posto) di un qualsiasi modello 3D.
Queste animazioni sono richieste da alcuni store sui quali potete pubblicare i vostri modelli 3D: si tratta di una serie di immagini nelle quali il modello 3D da proporre ruota di 360 gradi, tipicamente intorno al suo asse verticale.
Trascrizione del video
Salve a tutti!
In questo breve tutorial esamineremo una semplice scena Blender da utilizzare per realizzare un'animazione turntable (letteralmente: giradischi, nel senso di rotazione a 360° sul posto) di un qualsiasi modello 3D.
Queste animazioni sono richieste da alcuni store sui quali potete pubblicare i vostri modelli 3D: si tratta di una serie di immagini nelle quali il modello 3D da proporre ruota di 360 gradi, tipicamente intorno al suo asse verticale.
Il tutorial è stato realizzato con la versione 3.3 di Blender, ma gli elementi che tratteremo sono disponibili da diverse versioni precedenti e, verosimilmente, lo saranno ancora in futuro.
È un tutorial rivolto ai principianti, nel quale esamineremo alcuni strumenti di base come il Constraint Track To per la telecamera e l'illuminazione della scena.

Nella prima parte di questo tutorial vi mostrerò la scena di base, senza modello 3D, per elencare le varie impostazioni del file template, da utilizzare come base di partenza da utilizzare per tutti i modelli da inquadrare e renderizzare; nella seconda parte, vedremo un esempio pratico con il modello 3D che ho menzionato in precedenza, così da vedere come realizzare l'animazione della rotazione.
Iniziamo quindi con la prima parte del tutorial!
La scena virtuale contiene soltanto cinque oggetti: tre Planes emettitori di luce, una telecamera virtuale e un oggetto Empty, posizionato al centro dell'universo virtuale.

L'oggetto Empty serve da punto di riferimento per far in modo che la telecamera virtuale e i tre Planes emettitori di luce puntino correttamente verso di esso.
Questo è importante perché potremmo dover sistemare l'inquadratura in base alle dimensioni dell'oggetto da inquadrare: utilizzando la Empty, non dovremo operare singolarmente sulla telecamera e sui Planes, ma sarà sufficiente spostare la Empty perché gli altri oggetti la seguano automaticamente.
Questo vincolo viene realizzato mediante l'utilizzo del Constraint Track To che, come suggerisce il nome, fa in modo che l'oggetto che lo possiede segua automaticamente l'oggetto bersaglio.
Per impostare correttamente il Constraint Track To, dobbiamo specificare due direzioni: il vettore frontale e quello superiore.

Il vettore frontale, chiamato Track Axis, indica verso quale direzione punterà l'oggetto; nel caso della Main Camera, si tratta dell'asse locale Z negativo, come è possibile constatare selezionando la Main Camera ed impostando, in una vista 3D, il Viewport Gizmo Move e il Local Transform Orientation: l'asse Z locale positivo punta verso la parte posteriore dell'inquadratura, per cui dobbiamo impostare minus Z nel campo Track Axis di questo oggetto.
Questa modalità di visualizzazione ci consente di individuare facilmente anche il vettore superiore della Main Camera: si tratta di Y positivo, per cui nel campo Up del Constraint Track To selezioneremo Y.
Non resta che specificare l'oggetto Empty come Target ed ecco che la telecamera punterà sempre verso la Empty, anche quando sposteremo la Main Camera all'interno della scena.

Un'altra impostazione riguardante la Main Camera è quella della sua lunghezza focale, che si trova nella scheda Object Data Properties dell'oggetto. In questo caso, conviene impostare un valore alto, ad esempio 80 o 110 mm, così da ridurre gli effetti di distorsione dovuti alla prospettiva; vedremo, comunque, un esempio pratico a breve.
Ora che sappiamo che l'asse dell'inquadratura della telecamera è Z locale, possiamo anche allontanare o avvicinare la telecamera alla Empty muovendoci lungo quell'asse, semplicemente mediante G Z Z.

Il Constraint Track To va impostato anche per i tre Planes emettitori di luce; qui, però, notiamo che l'asse positivo perpendicolare ai Planes, che coincide con le loro normali, è Z positivo, per cui nei loro Constraint Track To specificherò Z.

Per quanto riguarda questi tre Planes emettitori non c'è molto da dire: si tratta, appunto, di tre Planes forniti di un materiale Emitter, che forniscono un'illuminazione di default bianca con intensità uguale (ma i tre Planes hanno dimensioni diverse e ciò ha effetti sull'intensità luminosa e sull'ombreggiatura in generale).

I tre Planes sono disposti in modo da realizzare un'illuminazione a tre punti standard, ma quelle elencate finora sono solo le impostazioni di partenza: nulla vieta di modificare intensità, colore o disposizione di queste tre fondi di luce nella scena, in base alle esigenze!
I tre Planes emettitori non sono, comunque, gli unici elementi relativi all'illuminazione: nella scheda World Properties ho impostato un'immagine di tipo EXR, con Linear Color Space, per illuminare l'oggetto.

La scelta dell'immagine dipende da vari fattori, ma in generale utilizzo immagini colorate, anziché immagini che riproducono illuminazioni da studio, quando inquadro oggetti con molte componenti metalliche, in modo da realizzare effetti di ombreggiatura interessanti e non monotoni su quelle superfici molto riflettenti.
Come detto precedentemente, queste sono solo le impostazioni iniziali per avere diverse opzioni di illuminazione, ma ovviamente è possibile anche disattivare i tre Planes emettitori o portare a zero l'intensità dell'illuminazione di World Background, in base alle esigenze del momento.
L'anteprima di rendering può essere valutata in tempo reale passando alla modalità di visualizzazione Rendered, come vedremo in seguito con un esempio pratico.
Per quanto riguarda il rendering della scena, il più delle volte gli store richiedono delle sequenze di immagini. Le specifiche variano per ciascun store e i parametri da impostare nelle schede Render Properties e Output Properties vanno impostati di conseguenza.

Nel mio caso, in Render Properties ho impostato appena 250 samples per il rendering e il più delle volte non è nemmeno necessario attivare il Denoise: il rumore, in una scena del genere, è minimo e può essere ridotto impostando il valore 0.99 nei campi Clamping; inoltre, Denoise potrebbe avere degli effetti sui dettagli delle superfici degli oggetti, per cui preferisco non utilizzarlo, in questo caso.
Per quanto riguarda le specifiche di output, nel mio caso ho impostato la risoluzione 1920 per 1080, perché per molti store è sufficiente; inoltre, ho scelto il formato PNG RGBA, ossia una sequenza di singole immagini con sfondo trasparente, perché i vari store hanno richieste diverse riguardanti lo sfondo, per cui qui preferisco un output con trasparenza.

A proposito dello sfondo trasparente: per non visualizzare lo sfondo dell'universo virtuale nei rendering è necessario aprire la scheda Film nella finestra Render Properties e selezionare l'opzione Transparent.
Un'ultima impostazione da effettuare per questo file template riguarda la Timeline e, in generale, la durata dell'animazione da realizzare: questi parametri dipendono dalle richieste dei vari store, per cui qui mostrerò un paio di esempi.

Se lo store richiede un vero e proprio filmato, o se intendete realizzare un filmato da pubblicare su Youtube, sui social o sul vostro sito web, allora dovete impostare un numero di frames pari alla durata dell'animazione in secondi moltiplicata per il numero di frames al secondo desiderati.
Ad esempio, per realizzare un filmato di 10 secondi da riprodurre a 25 frames al secondo, dovrete impostare 250 nel campo End della Timeline; in questo caso, inoltre, potrete optare per la realizzazione diretta di un file di tipo filmato, anziché sequenza di immagini, nella scheda Output Properties.

Supponendo invece di dover realizzare un basso numero di immagini singole, ad esempio 13, allora sarà sufficiente impostare proprio il numero di immagini da realizzare nel campo End della Timeline: Blender realizzerà un'immagine per ciascun fotogramma dell'animazione.
Queste sono le impostazioni generali del file, valide per tutti i modelli 3D da renderizzare.
Questo file può essere quindi salvato come template generale in una cartella a parte, così da farne delle copie da modificare per i progetti specifici.
Vediamo quindi un esempio pratico con un modello 3D, che può essere importato nella scena mediante Append o Asset Browser.

Ho scelto questo modello perché è costituito da molti oggetti, per cui sarà necessario raggrupparli o fonderli in un unico oggetto, così da impostarne l'Origin e poter effettuare facilmente alcune trasformazioni.
Appena importato, il modello è enorme e non entra all'interno dell'inquadratura; prima di ridimensionarlo, però, lo fondo in un unico oggetto con Join.
In questo momento, però, tutti i singoli oggetti che compongono il set sono selezionati, ma non è presente un oggetto attivo, per cui Join non può essere effettuato correttamente. Per risolvere questo problema, premo SHIFT e il tasto sinistro del mouse su un oggetto, come ad esempio la tovaglia Placemat, il cui contorno cambierà colore proprio per indicare che questo è, adesso, l'oggetto attivo.

Premo quindi CTRL J per fondere tutti gli elementi selezionati con l'oggetto Placemat.

Placemat ha l'origine che coincide col centro della scena, per cui posso ridimensionarlo semplicemente premendo il tasto S e muovendo il mouse, per poi premere Invio quando l'oggetto entra nell'inquadratura.

Nel caso l'oggetto importato non dovesse avere l'Origin nel centro nella scena, vi basterà posizionarlo manualmente come desiderate per poi premere CTRL A e scegliere Location: questa operazione avrà l'effetto di resettare le coordinate Location della scena; la conseguenza di questa operazione è che l'Origin dell'oggetto coinciderà con il centro dell'universo virtuale, come desiderato.

L'insieme di oggetti rientra ora all'interno dell'inquadratura, ma c'è un problema: questa inquadratura non è l'ideale, per mostrare questo particolare modello.
Qui abbiamo due possibili soluzioni: spostare in alto la telecamera virtuale o ruotare l'oggetto intorno al suo asse X.
La scelta dipende dal modello in questione: se l'oggetto presenta dei dettagli anche nella parte inferiore, allora probabilmente sarà il caso di ruotarlo intorno all'asse X, inclinandolo un po', prima di effettuare l'animazione intorno all'asse verticale.
Nel caso decideste di seguire questo metodo, ricordatevi di applicare la trasformazione di rotazione con CTRL A Rotate e, se necessario, di spostare l'oggetto e applicare nuovamente la trasformazione Location, così da impostare correttamente l'Origin dell'oggetto ruotato nel centro della scena virtuale.
Nel caso del modello utilizzato qui, comunque, non ci sono dettagli nella parte inferiore del modello, per cui possiamo passare alla seconda opzione: spostare in alto la telecamera virtuale.
Questa operazione può essere facilmente effettuata selezionando la telecamera virtuale e spostandola con un gizmo di trasformazione nella vista 3D o con la sequenza di tasti G Z.

Nulla vi vieta di iniziare da un'inquadratura diversa, spostando la telecamera virtuale in altri punti della scena.
Notate che, dal momento che la telecamera virtuale punta sempre verso la Empty posizionata al centro della scena, non ci sarà bisogno di modificare la rotazione della telecamera.
Potete anche spostare la Empty, per sistemare l'inquadratura; ciò è particolarmente utile con il modello in questione, perché in effetti il centro del suo bounding box non coincide con il centro dell'universo virtuale, per cui è necessario spostare in alto la Empty e, di conseguenza, l'inquadratura, per osservarlo meglio.

Anche in questo caso, l'utilizzo del Constraint Track To per la telecamera mostra i suoi vantaggi.
Nella prima parte del video vi ho detto che conviene utilizzare un valore elevato per la lunghezza focale della telecamera virtuale per limitare le distorsioni dovute alla prospettiva.
Potete farvi un'idea di tali distorsioni modificando, adesso, il valore di Focal Length della Main Camera: al di là del fatto che sarà necessario spostare in avanti o indietro la Main Camera per inquadrare bene l'oggetto, noterete subito le distorsioni con valori bassi di Focal Length, in particolare ai bordi dell'inquadratura.

Consiglio quindi un valore tra 80 e 110. Non credo ci sia bisogno di valori maggiori ma, come sempre, la scelta finale va fatta esaminando, di volta in volta, il modello specifico.
Ok, passiamo all'animazione del modello!
In realtà, l'operazione è molto semplice: dal momento che vogliamo una rotazione di 360 gradi intorno all'asse verticale, dobbiamo impostare solo due keyframes di animazione, al primo e all'ultimo fotogramma.
Con il modello 3D selezionato al frame 1 della Timeline, quindi, assicuriamoci che i valori Rotation nella scheda Transform siano inizialmente resettati a 0, quindi facciamo click destro su Rotation Z e selezioniamo l'operazione Insert Keyframes.

Spostiamoci quindi all'ultimo frame dell'animazione, scriviamo 360 nel campo Rotation Z dell'oggetto, facciamo click destro e scegliamo l'operazione Insert Keyframes.

L'animazione della rotazione è stata realizzata, come possiamo constatare cliccando sul pulsante Play della Timeline; nel caso il numero di fotogrammi fosse molto basso, potrebbe essere preferibile andare avanti e indietro tra i vari fotogrammi premendo i tasti freccia.
Ad ogni modo, prima di avviare il rendering della sequenza dobbiamo effettuare ancora tre operazioni:
-
verificare l'illuminazione del modello;
-
verificare l'inquadratura nel corso di tutta l'animazione;
-
modificare, se necessario, l'interpolazione tra i vari keyframes, ossia il modo in cui Blender realizzerà la rotazione dell'oggetto nei fotogrammi intermedi.
L'illuminazione del modello può essere verificata premendo il tasto Z e passando alla modalità di visualizzazione Rendered; in questo modo, esaminando il modello in vari fotogrammi dell'animazione, potremo decidere se mantenere lo schema di illuminazione di default oppure se modificare le impostazioni dei tre Planes emettitori o cambiare l'immagine EXR o HDR utilizzata in World Background.

La verifica dell'inquadratura avviene semplicemente esaminando i vari fotogrammi e riguarda modelli il cui bounding box non è cubico e non è centrato nella scena, proprio come nel nostro caso: questo modello è, infatti, più lungo che largo, per cui in alcuni fotogrammi potrebbe uscire al di fuori dell'inquadratura.
In questo caso, sarà necessario agire sulla distanza della telecamera dall'oggetto inquadrato o sull'altezza della Empty, così da fare in modo che l'oggetto si trovi all'interno dell'inquadratura in tutti i fotogrammi.

Questa operazione è utile anche per evitare che, al contrario, l'oggetto occupi inutilmente una porzione troppo piccola dell'inquadratura.
L'ultima operazione da fare riguarda l'analisi dell'interpolazione tra i vari keyframes.
Blender può effettuare, infatti, diversi tipi di transizione da un keyframe all'altro; ad esempio, un'interpolazione con una curva Bezier farà iniziare e finire l'animazione tra due keyframes in maniera graduale anziché lineare.
Nel nostro caso, però, un'animazione lineare potrebbe risultare preferibile.
L'interpolazione tra i keyframes può essere modificata nel Graph Editor: con il modello 3D selezionato, apriamo il Graph Editor selezioniamo i due keyframes di animazione presenti, quindi premiamo il tasto V e scegliamo il tipo di interpolazione che vogliamo realizzare per la nostra animazione.

Nel mio caso l'interpolazione è già di tipo lineare, perché l'ho impostata come tale di default per tutti i miei progetti Blender nella scheda Animation della finestra Preferences, alla voce Default Interpolation, ma volevo comunque mostrarvi come modificare questo aspetto.
Ricapitolando: in questo tutorial abbiamo visto come impostare una semplice scena per ottenere una sequenza di immagini turntable di un modello 3D in Blender, scegliendo un'adeguata apertura focale per la telecamera virtuale e impostando una buona illuminazione per l'oggetto da inquadrare.
Abbiamo visto come impostare il Constraint Track To per far puntare le fonti di luce e la telecamera verso il centro della scena virtuale.
Abbiamo visto anche come impostare correttamente l'Origin e la rotazione degli oggetti da inquadrare e come realizzare le animazioni in un determinato numero di frames.
Infine, abbiamo visto anche come modificare l'interpolazione delle curve di animazione per ottenere delle rotazioni lineari del modello 3D.

Spero che questo semplice tutorial vi sia stato utile! A presto!