📽️ Animazione tastiera musicale realizzata in Blender, approfondimento tecnico 📽️


🤌 Di cosa parleremo ? 🤌

Se siete qui, è probabilmente perchè siete interessati all'animazione realizzata in Blender che ho recentemente pubblicato su youtube.
Per chi non lo avesse ancora visto, lascio il link al video.

Questo approfondimento è pensato per chi, rimasto incuriosito, volesse saperne di più riguardo agli aspetti più tecnici di come la produzione di questo video è stata portata a termine.
Tenete a mente però, che non essendo un tutorial, non scenderò in ogni singolo particolare del processo. Mi limiterò a spiegare l'idea di fondo e le motivazioni per cui un particolare procedimento è stato scelto rispetto a un altro.

In particolare parleremo di:

  • Modellazione degli oggetti utilizzati e la mia personale tecnica per trasformare oggetti "reali" in modelli 3d, approfondendo il delicato processo del prendere le misurazioni necessarie.
  • Gli stereo ed il vu-meter e come li ho fatti reagire alla musica di sottofondo
  • Shader e trucchi per raggiungere un sufficiente realismo quando si lavora con oggetti simili alla tastiera dell'animazione.
  • Animazione degli oggetti e come rendere facilissimo sincronizzare i movimenti alla musica.

Spero che la lettura sia di vostro gradimento e sopratutto vi sia utile o di ispirazione per il vostro prossimo progetto.


Modellazione 3d della tastiera:

La tastiera è stata il primo modello che ho realizzato per l'animazione e quello che mi ha convinto a proseguirne la realizzazione.
A dire la verità, questo progetto originariamente non avrebbe neanche dovuto portare ad un prodotto finito: lo avevo inteso come un semplice esercizio.

Avevo voglia di mettere alla prova le mie capacità di modellazione 3d, ed un giorno mi imbattei nella mia vecchia tastiera musicale Akay.
L'oggetto mi sembrava sufficientemente complesso per rappresentare una vera sfida, quindi decisi di ricrearlo in Blender.

Immagine WhatsApp 2025-03-18 ore 19.17.40_6679fd8b.jpg
la tastiera a cui mi riferisco

--

Step 1, misurazione ed inserimento delle misure:

Il primo step per ricreare in 3d un oggetto del genere è sicuramente prendere delle misure per ricreare quella che è la forma grezza dello stesso.
Le misurazioni sono essenziali per fornire delle proporzioni sensate a ciò che poi si andrà a realizzare.

Non importa se già sapete che andrete a modificare quelle misure in uno step successivo, è sempre meglio partire con una base il più vicina alla realtà possibile, facendo in modo che il modello abbia un aspetto almeno plausibile.

Per quanto riguarda la presa delle misure, consiglio vivamente di munirsi di un calibro digitale.
A differenza di un semplice righello, il calibro è più preciso. Inoltre, attraverso la sua parte posteriore, è anche possibile misurare il diametro di fori o la profondità di varie cavità che potrebbe essere necessario quantificare.

Pasted image 20250318192050.png
un calibro digitale

Dopo aver preso le misurazioni, queste vanno ovviamente poi utilizzate ed inserite in Blender.

Da qui in poi il vostro approccio potrebbe variare: non esiste un metodo giusto o sbagliato per realizzare uno specifico oggetto, me esiste solo la strategia più conveniente per quello che si deve realizzare.

Nel mio caso mi è bastato realizzare un rettangolo e scalarlo a dimensione inserendo le misure per ogni dimensione, una ad una.

Proprio riguardo all'inserimento delle misure, mi sento di darvi un consiglio: se l'oggetto che state realizzando è relativamente piccolo, è conveniente inserire le misure effettuate, che solitamente sono in centimetri, in metri.

Pasted image 20250318195444.png
Screenshot di una porzione di UI di blender: versione 4.3.2

Facendo un esempio pratico, nell'immagine qui sopra la misura di 2m riportata corrisponde in realtà ad una misura di 2cm.

La principale motivazione per questa scelta è la convenienza: non è necessario fare la conversione tra metri e centimetri per l'inserimento delle misure e il viewport di Blender risulta molto più facile da navigare in questo modo.

Mi spiego meglio:

Inserendo le misure del modello in metri, ogni volta che sarà aggiunto un nuovo solido, come un cubo per esempio, questo non dovrebbe risultare "troppo ingombrante" rispetto al modello, permettendo di lavorare più facilmente. Con le misure in centimetri invece, sarebbe necessario rimpicciolire il solido ogni volta solamente per vederci qualcosa. Un gesto, che se ripetuto decine di volte, può diventare rapidamente fastidioso.

