Blender camera attorno ad un oggetto seguendo un percorso spirale
In questo tutorial in italiano per Blender (realizzato in Blender 2.93) spieghiamo come orbitare una Camera attorno ad un oggetto seguendo un percorso spiraliforme, quali problemi possono sorgere e le possibili soluzioni.
Di solito per presentare un prodotto o un manufatto può bastare far girare la Camera intorno all'oggetto seguendo un'orbita circolare, però a volte può essere necessario mostrare anche la sua parte superiore ed inferiore; inoltre un percorso a spirale ben realizzato può dare l'illusione che l'oggetto sia più grande e maestoso aggiungendo "epicità" all'animazione.
Forniamo due soluzioni per simulare un comportamento a spirale: la prima utilizzando una spirale vera e propria, esaminando anche il caso problematico di un oggetto alto e stretto, la seconda cercando di utilizzare solo un oggetto Empty per muovere la Camera.
Percorso spiraliforme di una Camera lungo una curva a forma di spirale:
Creiamo un nuovo progetto, cancelliamo il cubo presente (selezionandolo con il tasto sinistro del mouse e premendo il tasto "X"), e creiamo al suo posto l'oggetto Suzanne, premendo i tasti SHIFT+A (o partendo dal sottomenu "Add") e scegliendo "Mesh > Monkey" .
In Edit > Preferences, nella scheda "Add-ons" attiviamo l'add-on "Add Curve: Extra Objects"
Sempre con i tasti SHIFT+A aggiungiamo la curva spirale con "Curve > Curve Spirals > Archemedian" (la spirale di Archimede)
nella finestra di dialogo in basso a sinistra
inseriamo i parametri per la nostra spirale
"Spiral Parameters":
"Turn": 1 , facciamo eseguire un solo giro della Camera attorno all'oggetto
"Steps": 200, scegliamo un numero di segmenti abbastanza grande per creare una curva più smussata possibile
"Archemedian Settings":
"Radius": 5.1 , deve essere abbastanza ampio per poter vedere da una certa distanza l'oggetto, ma abbiamo scelto il raggio anche abbastanza piccolo per poter vedere i particolari
"Height": 6.6 , la spirale deve svilupparsi lungo un'altezza molto maggiore dell'oggetto, per vederne bene la parte superiore ed inferiore
Rotation:
Z: -90°, facciamo partre la spirale davanti a "Suzanne" e la facciamo terminare davanti ad essa
Premiamo il tasto TAB per commutare in Object Mode, premiamo i tasti G e poi Z , scriviamo -3.403 e premiamo il tasto INVIO per spostare in basso la spirale selezionata. Otteniamo così
La Camera deve partire dal punto più basso della spirale, quindi posizioniamola su di esso aiutandoci con il 3D Cursor; spostiamo prima il 3D Cursor su tale punto: selezioniamo la curva spirale, premiamo il tasto TAB per tornare in "Edit Mode" e selezioniamo il primo punto della spirale cliccandolo con il tasto sinistro,
spostiamo il 3D Cursor su di esso, premendo i tasti SHIFT+S e scegliendo l'opzione "Cursor to Selected"
ottenendo
Spostiamo ora la Camera sul 3D Cursor: premiamo il tasto TAB e torniamo in Object Mode, selezioniamo la Camera, premiamo SHIFT+S ma questa volta selezioniamo l'opzione "Selection to Cursor"
e otteniamo
Per far percorrere la Camera il percorso della spirale, selezioniamo prima la Camera, poi la spirale e premiamo CTRL+P, scegliendo l'opzione "Follow Path"
Ora la Camera segue il percorso della spirale però, se avviamo l'animazione premendo la SPACEBAR, notiamo che la Camera non guarda la testa della scimmietta.
Potremmo utilizzare come obiettivo della Camera l'oggetto Suzanne, ma invece creiamo un oggetto Empty, perché potrebbe eventualmente aiutarci a posizionare meglio l'inquadratura durante l'animazione.
In Object Mode premiamo i tasti SHIFT+C, per riportare il 3D Cursor al centro degli assi, dove si trova anche l'origin dell'oggetto Suzanne, e creiamo l'oggetto Empty con Add > Empty > Plain Axes
Selezioniamo la Camera e nelle "Object Constraint Properties", della "Properties Window" a destra, creiamo un vincolo "Track To", con come target l'oggetto Empty; la Camera ora punterà verso di esso.
L'animazione totale è lunga un tempo di 250 frames, per fare in modo che il percorso della Camera lungo la spirale coincida con la durata totale dell'animazione, selezioniamo la spirale e clicchiamo sul tab "Object Data Properties" inserendo in "Path Animation > Frames" il valore 250.
Arrivati alla fine possiamo creare l'animazione, nel nostro caso ci basta una semplice preview, quindi premiamo 0 nel tastierino numerico, portandoci in vista Camera
e selezioniamo View > Viewport Render Animation
e alla fine della veloce elaborazione otteniamo
Percorso spiraliforme di una Camera attorno ad un oggetto alto e stretto:
Un problema può nascere quando si vuole filmare degli oggetti alti e stretti, come per esempio un grattacielo (alto 23 metri circa e largo 2, misure non corrispondenti alla realtà, ma è solo un esempio)
(i colori di porta e finestre li possiamo vedere perché era stata settata la modalità "Material Preview")
creiamo anche questa volta una curva a spirale con "Add > Curve > Curve Spirals > Archemedian", con valori tali da adattarla al nuovo oggetto:
Turns: 2
Steps: 300
Radius: 5.1
Height: 14.0
Rotation Z: -90°
dato che in genere gli edifici vengono visti dalla base, e non da sotto, non spostiamo verso il basso la spirale.
Procediamo come prima: spostiamo la Camera sul primo punto della spirale, aiutandoci come prima con il 3D Cursor, imparentiamo la Camera alla spirale in modo che segua il percorso con CTRL+P, spostiamo il 3D Cursor nell'origine degli assi (la base dell'edificio) con SHIFT+C e creiamo un oggetto Empty, selezioniamo la Camera e la rivolgiamo verso l'Empty con un vincolo TrackTo, nelle proprietà della curva in Path Animation > Frames scriviamo frames 250 (in numero uguale a quello dell'animazione totale).
La posizione dell'Empty alla base dell'oggetto obiettivo però non è soddisfacente, in quanto verso la fine dell'animazione non riusciamo più a vedere la cima dell'edificio
Inoltre la Camera è troppo inclinata
Se spostiamo invece l'oggetto Empty in mezzo al grattacielo
La vista a fine animazione è migliorata (non di molto)
mentre la vista ad inizio animazione è molto peggiorata
Una soluzione potrebbe essere quella di far salire la Camera e l'oggetto Empty contemporaneamente
Selezioniamo allora l'oggetto Empty premiamo il tasto "I", per creare un keyframe al frame 0 (o 1) sulla Timeline , selezionando l'opzione "Location"
(per spostarsi sulla Timeline, basta trascinare il cursore azzurro, oppure scrivere il numero del frame nell'apposita casella di input)
quando la Camera è sopra al tetto, più o meno al frame 193, spostiamo l'oggetto Empty all'inizio del tetto (che corrisponde a 21 metri, le misure non sono quelle reali di un edificio, ma quelle del modello creato come esempio) e creiamo un altro keyframe con opzione "Location"
premiamo il tasto zero nel tastierino numerico, per portarci in vista Camera, avviamo di nuovo l'animazione della Viewport con View > Viewport Render Animation e visualizziamo
nel quale si può notare che la Camera è seguita dall'oggetto Empty fino in alto, poi questo si ferma permettendo alla Camera di riprenderlo dall'alto e realizzare una panoramica del tetto
Percorso spiraliforme di una Camera, però utilizzando solo un oggetto Empty:
Proviamo a semplificare il procedimento utilizzando solo un oggetto Empty, eliminando la curva a spirale; infatti un percorso spiraliforme non è altro che un percorso circolare che si sviluppa in altezza nel tempo.
Se riesaminiamo l'esempio di prima con l'oggetto Suzanne, osserviamo che la Camera ha ruotato verso l'alto di un angolo totale di 66 gradi, da -33° a +33°, mentre compiva un percorso completo di 360° attorno all'oggetto.
Ripartiamo dunque da zero con il nuovo procedimento.
Cominciamo con una scena contenente solo l'oggetto Suzanne e la Camera.
utilizzando il pannello a destra (richiamabile premendo il tasto "N") spostiamo la Camera davanti all'oggetto
premendo i tasti SHIFT+C spostiamo il 3D Cursor al centro, creiamo un oggetto Empty con Add > Empty > Plain Axes, selezioniamo Camera ed oggetto Empty (tenendo premuto il tasto SHIFT), premiamo CTRL+P (per far diventare la Camera figlia dell'oggetto Empty) selezionando l'opzione "Object" (così, muovendo e ruotando l'oggetto Empty, la Camera orbiterà attorno all'oggetto Suzanne)
selezioniamo solo l'oggetto Empty incliniamo di -33°
avviciniamo o allontaniamo la Camera per ricavare un'inquadratura iniziale simile a quella dell'esempio precedente
spostiamoci al frame zero sulla Timeline, selezioniamo solo l'oggetto Empty e premiamo il tasto "I" per aggiungere un keyframe di tipo "Rotation"
Spostiamoci nel frame 125 sulla Timeline e, scrivendo su "Rotation" nel pannello a destra, ruotiamo l'Empty attorno all'asse X di 33°, fino a portare Rotation X a 0° , e attorno all'asse Z di 180° (Rotation Z: 180°); premendo il tasto "I" aggiungiamo un altro keyframe con opzione "Rotation".
spostiamoci nel frame finale 250, ruotiamo attorno all'asse X di altri 33° (Rotation X: -33°) e attorno all'asse Z di altri 180° (Rotation Z: 360°) ; premiamo il tasto "I" e aggiungiamo un altro keyframe con opzione "Rotation".
se ci portiamo in vista Camera, premendo il tasto zero nel tastierino numerico, e avviamo l'animazione nella Viewport con View > Viewport Render Animation, otterremo un'animazione simile a quella creata utilizzando la curva spirale.
Percorso spiraliforme di una Camera attorno ad un oggetto alto e stretto, utilizzando solo un oggetto Empty:
Un procedimento simile si utilizza con un oggetto alto e stretto, come il grattacielo di prima.
Creiamo una scena con il grattacielo e la Camera, posizioniamo la Camera davanti all'edificio, scrivendo i relativi valori nel pannello a destra come negli altri metodi
come prima, premiamo i tasti SHIFT+C per porre il 3D Cursor nell'origine, creiamo un oggetto Empty (Plain Axes), selezioniamo prima la Camera e poi l'Empty, quindi li imparentiamo premendo i tasti CTRL+P e opzione "Object"
Selezioniamo solo l'oggetto Empty. Nel frame 0 creiamo un keyframe per la rotazione e per la posizione, premendo il tasto "I" con opzione "Location & Rotation"
Dato che la spirale avviluppava l'oggetto con due giri, dobbiamo ruotare di 720° l'oggetto Empty attorno all'asse Z; inoltre l'Empty deve muoversi dalla base fino al tetto e, un po' prima di essere giunto, deve cominciare a ruotare attorno al suo asse X (quello perpendicolare alla retta di congiunzione con la Camera), per far sì che la Camera crei una ripresa panoramica del tetto.
Selezioniamo dunque l'oggetto Empty, posizioniamoci al frame 250, scriviamo 720° in Rotation > Z nel pannello a destra e creiamo un keyframe per la rotazione (tasto "I" ed opzione "Rotation")
Prima, utilizzando la spirale, l'oggetto Empty si muoveva fino a 21 metri in verticale, fermandosi al frame 193. Ripetiamo questa operazione: ci posizioniamo sul frame 193 della Timeline, scriviamo 21 in "Location > Z", premiamo il tasto "I" per creare un keyframe con opzione "Location"
Cominciamo a far ruotare l'Empty un po' prima di arrivare al tetto, per dare più continuità all'animazione, dal frame 187. In questo punto i gradi rotazione attorno all'asse X deve essere uguali a zero (e l'interpolazione della sua animazione deve cominciare in questo punto, mentre continua quella attorno all'asse Z e il movimento lungo l'asse Z), quindi fissiamo un altro keyframe per la rotazione (premiamo il tasto "I" per creare un keyframe con opzione "Rotation")
alla fine spostiamoci al frame 250, ultimo frame della nostra animazione, e inseriamo un valore per Rotation X : - 54.4°, che corrisponde più o meno all'angolo con cui l'oggetto Empty vedeva la Camera, quando questa si trovava nel punto più alto della spirale
Nell'altro esempio la spirale continuava molto oltre il tetto, allontanando quindi la Camera dall'oggetto Empty, a causa di ciò dobbiamo aumentare la distanza tra Empty e Camera nell'ultima parte.
Selezioniamo la Camera e fissiamo 2 keyframes, uno al frame 183, con y: -5.1 m
e uno al frame 250 con y: -8.6
premiamo il tasto 0 nel tastierino numerico per commutare in vista Camera, avviamo l'animazione della Viewport con View > Viewport Render Animation e ricaviamo un risultato simile all'esempio con la spirale
L'utilizzo del solo oggetto Empty, facendo dei calcoli in più invece di creare anche la spirale, può sembrare più semplice, ma potremmo trovarci anche in un caso più complicato rispetto a quelli presentati. Si può quindi utilizzare una soluzione invece di un'altra a seconda della situazione che stiamo affrontando.
Eventualmente le animazioni possono essere migliorate, agendo sulle maniglie delle curve nel "Graph Editor", per rendere il movimento più uniforme o per cambiarne l'accelerazione.
Per questo tutorial è tutto, un augurio per una buona presentazione delle vostre opere utilizzando una Camera che segue un percorso a spirale. Happy blending!