Questo non è propriamente un tutorial, quanto una piccola curiosità sulla realizzazione dell'animazione che state vedendo in questo momento a video, nella quale un pallone da calcio entra in porta e smuove la rete, per poi ritornare indietro.
Trascrizione del video
Questo non è propriamente un tutorial, quanto una piccola curiosità sulla realizzazione dell'animazione che state vedendo in questo momento a video, nella quale un pallone da calcio entra in porta e smuove la rete, per poi ritornare indietro.
La mia intenzione era quella di realizzare il tutto con i Rigid Bodies e la simulazione Cloth, in modo tale da poter ricavare più animazioni in base ai diversi tiri, effettuati con forze e direzioni diverse.
I tiri, in particolare, sono stati effettuati facendo impattare un oggetto Rigid Body passivo e animato con il pallone, che è invece un oggetto Rigid Body attivo.
Ho descritto come realizzare queste animazioni in un mio videotutorial pubblicato precedentemente sul canale Youtube, dove l'esempio pratico era costituito dal colpo di apertura nel biliardo.
Il pallone è quindi dotato anche di un componente Collision, così da poter interagire con la rete della porta da calcio, alla quale ho fornito il simulatore dei tessuti Cloth.
La rete, in particolare, non è modellata fisicamente, ma è composta da alcuni Planes, piatti, ai quali è stata fornita una Texture semitrasparente. Questi Planes hanno, ovviamente, un buon numero di suddivisioni, per produrre una buona simulazione del tessuto, ma risultano molto più semplici da simulare di una rete modellata in maniera realistica.

Alcuni vertici dei Planes che rappresentano la rete sono tenuti in posizione mediante Pinning, ossia assegnandoli ad un Vertex Group che è stato poi utilizzato come Pinning Group della simulazione dei tessuti Cloth, per cui quei vertici restano immobili.

In teoria, tutto dovrebbe filare liscio, perché il pallone vola verso la rete e la collisione viene effettivamente rilevata dal simulatore Cloth. Il problema è che, almeno per quanto ne so io, il simulatore dei tessuti non fa rimbalzare all'indietro un oggetto, per cui il pallone finisce per bucare la geometria e proseguire il suo volo all'infinito. Forse avrei potuto risolvere il problema con i Soft Bodies, ma non li conosco bene, per cui ho pensato ad un piccolo escamotage.

Partendo da un semplice cubo, ho creato una mesh che fa da parete invisibile per le parti esterne della rete. Questo nuovo oggetto è provvisto di un componente Rigid Body passivo, con la forma della collisione cambiata da Convex Hull a Mesh.

Con queste impostazioni, il pallone si blocca non appena colpisce l'ostacolo invisibile. Per farlo rimbalzare, ho aumentato il valore di Bounciness sia del pallone che dell'oggetto invisibile.

L'effetto è quello che vi ho mostrato all'inizio del video. Sto mostrando anche altri rendering nei quali la rete sembra sdoppiarsi, subito dopo l'impatto. Ciò è dovuto al fatto che nell'oggetto originale la rete aveva uno spessore, per cui in realtà i Planes con la texture semitrasparente sono due, che si allontano quando la rete viene deformata. Risolvere questo problema è comunque semplicissimo, perché è sufficiente rimuovere uno dei due Planes.
Devo però essere onesto al 100%: il risultato non è sempre dei migliori! A seconda del punto o dell'angolo di impatto, potrebbero verificarsi degli strani comportamenti, che a volte possono risultare anche divertenti, ma che di sicuro non sono corretti! C'è margine di miglioramento, quindi, ma penso che come soluzione brutta, ma semplice e veloce, vada bene!