--

Step 2, modellazione vera e propria:

Una volta aver misurato l'oggetto ed aver definito rozzamente le forme e le proporzioni dello stesso, non resta che cominciare con la modellazione vera e propria.
Anche in questo caso, come avevo specificato per il punto precedente, non esiste un solo metodo per realizzare un modello e la tecnica più conveniente varia a seconda del soggetto che si intende riprodurre.

Un consiglio generalizzato però è sicuramente quello di realizzare un modello complesso come quello della tastiera attraverso l'uso di più semplici oggetti differenti.

Una buona regola da darsi è osservare quali sono le varie componenti dell'oggetto nella vita reale e prevedere un singolo "pezzo" per ognuna di queste componenti.

La tastiera per esempio è composta da tantissime parti: ogni tasto è una componente indipendente che può essere mossa e gestita nello spazio 3d senza preoccuparsi di tutte le altre.

Vi posso dire per esperienza che è più facile gestire e realizzare una moltitudine di oggetti più semplici piuttosto che cercare di realizzare un pezzo unico contenete tutti i dettagli e tutte le feature del modello finito.
Riassumendo: là dove potete, dividetevi il lavoro.

Pasted image 20250318205424.png
La tastiera divisa nelle sue varie componenti.

La tastiera, se divisa nelle sue varie componenti, alla fin fine risulta essere un modello relativamente semplice: la maggior parte delle forme sono cubiche o rettangolari e la smussatura dei bordi dei tasti e del corpo centrale è facilmente realizzabile attraverso dei semplici bevel. Bevel che consiglio di applicare solamente al termine della modellazione di base del modello, dato che se applicati complicano di molto quella che è la geometria dell'oggetto, rendendo molto più difficile fare eventuali aggiustamenti successivi.

Essenziale infine è tenere ordinato il progetto dividendo gli oggetti all'interno di varie collection, raggruppandoli in modo che non si faccia confusione

Pasted image 20250318210152.png
Le varie collection presenti nel progetto.

Per quando riguarda la modellazione non mi sento di dire molto altro: è necessario fare pratica e trovare il modo corretto di dividere l'oggetto nelle sue componenti fondamentali.


Gli stereo e come fanno a reagire alla musica:

A risaltare particolarmente all'interno dell'animazione, sono gli "stereo" che si trovano ai lati dello schermo.
Questi modificano contemporaneamente la loro forma e la loro emissione di luce a seconda della musica, cosa che in mio parere rende più "vivo" il risultato finale.

FINAL3217 1.png
Un frame dell'animazione in cui si possono vedere da vicino gli stereo

La modulazione delle due proprietà dell'oggetto, viene eseguita separatamente: la "forma" viene modificata da un sistema di geometry node, mentre la emissione di luce viene variata attraverso un parametro contenuto nella shader.

La base del funzionamento di entrambi i sistemi però si trova nel graph editor, ed in particolare nella funzione "Sound to samples", che permette di trasformare un file audio in una sequenza di keyframe.
Questa sequenza di keyframe viene poi usata per modificare le proprietà degli stereo.

--

Creazione della sequenza di keyframe:

Il processo di realizzazione della sequenza di keyframe ha luogo in quello che è il graph editor di blender.
In particolare, bisogna navigare nella sezione "Channel" e poi trovare la funzione "Sound to samples".

Pasted image 20250320193128.png
Dove trovare la funzione Sound to samples nel Graph editor di Blender, versione 4.3.2

Ancora prima di eseguire la trasformazione però, dobbiamo definire il valore che vogliamo far "controllare" dalla sequenza che andremo a creare.
In particolare, nella shader di un qualsiasi modello a vostro piacimento, creiamo un nodo "Value", che sarà il valore che andremo a controllare con la sequenza.

Pasted image 20250320193845.png

Dopo averlo aggiunto, il value avrà un'aspetto più o meno di questo genere, a seconda della versione che state utilizzando:

Pasted image 20250320194104.png

Clicchiamo sul campo di inserimento e poi premiamo "I" sulla tastiera per inserire un keyframe (consiglio di spostarsi prima al frame 0 nella timeline).
Dopo aver creato questo keyframe, il nodo "value" assumerà questo aspetto:

Pasted image 20250320194319.png

Da qualche parte nel nostro graph editor, evidenziato in giallo, dovrebbe anche essere apparso un nuovo valore:

Pasted image 20250320194459.png

