Come fanno videogiochi come questo a realizzare animazioni così complesse per i propri personaggi? 👇 Quello che vedete è Rain World, videogioco platform survival noto, tra le tante cose, per implementare delle animazioni davvero meravigliose. Ma come funzionano? Le animazioni in questione si chiamano animazioni procedurali. 💡 Un’animazione procedurale è un tipo di animazione generata automaticamente in tempo reale da un algoritmo. In molti videogiochi (prendiamo per esempio Prince of Persia di qualche post fa) le animazioni sono realizzate da un animatore e poi memorizzate per poter essere usate tali e quali all’interno del gioco. Questo approccio, molto comune, ha però un grosso problema: queste animazioni, essendo sempre identiche, non permettono adattamenti all’ambiente in cui il personaggio animato si trova. 🚨 Esempio banale: in un gioco 3D in prima persona, se il mio personaggio non ha un’animazione di corsa procedurale e corre lungo un dirupo con mezzo piede in aria, l’animazione non terrà conto di questo dettaglio e il personaggio sembrerà levitare. Ma quindi, come si realizza un’animazione procedurale? I metodi sono tanti. Uno utilizzatissimo è quello della cinematica inversa tipica della robotica, una tecnica che, dato un braccio costituito da più parti collegate l’una all’altra, permette di calcolare l’angolazione e la posizione di ciascuna parte dato un punto nello spazio che si vuole che il braccio raggiunga. Questa tecnica è utilizzatissima per animazioni di braccia o gambe. Quando invece si vogliono creare creature con corpi complessi come nel caso di Rain World, l’approccio più gettonato è quello di suddividere queste masse in varie parti collegate tra loro da vincoli matematici. 👨💻 Le varie parti possono essere mostrate direttamente a schermo, oppure possono essere usate come collezioni di punti da cui disegnare l’oggetto animato. Le tecniche specifiche sono davvero tante (se non infinite dato che poi ognuno si inventa le sue), non basterebbero 20 post a descriverle tutte. :) Se questo post ti è piaciuto, ogni giorno pubblico contenuti simili 👉 Gabriele Scaggiante #videogiochi #gaming #animazione #tecnologia
Molto interessante!
Principal Software Engineer @ Datalogic
2 mesiL'uso della cinematica inversa per l'animazione "scheletrica" è interessantissima. Una trentina di anni fa avevo relizzato (per Amiga) un tool di animazione di sprite "compositi" (non a livelli di Spine, ovviamente :D). Era molto soddisfacente creare il proprio "stick-man" e vedere come si muova (o collassava) in modo automatico definendo i frame con le posizioni intermedie. :)