Articoli Manifesto Tools Links Canali Libri Contatti ?
Abstract
Introduzione alla modellazione e all'animazione con Blender presentati tramite un semplice progetto.
Data di stesura: 09/09/2004
Data di pubblicazione: 05/10/2004
Ultima modifica: 04/04/2006
di Angelo Theodorou Discuti sul forum   Stampa

Alla ricerca di Blenemo

Preso da manie di grandezza, e non trattenuto da alcuna modestia, ho deciso di mostrarvi come, con non troppi passaggi, ma con molta, moltissima, pazienza, è possibile dare vita ad un piccolo personaggio virtuale animato, sulla falsariga del nostro pesce pagliaccio preferito, quel Nemo che i maestri della Pixar hanno saputo davvero dotare di un'anima.

Quello che sto per presentarvi non è un tutorial come ci si potrebbe aspettare di solito, non mi metterò a descrivere ogni singola azione, tasto premuto o tecnica adoperata, tutte queste cose sono presupposti che il lettore deve già avere, avendo letto l'ottimo manuale di Blender.

P.S. Alla fine ho avuto un po' pietà di voi ed ho variato leggermente l'impostazione, adesso troverete non pochi riferimenti al programma, ai tasti, alle schermate, alle azioni, ma si può ugualmente affermare che non ci troviamo di fronte ad un tutorial classico.

Prendete questo lavoro come una serie di suggerimenti applicati ad un semplice progetto, la creazione di una breve animazione di un personaggio modellato, "texturizzato" e "skinnato" (ossia dotato di un'armatura di ossa per l'animazione scheletrica) da noi.

Il processo non è semplice, mi ha preso molto tempo, perché essendo stata la prima volta che mi impegnavo su un progetto più serio del solito toroide con le riflessioni ho dovuto affrontare molti problemi di cui non mi ero mai preoccupato prima.

Questa breve guida vuole essere soprattutto questo, una visione globale sugli aspetti da tenere in conto, e sul pensiero da seguire, quando si ha in mente un risultato.
Spero che anche l'appassionato non praticante di grafica fatta al computer possa trovare in questa una serie di risposte sulle tecniche base adoperate ma soprattutto sulla dedizione, la pazienza e la concentrazione che un grafico che ama quello che fa investe quotidianamente nelle sue creature.

Modelli di riferimento

Dopo questo scocciante preambolo, che però mi sentivo di farvi, arriviamo alla prima meta pratica.
Ok, abbiamo deciso che, ispirati dalla tenerezza del piccolo Nemo, vogliamo modellare un piccolo pesce pagliaccio.
Ma ... voi sapete com'è fatto un pesce pagliaccio?
No, non sto dicendo com'è fatto più o meno, qual è più o meno la forma delle branchie o vagamente di che colore è... intendo dire: ma sapete DAVVERO come è fatto un pesce pagliaccio tanto da poterlo riprodurre fedelmente ad occhi chiusi?
No direte voi, beh, neanche io a dire la verità! (e ci mancherebbe, mica studio ittiologia!)
Non c'è alcun problema, Internet, e soprattutto Google[1], ci vengono in aiuto. In questa prima fase, infatti, dobbiamo essere sicuri di avere bene presente come sia fatto il soggetto da rappresentare, e per fare ciò dobbiamo raccogliere quanto più materiale grafico è possibile, ben vengano enciclopedie, il National Geographic o la stessa Internet, come dicevo poco più su.
L'importante è definire correttamente un profilo di forma e colore del nostro piccolo amico.

Modellazione