Dopo aver creato il valore, possiamo finalmente cliccare sulla funzione "Sound to samples" e selezionare il file audio. Si possono anche modificare, se necessario, i vari parametri che questa funzione ci mette a disposizione.

Pasted image 20250320195205.png

Alla fine di questo processo, ci ritroveremo con la tanto desiderata sequenza e potremo finalmente utilizzare il valore che avevamo creato nella shader per controllare tutte le proprietà che vogliamo.
Lo stesso procedimento appena descritto risulta valido anche per i geometry node ed il transform dei vari oggetti. Si tratta sempre di creare un valore che si intende controllare, salvare un keyframe per creare un channel nel graph editor e poi utilizzare la funzione "Sound to Samples" per creare la sequenza desiderata.

--

La shader:

Per quanto riguarda la shader non c'è moltissimo da dire: il colore dell'oggetto, il colore dell' emissione e la emission Strength sono tutte modificate a partire dal valore che abbiamo realizzato.
Valore che è a sua volta controllato dalla sequenza di keyframe derivata dall'audio della canzone.

Pasted image 20250320195734.png

--

I Geometry nodes:

Una situazione un po' più complessa si ha con il sistema di geometry nodes, il quale, partendo da un oggetto su cui è applicato, ne crea delle istanze (praticamente delle copie) che vengono poi ridimensionate e mosse in modo tale da creare una sorta di effetto "a frattale", in cui ogni pezzo entra perfettamente dentro l'altro.

Pasted image 20250320210036.png

Da notare che anche in questo caso, uno dei parametri, in particolare il parametro "movimento", è controllato dalla sequenza di keyframe generata dalla canzone:

Pasted image 20250320210143.png


Le shader della tastiera:

La tastiera è l'elemento che risalta maggiormente nell'animazione. Ci sono molte inquadrature in cui si possono vedere anche i minimi dettagli delle varie superfici, e quindi era per me necessario porre un'attenzione particolare a quelle shader, ed in particolare a quelle dei tasti. Il risultato finale non mi sembra affatto male: risultato che però non avrei mai raggiunto se non avessi prima migliorato le mie capacità di texturing.

Le shader della tastiera non fanno uso di un singolo material o di una singola texture, ma ne utilizzano diverse per rendere diversi aspetti del modello. Un procedimento che rende molto più complicate le shader ma permette di avere un controllo maggiore su quello che sarà l'aspetto finale dell'oggetto.

Vengono usate due texture: una per i leggerissimi graffi superficiali della plastica, ed una per le impronte digitali, di cui sia i tasti sia il corpo della tastiera sono ricoperti.

ScratchedPaintedMetal01_4K_Height.png
La texture con i graffi

Fingerprints01_3K.png
La texture con le impronte digitali

Tra le due, sono sicuramente le impronte digitali a rendere l'effetto maggiore, in quanto sono visibilissime quando la luce si riflette su di loro, creando un forte contrasto con la superficie circostante.

Pasted image 20250322145050.png
Un frame dell'animazione in cui sono stati evidenziati i graffi e le impronte digitali presenti sulla tastiera.

Oltre alle due texture, è stata usata anche una noise texture procedurale per riuscire a rendere maggiormente quello che è l'effetto "plastico" del materiale, creando delle imperfezioni che anche se quasi impercettibili, hanno un forte effetto.

Pasted image 20250322151100.png
La noise texture in questione

--

Come sono state applicate le stampe:

Il corpo della tastiera non è caratterizzato solamente dalla plastica nera che lo compone, ma è anche ricoperto da varie scritte e stampe, che sono applicate in varie parti del corpo della tastiera.

Anche per loro, l'approccio vincente è stato quello di considerarle come texture indipendenti, che possono essere spostate a piacimento, riuscendo anche a modificarne rotazione e scala.

Bisogna tenere a mente però che anche se le singole stampe sono texture indipendenti, comunque queste vengono unite tutte assieme per formarne di fatto una sola, che è quella che alla fine va a finire nel base color del Principled BSDF.
E' sufficiente infatti utilizzare il nodo "Add" per sommare tra di loro due texture.

Pasted image 20250322160202.png
Il nodo add: i due valori A e B sono le due texture (o come li definisce blender i "color") di cui si esegue la somma, mentre il valore Result è il risultato di quella somma.

Pasted image 20250322155607.png
Il principled BSDF della shader della tastiera: da notare come nonostante siano utilizzate multiple texture, alla fine solo un singolo valore arrivi al principled BSDF, dimostrazione che le texture siano state sommate dal nodo Add in una sola.

