In questo tutorial di modellazione realizzato con Blender 4.3 vedremo come modellare una catena che segue il percorso e la lunghezza dati da un oggetto Curve.
Trascrizione del video
Salve a tutti! In questo tutorial di modellazione realizzato con Blender 4.3 vedremo come modellare una catena che segue il percorso e la lunghezza dati da un oggetto Curve. Più in generale, con la tecnica mostrata qui potremo modellare e animare degli oggetti che si replicano automaticamente lungo un percorso a piacere.

Per prima cosa, inizio creando il primo elemento della catena. Ci sono vari modi per realizzare un oggetto del genere. Io sto iniziando da un oggetto Torus, riducendone il numero di vertici perché quelli di default sono fin troppi. Ruoto l'anello in modo da avere due tagli allineati lungo l'asse Y, dopodiché inserisco altri due tagli proprio nelle parti centrali lungo l'asse Y con Ring Cut e sposto tutta la metà di destra lungo l'asse X. In questo modo ottengo la forma base dell'anello della catena. In Edit Mode, riposiziono l'oggetto al centro della scena, così l'Origin sarà al centro dell'oggetto.

Prima di andare oltre col tutorial, vi faccio notare che potete ridimensionare facilmente le dimensioni degli Edge Rings che costituiscono l'anello della catena. Non dovete far altro che passare in modalità di selezione spigoli in Edit Mode per selezionare un primo anello di spigoli, cambiare la modalità di trasformazione in Individual Origins, selezionare tutti gli anelli di spigoli con Select Edge Rings ed effettuare uno scaling della selezione. Questa trasformazione potrà essere attuata anche a catena ultimata, per modificare l'aspetto degli anelli. Al termine, imposto nuovamente la modalità di trasformazione in Median Point, per sicurezza.

Inserisco adesso una curva all'interno della scena. Esistono vari tipi di oggetti Curves e ce n'è uno che si chiama Path, tuttavia Path è un oggetto di tipo Nurbs, che funziona con punti di controllo esterni e un sistema di pesi. Preferisco quindi utilizzare un oggetto di tipo Bezier Curve, opportunamente ridimensionato e orientato, in modo che uno dei suoi punti di controllo iniziali coincida con l'Origin dell'anello.

Seleziono proprio l'anello della catena e gli fornisco un modificatore Array, che di default crea una copia spostata di un'unità relativa lungo l'asse X. Noto subito che la nuova copia non è allineata all'oggetto iniziale. Ciò è dovuto al fatto che all'inizio ho ruotato il Torus di 10 gradi e questa modifica viene applicata anche ai nuovi oggetti creati con Array. Per risolvere questo problema, applico le trasformazioni di rotazione con CTRL A e scegliendo Rotation And Scale dal menù che appare a video. La scala di questo oggetto era uniforme, perché non avevo ridimensionato il Torus in Object Mode, quindi in questo caso non c'era bisogno di applicare anche Scale, ma alla fin fine non è un problema.


Per posizionare il secondo anello all'interno del primo non devo far altro che abbassare adeguatamente il valore di Factor X in Relative Offset. C'è però un problema, perché nella scheda di Array non posso impostare un fattore di rotazione, per cui il secondo anello e i successivi non possono essere ruotati da qui.

Per risolvere questo problema devo inserire un terzo oggetto nella scena, questa volta di tipo Empty, posizionandolo lì dove si trova l'Origin del primo anello e senza scalarlo, per evitare problemi. Imposto poi questo oggetto Empty nel campo Object Offset del modificatore Array. Adesso, ruotando la Empty di 90 gradi intorno all'asse X, tutti gli elementi successivi al primo saranno ruotati di 90 gradi ciascuno. Sia Relative Offset che Object Offset sono quindi attivi, per cui il primo sposta le copie dell'anello e il secondo le ruota. Aumentando il valore del parametro Count dell'Array otteniamo la nostra catena lungo l'asse X.



A questo punto cambio il Fit Type del modificatore Array da Fixed Count a Fit Curve, specificando ovviamente la curva Bezier come oggetto Curve dal quale prendere la lunghezza. In questo modo, Array creerà automaticamente un numero di anelli sufficiente per coprire la lunghezza dell'oggetto Curve, ma ancora solo in linea retta dal primo punto di controllo all'ultimo.

Per far seguire il percorso della curva alle copie create da Array, fornisco un modificatore Curve all'oggetto Torus. L'ordine dei modificatori è importante, ed in particolare Curve va posizionato dopo Array. Ad ogni modo, anche se è selezionato l'asse di deformazione corretto, ossia l'asse X, il risultato non appare ancora corretto. Vediamo quindi come sistemare alcune impostazioni che causano questo comportamento.