Il nostro Nemo è quello che si definirebbe un modello organico, ovvero non ha spigoli di alcun tipo, da dovunque ci dovessimo mettere ad osservarlo, ci apparirebbe sempre "bombato", levigato nelle forme rotonde.
Non è agevole per noi creare un oggetto di questo tipo servendoci di un'approssimazione, per quanto buona, basata su vertici, spigoli e facce, i mattoni principali della grafica 3d generata al computer.
Il rischio al quale andremmo in contro è rappresentato o dalla scarsa qualità grafica, o dall'alto numero di poligoni utilizzati (come sinonimo di faccia, ovvero una superficie che ha per perimetro spigoli, uniti nei vertici).
A dire la verità, nei videogiochi si usa proprio questo approccio, qualsiasi cosa noi volessimo modellare, la costruiremmo sempre a partire da questi elementi fondamentali, con tutti i rischi del caso quando dobbiamo lavorare con oggetti tondeggianti.
Infatti si parla di modelli low poly (a pochi poligoni) nei VG, ma in quel caso l'uso sapiente delle texture sopperisce alla mancanza di dettagli tridimensionali.
Non è nelle nostre intenzioni creare un modello per un videogioco, siamo allora più liberi di usare qualsiasi tipo di strumento che il nostro programma ci mette a disposizione.
Uno di questi sono le Subdivided Surfaces di Catmull-Clark, cioè un modo per rappresentare matematicamente l'oggetto, a partire da un'armatura semplificata, formata di vertici, spigoli e facce (una mesh), che è facilmente gestibile.
In parole povere, nel modellare, noi utilizzeremo questa mesh di base, che ci servirà solamente per inscrivere al suo interno l'oggetto vero e proprio, definito da formule matematiche. Questo vuol dire che saremo noi a stabilire quanti vertici usare, e quindi quanto "pesante" risulterà il modello, per approssimare quello matematico.
Non lasciatevi spaventare dal nome, sono davvero semplici ed anche divertenti da usare, e lo vedremo subito!

La prima cosa da fare, per iniziare a modellare, è sceglierci, dal materiale raccolto precedentemente, una foto di pesce pagliaccio in posizione quanto più è possibile ortogonale al punto di vista della foto stessa.
Mi spiego meglio, è fondamentale che voi disponiate di una vista laterale del piccolo animale, in modo da apprezzare al meglio, la variazione di almeno due dimensioni delle tre di cui è formato naturalmente il pesce.
Perché ho detto "almeno due dimensioni", ma noi dobbiamo modellarlo in 3d, come facciamo ad avere un riferimento per quanto riguarda la terza dimensione, lo "spessore", del pesce?
Beh, idealmente, dovremmo disporre di almeno due fotografie, una dall'alto ed una laterale, ma vi sfido a trovare una foto di pesce pagliaccio dall'alto che sia adoperabile per i nostri scopi!
Io perlomeno non ci sono proprio riuscito, ed ho deciso di ricostruire la terza dimensione un po' ad occhio, ed un po' facendomi un'idea dalle tante altre foto, le quali, qualcuna meglio e qualcuna peggio, ci danno un'indicazione sullo spessore del nostro soggetto.

Apriamo Blender e carichiamo l'immagine scelta come sfondo della vista laterale.

[Figura 1]

Figura 1

Sembra impossibile, ma a partire da un semplice cubo definiremo a poco a poco la sagoma del nostro amico pesce, basterà semplicemente estrudere una delle sue facce lungo l'asse orizzontale della vista, e poi ripetere il procedimento con quella appena creata, e così via, aggiustando di volta in volta l'altezza rispetto alla foto che abbiamo sullo sfondo, come si vede qui sotto.
[Figura 2]

Figura 2

Adesso è ora di attivare le SubSurf con l'apposito bottone presente nell'Editing Tab (F9), per renderci conto di quello che effettivamente stiamo creando.
Non dimentichiamoci di portare a 2 lo slider Subdiv e quello ad esso adiacente, in modo da impostare a 2 il livello di suddivisione, sia nella fase di editing che in quella di rendering.
Dopodiché, selezionando tutti i vertici, premete il tasto Set Smooth, in questo modo il tipo di suddivisione adoperato sarà di quello che crea un modello ben levigato e non composto di facce piatte.
[Figura 3]

Figura 3

Ora che vediamo, all'interno della mesh circoscritta, la forma che il nostro modello avrà in definitiva, possiamo aggiustare al meglio i contorni, in modo da rispecchiare perfettamente la foto. Una volta che il risultato ci soddisferà, possiamo considerare terminata questa prima fase.

Nota: La foto di riferimento che ho utilizzato mostra quanto questo modello di base sia poco dettagliato, mancano le pinne laterali e quelle al di sopra ed al di sotto del corpo. Per rendere quanto più semplice possibile questo piccolo tutorial ho considerato conclusa qui la fase di modellazione.
Ma nulla vi vieta di ricreare anche gli altri particolari, sempre ricorrendo alla tecnica usata per il corpo, come io stesso ho fatto per il mio modello originale.