Normalmente, eseguendo la "somma" tra due texture otterremmo una texture che è un po' l'unione delle due, ma dato che stiamo lavorando con delle texture che non si sovrappongono in quello che è l'oggetto finito, quello che in realtà succede è che queste saranno come "appiccicate" sul corpo della tastiera, praticamente come se fosse un adesivo.

Ripetendo questo processo per ogni texture è stato possibile popolare il corpo della tastiera di scritte, lasciando completamente invariato quello che era l'aspetto della plastica sottostante.

--

Una visione d'insieme alla shader del corpo plastico:

Nella sua visione d'insieme, la shader non è altro che composta da una somma successiva di varie texture: in alto una texture viene sommata ad un'altra texture, e poi questa somma viene sommata a sua volta con un'altra texture, procedendo così a cascata sino a quando tutte le texture non sono state sommate tra loro.

Nella parte più alta della shader sono presenti le texture delle varie scritte, mentre nella parte inferiore sono presenti le tre texture responsabili per l'aspetto del materiale plastico vero e proprio.

Pasted image 20250322164636.png
La shader del corpo della tastiera, con evidenziate la zona responsabile per l'aspetto delle scritte e le stampe e la zona responsabile per l'aspetto della parte plastica del corpo.

--

La shader dei tasti:

La stessa metodologia che ho utilizzato per realizzare la shader del corpo la ho anche utilizzata per realizzare quella dei tasti, con l'unica differenza che la noise texture e le scritte non sono più presenti.
La sua semplicità rende anche più facile comprendere ciò che accade nella più complessa ed elaborata shader del corpo, quindi nel caso in cui vogliate ricreare una qualsiasi di queste shader, io consiglierei di partire da qui.

Pasted image 20250322165411.png

--

Le shader dei bottoni laterali:

Le ultime due shader inerenti alla tastiera di cui non abbiamo ancora parlato sono quelle necessarie per i bottoni laterali. In particolare, una di queste shader è responsabile della parte superiore del tasto, che appare dello stesso materiale del corpo della tastiera, mentre la seconda è quella usata nelle zone semi-traslucide.

Pasted image 20250323165732.png
Frame in cui sono state evidenziate le due parti in cui le due shader sono state applicate sul tasto._

Pasted image 20250323170417.png
Le due shader.

La shader della parte superiore è estremamente semplice: un principled BSDF con il colore nero come base color e la texture delle impronte digitali usata per modificare la roughness, cosa che, come avevamo già accennato, modifica quello che è l'aspetto del riflesso creato dalla luce nelle zone in cui la impronta digitale è presente.

Pasted image 20250323170836.png
La shader della parte superiore del tasto

La shader della parte inferiore è ancora più banale: solo un principled BSDF con il colore dell'emissione modificato e la potenza dell'emissione controllata da una sequenza di keyframe nel Graph editor:

Pasted image 20250323171259.png
La shader della parte traslucida del tasto


Lavorare con la musica abilitare il playback nella timeline:

Una cosa che è necessario fare perfettamente in un'animazione come questa, è sincronizzare i movimenti della fotocamera e degli altri oggetti alla musica. E' sufficiente essere anche uno o due frame fuori ritmo per rovinare completamente l'immersione, quindi è essenziale trovare un metodo per riuscire ad essere perfettamente sincronizzati ogni volta.
Il metodo che ho io utilizzo è estremamente banale, e non consiste in niente altro se non fare in modo che quando ci si muove nella timeline si possa anche sentire la musica in sottofondo, cosa che permette efficacemente di non perdere neanche una battuta.

Per raggiungere questo risultato, bisogna navigare nella parte in alto a sinistra della schermata, cliccare nella piccola icona che cambia l'editor type, e passare da "3d Viewport" (che è sempre aperto di default) a "Video sequencer", dove ci sarà possibile aggiungere la musica al progetto.

Pasted image 20250323173342.png
Immagine che mostra come raggiungere il video sequencer

Una volta aver raggiunto il Video sequencer, sarà sufficiente cliccare su "add" e poi su "sound" per selezionare il file audio della musica ed aggiungerla al video sequencer.

Pasted image 20250323175058.png
Immagine che mostra come aggiungere una traccia audio nel Video Sequencer

Dopo aver eseguito questi step, ogni volta che faremo partire l'animazione dalla timeline, riusciremo, anche una volta essere usciti dal video sequencer, a sentire in sottofondo l'audio che abbiamo inserito.


Data: 09/06/25