Per prima cosa, l'Origin dell'oggetto Curve si trova in un punto al di fuori della curva stessa. Per ottenere un buon risultato, l'Origin va posizionata nel primo punto di controllo, che dovrebbe coincidere con l'Origin del primo anello. Passo quindi in modalità Edit e posiziono il 3D Cursor nel primo punto di controllo della curva, selezionandolo e utilizzando lo strumento Cursor To Selected. Torno poi in Object Mode e utilizzo lo strumento Origin to 3D Cursor per posizionare lì l'Origin dell'oggetto Curve.


Va già meglio, ma ci rendiamo subito conto che in realtà il primo anello è stato posizionato nel punto di controllo finale e la catena prosegue da quel punto in poi, proseguendo verso l'esterno, al di fuori del tracciato della curva. Questo ci dà un indizio su un altro aspetto da correggere, ossia l'orientamento della curva. Gli oggetti Curve hanno infatti una direzione, che può essere visualizzata in modalità Edit attivando la visualizzazione delle Normals nel menù Curve Edit Mode Overlays.


Per invertire la direzione della curva, scambiando quindi i punti iniziale e finale, dobbiamo selezionare tutti gli elementi della curva in Edit Mode e scegliere lo strumento Switch Direction nel menù Segments. Il risultato, però, non è ancora corretto.


L'ultima correzione che dobbiamo effettuare riguarda la rotazione della curva, che all'inizio ho ruotato di 180 gradi lungo l'asse Y per ribaltarla. Ciò crea qualche confusione nel suo orientamento reale. Per risolvere questo problema, applico le trasformazioni di rotazione con CTRL A e Apply Rotation. Anche se il fattore di scala della curva non è 1, questa volta non applico le trasformazioni di scala, perché in questo caso dovremmo andare a sistemare anche altri parametri. Meglio lasciarlo così. Ad ogni modo, adesso abbiamo il risultato corretto.


Adesso possiamo selezionare l'oggetto Curve, passare in modalità Edit e modificare i suoi punti di controllo spostandoli, ruotandoli o estrudendoli, osservando come le trasformazioni vengono applicate alla catena. Il numero di anelli della catena varia automaticamente in base alla lunghezza della curva, che cambia quando spostiamo o estrudiamo i suoi punti di controllo.


Se però sposto anche uno solo dei tre oggetti che abbiamo utilizzato per ottenere questo risultato, ecco che si rompe tutto. Una trasformazione della Empty avrà infatti effetti su tutte le copie create dall'oggetto Array, mentre uno spostamento dell'oggetto Curve o del Torus provocherà un disallineamento tra i due oggetti e, quindi, un risultato errato nell'applicazione del modificatore Curve.

Per risolvere questo problema, la cosa più semplice da fare è riposizionare il primo punto di controllo dell'oggetto Curve, e quindi il primo anello della catena, lì dove si trova l'oggetto Empty, per poi imparentare sia la curva che il Torus all'oggetto Empty. Il parenting va effettuato con una selezione multipla in cui l'ultimo oggetto selezionato, che sarà quello attivo, sarà il genitore degli altri. Nel nostro caso, quindi, la Empty va selezionata per ultima, in questa selezione multipla.

Fatto ciò, sarà sufficiente spostare la Empty per posizionare il punto iniziale di tutta la catena. Una volta fatto questo, potremo selezionare l'oggetto Bezier Curve e passare in Edit Mode per modificare l'aspetto della catena.

Prima di concludere il tutorial, ecco un piccolo extra. Se volete animare la curva, potete associare delle ulteriori Empty ai suoi punti di controllo mediante una tecnica chiamata Hooking. Per farlo, selezionate uno o più punti di controllo in Edit Mode, dopodiché utilizzate lo strumento Hook To New Object. Io ad esempio sto utilizzando questo strumento solo sull'ultimo punto di controllo dell'oggetto Curve. Il nuovo oggetto creato è un'altra Empty, che rinomino subito in Hook Empty per non fare confusione. Questo oggetto non deve essere necessariamente imparentato con gli altri. Ad ogni modo, potete inserire dei Keyframes di animazioni per questo nuovo oggetto ed osservare come la catena viene animata.



Il Fit Type del modificatore Array era Fit Curve, che però forse non è adeguato per un'animazione di questo tipo, per cui vi consiglio di provare con Fixed Count. Ad ogni modo, anche per questo tutorial è tutto! Spero vi sia stato utile. A presto!