Creazione e applicazione delle textures

Per texturizzare il pesce vi dico da subito che utilizzeremo la tecnica dell'UV Mapping.
Sapete già di certo che le texture sono immagini applicate ai modelli tridimensionali per riprodurne fedelmente le caratteristiche visive, per dargli colore, lucentezza, riflessioni, rilievi o trasparenza particolari, per esempio.
L'UV Mapping è una particolare tecnica di "mappaggio" (ovvero di corrispondenza tra il modello e la texture), più raffinata di un "mappaggio" classico che, considerando il nostro oggetto come una primitiva, lo avvolge di conseguenza.
Mi spiego meglio, dovendo dotare il nostro pesce di particolari cromatici, ad esempio la tipica striscia argentea che gli gira attorno completamente, dobbiamo sistemare il colore proprio nel punto che ci serve, non possiamo considerare il pesce come una palla e avvolgerlo con una texture tutta rossa.
Le due lettere U e V corrispondono rispettivamente all'asse x ed y della texture, che poi verranno mappate su quelle delle facce dell'oggetto, avvalendoci dell'UV/Image Editor di Blender.
Le texture non scendono dal cielo solamente perché servono a noi, ma dovremo crearcele ad hoc, usando come base un'immagine che rappresenti la sagoma del nostro modello.
Armiamoci quindi di pazienza e di qualche script, e vediamo come fare.
L'ideale sarebbe stato utilizzare l'UV_Export.py[2] di theeth, ma a me non ha funzionato. Ho deciso allora di adoperare l'ottimo UVMapper[3] (disponibile solo per win, ma funzionante con Wine), coadiuvato dal wavefrontOBJ.py[4] per convertire le mesh in OBJ, l'unico formato accettato dall'UVMapper.
Giocando un po' con i parametri del programma, ricaveremo la sagoma del nostro amato pesciolino, assicuratevi di esportarla ad una risoluzione conveniente, vi consiglio almeno il doppio della risoluzione del filmato che vorrete creare. Questo ci assicura che anche una visuale ravvicinata del modello "texturizzato" non sia di cattiva qualità.
[Figura 4]

Figura 4

Una volta salvata l'immagine, caricatela subito in GIMP ed asportate a mano le linee divisorie delle singole facce.
[Figura 5]

Figura 5

Ora siamo finalmente pronti per mettere mano alla tavolozza e sporcarci di colore!
Carichiamo un'immagine di riferimento, tra le tante che abbiamo messo insieme all'inizio, e cerchiamo di riprodurre su un layer a parte, la texture cromatica del pesce.
Usando molto il color picker e l'airbrush dovremmo in poco tempo arrivare a qualcosa di simile:
[Figura 6]

Figura 6

Considerato la semplicità del risultato che vogliamo ottenere e le nostre (mie pure!) scarse capacità, una texture così va già bene, e vi stupirete di quanto migliori la resa dell'oggetto quando gliela applicheremo.
Passiamo ora a disegnare la texture per il bump, cioè per i rilievi del modello, nel nostro caso, per ricreare le squame del pesce.
Qui il processo è un po' più complicato, ho ritagliato da un'altra immagine di riferimento una porzione dove si vedessero bene le squame, poi l'ho de-saturata e ritoccata nei suoi parametri cromatici, in modo da avere un immagine in b/n a luminosità uniforme, requisito fondamentale per questo tipo di texture, che usa i toni di grigio per determinare l'altezza dei rilievi.
Ora che abbiamo una piccola immagine cromaticamente neutra come base, usando lo strumento clone la riproduciamo su un terzo layer, avendo l'accortezza di rendere invisibile il secondo, contenente la colormap.
[Figura 7]

Figura 7

Ci fermiamo qui, uh, che fatica... ci facciamo bastare queste due texture personalizzate, potevamo continuare ancora, potevamo crearne una per ogni differente caratteristica visiva mappabile contemplata in Blender, ma non aspiriamo a questa maniacale completezza.
Ci basta sapere che qualsiasi risultato ne verrà fuori, sarà solo nostro!

Terminata questa fase, che normalmente sarebbe demandata ad un team di grafici 2d professionisti e specializzati, ma che noi, da veri factotum hobbysti della grafica abbiamo assunto sulle nostre spalle, è tempo di passare alla mappatura vera e propria.
Tornate a Blender, passate allo schermo Material e clonatelo facendo ADD NEW, volendo, potete chiamare questo nuovo schermo come ho fatto io, con molta originalità, UV Mapping.
Centrate una delle due aree sulla vista laterale del modello, mentre per l'altra, passate al'UV/Image Editor.

[Figura 8]

Figura 8

A questo punto siete pronti per mappare sul serio, selezionate tutte le facce che vedete nella vista laterale, e, premendo U, scegliete From Window dal menù UV Calculation che sarà intanto comparso.
Adesso, come avrete capito dando uno sguardo all'area dell UV Editor, dovete, con quanta precisione potete, far combaciare la sagoma tratteggiata con quella dell'immagine, cercando di fare come si vede in questa figura:
[Figura 9]

Figura 9

Adesso, la stessa identica cosa va fatta per le facce che compongono l'altro lato del modello, ruotatelo e quindi selezionatele. L'unica accortezza, dopo aver scelto il tipo di calcolo degli assi UV dal menù, è quello di fare un flip orizzontale del tratteggio, che altrimenti sarà simmetricamente speculare all'immagine.

Nota: Nella versione 2.31 di Blender, l'opzione From Window del menù UV Calculation non funziona. Dovrete usare un'altra versione per compiere questo passaggio, tornando eventualmente alla 2.31 solamente dopo averlo esplicato.

Nota: Vi ho detto poco sopra di non essere riuscito in alcun modo a far funzionare l'UV_Export.py, a quanto mi è parso di capire è stata colpa di un mio erroneo utilizzo dello stesso, in realtà bisogna prima mappare le facce dell'oggetto nell'UV/Image Editor (anche se non si ha ancora a disposizione la texture) e poi esportare la tga di riferimento con lo script. Provateci voi ed eventualmente mi fate sapere.

Nota: le ultime versioni di Blender integrano già nell'interfaccia lo script per l'UV export, basterà andare nell'UV/Image Editor, aprire il menù UVs e selezionare la voce "Save UV Face Layout...".
La mappatura che avete appena fatto varrà per ogni texture che voi vorrete mappata secondo l'UV Mapping.
Questo vuol dire che il lavoro appena fatto, varrà per entrambe le texture che ci siamo creati, l'unica cosa da fare è definire effettivamente quali saranno le texture che comporranno il materiale da assegnare al modello.
Createvi un nuovo materiale e poi due texture, chiamate queste ultime in modo che vi facciano ricordare che una conterrà la colormap, ed un'altra la mappa del bump.
Per la texture della colormap, andate nella tab delle texture (F6), selezionate come tipo image, e quindi caricate la texture che ci siamo creati prima.
Ora, tornate alla tab dei materiali (F5) e nella sezione Texture scegliete UV come Map Input e Col nella tab denominata Map To.
Ripetete la stessa cosa per l'altra texture, cambiando solamente l'ultimo passaggio, invece di selezionare Col, premete su Nor e su Spec, ed spostate lo slider Nor verso un valore maggiore. Fate delle prove finché il risultato non vi piacerà.

Animazione (1)

L'animazione che ho in mente per questo piccolo tutorial è qualcosa di semplice, senza dubbio, ma che comunque evidenzierà alcune cose interessanti, come l'animazione per fotogrammi chiave e per cinematica diretta.
Questa può essere pensata come composizione di due movimenti indipendenti, ma fusi tra loro, che accadono in contemporanea, per uno useremo la prima tecnica, per l'altro prevalentemente la seconda.
Il primo è il movimento del pesce rispetto alla telecamera ed alle luci, l'altro è il movimento di alcuni vertici che compongono il corpo del pesce, relativamente alle loro posizioni originali, o allo stato di riposo, si potrebbe dire.
Mi rendo conto di essere stato poco chiaro, quindi mi appresto a mostrarvi effettivamente cosa ho in mente.
L'animazione che costruiremo non è nulla di particolare, il pesciolino "nuoterà" lungo una sola direzione, entrando nel campo della telecamera dopo qualche fotogramma, sosterà per un po' , verso la metà del filmato, e poi sparirà dal lato opposto a quello dove all'inizio è comparso.
Il nostro occhio non si farebbe impressionare da un movimento simile, abituato com'è alla realtà ed alla sua rocambolesca, colorita e stravagante vitalità, ma se ci fermiamo un secondo ad analizzare il fenomeno - il fulcro dell'attività dell'artista è sempre stato l'osservare - ci rendiamo conto che si tratta di una traslazione lungo un solo asse di un oggetto, che oltre a cambiare velocità, in fisica diremmo che ha un'accelerazione non nulla, cambia anche forma, noi diremmo che nuota, ma non so quanta differenza faccia al programma.
Nel suo moto e nel suo cambio di forma non c'è arbitrarietà, il moto è costante, poi decelerato, poi accelerato e di nuovo costante, mentre il suo cambiar forma sembra si possa collegare a rotazioni e traslazioni particolari di alcuni dei suoi vertici.
Si, c'è da uscire pazzi, concordo, ma Blender ci verrà in aiuto, ve lo garantisco. È basilare ricordarsi che non si deve mai perdere di vista l'analisi che abbiamo fatto, non dobbiamo farci soverchiare dal caos e dalla pluralità delle combinazioni, dobbiamo tenere a mente la scomposizione del movimento in unità più piccole e semplici da gestire.

Il primo dei due movimenti che abbiamo identificato all'inizio è il più facile da ricreare.
Vi accorgerete della potenza dei fotogrammi chiave e delle curve di interpolazione, due cose che ritroverete anche nel secondo tipo di movimento.
Carichiamo il modello in Blender e passiamo al primo schermo, quello chiamato Animation, ora assicuriamoci di avere da un lato la vista della telecamera (basterà premere "0" dal tastierino numerico) e dall'altro l'IPO Curve Editor, lo strumento che ci permetterà di manipolare le curve di interpolazione del programma.
Si, ho capito, non mi state seguendo più, devo fare un'altra digressione esplicativa, ben venga allora.
Il concetto di fotogramma chiave e quello di interpolazione sono strettamente correlati, è vitale poter disporre di queste due funzioni, altrimenti dovremmo definire ogni fotogramma come fa il fumettista per le sue tavole, le disegna tutte!
Il computer invece ci viene in aiuto, il grafico penserà a definire gli attributi del movimento (traslazione, rotazione, cambio di dimensione) solo relativamente a certi fotogrammi "chiave", mentre quelli intermedi verranno generati matematicamente. Il concetto è che se è possibile far fare al computer i lavori più regolari e ripetitivi, allora che così sia! L'artista è più libero di pensare alle "irregolarità" del movimento, mentre ne lascia la ricostruzione regolare all'elaboratore.
Un esempio vi aiuterà a capire, se devo far muovere una sfera da un punto A ad un punto B, e voglio che il movimento sia rettilineo uniforme, cioè a velocità costante, mi basterà definire il punto di partenza e quello di arrivo, e poi andare a definire il tipo di interpolazione per essere sicuri che sia lineare, cioè una retta.
Tutti vi ricorderete, dai tempi della scuola, che in un grafico spazio-tempo, il moto rettilineo uniforme è rappresentato da una retta, da una funzione lineare per l'appunto, "spazi uguali in tempi uguali", in quel particolare moto lo spazio percorso è direttamente proporzionale al tempo trascorso.
Spero che adesso vi sia più chiaro quello che andremo a fare, e soprattutto le potenzialità dell'IPO Curve Editor, che è proprio lo strumento con il quale definiremo i punti chiave e la funzione grafica interpolata.
Vi assicuro che non c'è bisogno di alcuna conoscenza fisico-matematica per riuscire a ricreare tutti i movimenti che vi passano per la testa, ma solamente molte prove, intuizione e le capacità di analisi che vi ho illustrato all'inizio di questo lungo discorso.

Ora che avete il programma aperto, il modello caricato, e le finestre disposte come ci fa più comodo, è arrivato il momento di definire i fotogrammi chiave, ce ne servono due, il primo che stabilirà il punto di partenza del pesce, ed il secondo, come avete intuito, il punto di arrivo.
Prima però, definiamo la lunghezza dell'animazione, io ho deciso di crearne una di 10s, dal momento che ci sono 25fps nel formato PAL tradizionale, i frame totali saranno 250, impostiamo questo numero nel Render Tab (F10), nel pulsante con vicino scritto End:, nella sezione Anim.
Usando la vista della telecamera come riferimento, sistemiamo il pesciolino sulla sinistra, in modo che sia appena fuori dal rettangolo tratteggiato più esterno (che ci mostra il campo di ripresa) e premiamo I.
Istantaneamente apparirà il menù Insert Key, che, come avrete capito, ci permette di impostare un fotogramma chiave, non solo, ci da anche la possibilità di scegliere quali parametri tenere in considerazione, a noi interessa solamente la posizione, scegliamo quindi la prima opzione, Loc.
Guardate cosa succede nella finestra di destra, nell'IPO Curve Editor, sono comparse tre linee diritte colorate, rappresentano il grafico tempo-coordinata spaziale, ce n'è una per ogni dimensione, LocX, LocY e LocZ.
A questo punto, aggiungiamo un altro fotogramma chiave per vedere cosa succede, per prima cosa, raggiungiamo il fotogramma finale, poi spostiamo il pesce lungo una sola direzione ed in modo che sia appena fuoriuscito alla destra del campo della telecamera, premiamo ancora una volta I ed impostiamo un'altra chiave di tipo Loc.
Visto cos'è successo? Sono comparsi altri 3 punti chiave sulle nostre 3 curve, 2 di esse sono ancora delle rette, ma la terza, la LocX, presenta una variazione di altezza tra il frame 0 ed il frame 250.
Spero sia chiara a questo punto la stretta correlazione tra il grafico rappresentato dalle curve ed i parametri del moto dell'oggetto. Avendo noi mosso il pesce lungo un solo asse, l'unico parametro che varia durante l'animazione è la sua coordinata rispetto all'asse X, è questo che ci vuole dire quella curva!
Ma le sorprese non finiscono qui, mettendoci a giocare con i punti chiave, ci accorgiamo come esse siano in realtà punti di controllo di curve Spline, e pertanto presentano i diversi tipi di maniglie per controllarne la forma, non solo, proprio come faremmo per modellare una Spline, premendo CTRL possiamo aggiungere altri punti e variare con ancora più precisione la forma della curva rispetto ai nostri bisogni!
Immagino che ormai abbiate capito della potenza demiurgica che è al vostro servizio, e che vogliate imparare a servirvene per i vostri scopi divini!
Fate tutte le prove che volete, sembra sempre tutto molto chiaro all'inizio, ma ce ne vuole finché riusciate a mettervi in testa la relazione tra quei punti e quelle curve e l'effettivo movimento delle vostre creazioni.

Vediamo se avete capito ... aggiungete un terzo punto, verso il mezzo dell'animazione, ed editate la curva in modo che il modello sembri fermarsi e poi riprendere, con una discreta accelerazione, il suo moto verso destra.
Potete in ogni momento verificare l'animazione con l'anteprima che Blender vi mette a disposizione premendo ALT-A quando avete il focus su una finestra di tipo 3D View.
Ah, dal momento che non c'è alcuna variazione lungo l'asse Y ed Z, potete cancellare le rispettive curve.
La situazione che vi si parerà davanti sarà simile a questa:

[Figura 10]

Figura 10

Direi che la prima parte della fase animativa è completato, ora ci attende la seconda, forse più interessante e divertente, ma anche più lunga e stancante, dobbiamo dotare il modello di un movimento suo intrinseco, di un'alterazione nella forma, altrimenti, così com'è, potrebbe anche essere confuso con un manico di scopa!

Animazione (2)

Ciò che faremo in questa fase sarà il definire un'armatura di ossa che ci aiuterà a controllare la deformazione del pesce, in maniera che il suo movimento traslatorio sembri dovuto al movimento della sua pinna.
Ognuna di queste ossa potrà essere collegata alla precedente, tramite un punto comune, una specie di articolazione, e, soprattutto, ognuna di queste ossa controllerà il movimento di un certo gruppo di vertici.
Posizioniamo il cursore 3D dove si trova la testa del pesce, ed aggiungiamo l'oggetto armatura.
Fatto questo noteremo la comparsa del nostro primo osso, il quale, partendo dal cursore 3D, seguirà la posizione del puntatore. Premendo il tasto sinistro del mouse nei pressi dell'inizio della coda fisseremo l'estremità finale di questo primo osso e contemporaneamente quella iniziale del secondo, il quale, ripetendo le stesse azioni di prima, lo fisseremo alla fine della coda del nostro pesce.
Aiutatevi con questa figura:
[Figura 11]

Figura 11

Definita l'armatura, è tempo di andare a vedere quali vertici verranno influenzati dal movimento di quali ossa.
Per fare questo, dobbiamo dare il nome a queste ultime ed ai gruppi di vertici, vediamo come fare la prima di queste due cose.
Selezioniamo l'armatura, premiamo TAB per andare in Edit Mode, poi selezioniamo i due estremi del primo osso e, andando nell'Edit Tab, cambiamo la scritta "Bone", nella sezione Armature Bones in qualcosa tipo "Body", o "Corpo", o come volete. Ora facciamo la stessa cosa per il secondo osso, lo selezioniamo e cambiamo la scritta "Bone.001" in "Tail", "Coda" o altro.
Notiamo questa volta il rapporto di dipendenza tra le due ossa, c'è scritto infatti "Tail child of Body", il secondo osso è "figlio" del primo.
[Figura 12]

Figura 12

Per creare i Vertex Groups selezioniamo il modello del pesce, premiamo TAB e spostiamoci ancora una volta nell' Edit Tab, selezioniamo tutti i vertici tranne quelli che compongono la coda, poi, nella sezione Link and Materials, premiamo New sotto la scritta Vertex Groups, scriviamo il nome, poi premiamo su Assign.
Per creare il secondo gruppo di vertici, deselezioniamoli tutti con A, poi selezioniamo solo quelli della coda e ripetiamo le azioni precedenti.
I nomi assegnati non devono essere arbitrari, devono invece rispecchiare quelli dati alle ossa dell'armatura.
Notate, nelle due figure sottostanti, come alcuni vertici appartengano a due gruppi diversi, questo vuol dire che verranno influenzati da due diverse ossa contemporaneamente.
[Figura 13]

Figura 13

[Figura 14]

Figura 14

Ora l'ultimissima cosa, per sancire definitivamente l'unione tra armatura e modello, e verificare con mano il nostro lavoro, dobbiamo creare un rapporto gerarchico tra queste due entità.
Selezioniamo prima il pesce (è importante l'ordine!), schiacciamo SHIFT per selezionare contemporaneamente l'armatura e premiamo CTRL-P.
Comparirà il menù Make Parent, scegliamo da questo l'opzione Use Armature, comparirà un secondo menù, Create Vertex Groups?, dal quale sceglieremo Don't Create Groups (abbiamo infatti già creato prima i gruppi di vertici).
Adesso che l'armatura è "genitore" del modello, possiamo verificare le deformazioni selezionandola e ruotando in Pose Mode le singole ossa.
Un'ultima cosa da aggiustare, dobbiamo traferire la IPO Curve definita prima per la traslazione del pesce sull'armatura, altrimenti questa rimarrà ferma, e le deformazioni non saranno corrette.
Allo stesso tempo eliminiamo il collegamento tra questa IPO e il modello, visto che quest'ultimo subirà le stesse trasformazioni di moto del suo "genitore", ovvero l'armatura.
Tornando allo schermo 1-Animation, selezioniamo il pesce e premiamo la grande X a fianco della scritta "IP:ObIpo.001", poi selezioniamo l'armatura e scegliamo dal menù la IPO di prima. Abbiamo così trasferito la curva del moto da un oggetto all'altro, come volevamo.
Premendo ALT-A però, noteremo una piccola sfasatura, ciò è dovuto ai differenti centri dei due oggetti, l'armatura ha il centro sulla prima estremità del primo osso, mentre il nostro modello, probabilmente lo avrà da qualche altra parte.
Credo che ormai ve la possiate cavare da soli nel sistemare questo piccolo inconveniente.

Verificato che tutto sia ok, è il momento di creare le diverse pose che ci serviranno.
Vi dico da subito che saranno solo tre le pose chiave, tutte le altre saranno interpolate a partire da queste, seguendo lo stesso principio lungamente trattato nella fase precedente.
Selezionate l'armatura ed andate in Pose Mode, disponete le ossa in modo che il pesce sia diritto, come se non fosse stato mai deformato, e premete I, dal menù Insert Key scegliete Rot, dal momento che due sole ossa congiunte possono unicamente ruotare una rispetto all'altra.
Cambiate l'IPO Curve Editor nell'Action Editor, noterete la presenza di due strisce col nome delle ossa implicate nel movimento e due rettangolini grigi che rappresentano la posa chiave di queste.
Selezioniamo entrambi i rettangolini e spostiamoli con G, proprio come fossero oggetti, verso la metà dell'animazione, infatti, in corrispondenza dell'arresto della traslazione, vi sarà anche uno stato di riposo delle pinne.
Ora invece definiamo le altre due pose chiave, quelle della pinnata verso destra, e quella simmetrica verso sinistra, in questo movimento, non solo la pinna, ma anche il corpo seguirà l'azione.
Osservate qui sotto le tre posizioni:

[Figura 15]

Figura 15

[Figura 16]

Figura 16

[Figura 17]

Figura 17

Ora il lavoro più duro in assoluto ci attende... cercare di far combaciare l'accelerazione e la velocità del moto traslato del pesce con la frequenza della sua pinnata, qui purtroppo nessuno strumento ci aiuta, forse la simulazione fisica dei fluidi di Maya Unlimited, ma, ehm, credo questo esuli leggermente la trattazione di questa mia guida!
Come dicevo, non ci viene in aiuto nulla di particolare, ma solamente il copiare le tre pose chiave in diversi punti della timeline dell'animazione ed il ponderare con attenzione la loro distanza (che poi si traduce nella frequenza della pinnata) in corrispondenza della curva del moto, che invece ci indica lo spostamento del corpo e di riflesso (in analisi matematica diremmo per derivazione!) la sua velocità ed accelerazione.
Ecco un'altra immagine per capire un po' cosa aspettarsi alla fine:
[Figura 18]

Figura 18

È un lavoro iterativo fatto di molte, moltissime prove, cambiamenti, controlli, revisioni, etc...
Quando l'anteprima con ALT-A vi darà soddisfazione, e quando l'inquadratura, le luci e tutto il resto, sarà stato reso come più vi aggrada, è tempo di leggere la conclusione.

Conclusioni

Uff, è finita! Ora è solo tempo di impostare le preferenze relative al rendering (la risoluzione, il formato, l'antialiasing, etc.) nel Render Tab e poi premere il grande tasto ANIM per far partire il calcolo dei singoli frame della nostra animazione.
È stato un lavoro lungo, stancante, a tratti magari anche frustrante, lo riconosco, io stesso ho sudato le proverbiali sette camicie e più volte ho avuto la tentazione di gettare la spugna.
Ma non è stato tutto inutile, perché è garantito che d'ora in avanti avrete più lucidità e consapevolezza nel cercare di conseguire i vostri obiettivi grafici con Blender!
Ovviamente è d'obbligo la lettura in toto del manuale e di molti tutorial e la pratica continua per progredire in questo campo.

Nota: Questa guida è frutto di un lungo lavoro, è stata riletta e revisionata, ma è ovviamente sempre possibile che ci siano errori più o meno grandi o veri strafalcioni, non esitate a farmelo sapere!
Per correzioni, critiche e commenti: angeloth@tin.it.

Informazioni sull'autore

Angelo Theodorou, studente di Scienze Informatiche presso la Federico II di Napoli. Si occupa principalmente di programmazione ma da sfogo alla sua creatività anche nel campo della grafica 3d. Utente Linux e fautore del software libero, è anche profondo amante della piattaforma Amiga (di cui è stato assiduo utente per 10 anni) e della sua scena demo.
Il sito dove tiene traccia dei suoi progetti: http://autistici.org/encelo/

È possibile consultare l'elenco degli articoli scritti da Angelo Theodorou.

Altri articoli sul tema Grafica / Modellazione 3D / Blender.

Discuti sul forum   Stampa

Cosa ne pensi di questo articolo?

Discussioni

Questo articolo o l'argomento ti ha interessato? Parliamone.