Frames in sprite differenti o canvas più grande?

Hai una curiosità o un problema con Game Maker? Domanda e ti sarà risposto!
Rispondi
Avatar utente
celeste orsa
Newbie
Messaggi: 10
Iscritto il: 02/11/2018, 17:11
Specialità: Grafico Compositore
Uso: GM:Studio 2
Contatta:

Frames in sprite differenti o canvas più grande?

Messaggio da celeste orsa »

Salve a tutti, volevo chiedervi un consiglio per ottimizzare meglio gli sprite.

Ho fatto un' animazione di un personaggio che si carica un grosso oggetto sulla schiena.

Il problema è che non so se è meglio caricare tutti i frames in uno sprite, dal momento che la risoluzione del riquadro (canvas) verrebbe molto grande visto che deve riprendere tutta la scena, oppure creare per ogni frame uno sprite ma con il riquadro di ciascuno ridotto all'osso. Quale dei due metodi è meglio in termini di prestazioni?

Avatar utente
civic71
GMI Advanced
Messaggi: 2210
Iscritto il: 23/10/2003, 17:31
Specialità: Risotto con zucchine
Uso: GM:Studio 1.4 Pro
Località: Jesolo (venezia)
Contatta:

Re: Frames in sprite differenti o canvas più grande?

Messaggio da civic71 »

Potrebbe essere più scomodo programmare l' animazione di molti sprite. Ma anche utilizzare degli enormi frame, non mi piace affatto!

L'ideale è l'utilizzo dell animazione scheletrica tramite programmi come Spine.


Nel mio caso, non avendo Spine, mi sono creato un programmino apposito seppur molto molto più limitato, denominato Piccolo Animatore : viewtopic.php?f=23&t=13996&sid=ceecabcd ... 799524ea74 . Tramite esso utilizzerei uno sprite per ogni parte del corpo che compongono il personaggio ( testa, braccia, gambe e torace) utilizzando così piccoli frames. Ed uno sprite che contiene l'oggetto enorme. Poi tramite il programma animerei il tutto e salverei l'animazione in un file.txt : essa conterrà solo numeri relativi ai vari sprite e frame per la loro posizione , rotazione , size ed altro. Tale animazione insieme agli sprite verranno poi importati su GMS come descritto nel manuale del mio programma.

Avatar utente
Alv
Membro
Messaggi: 133
Iscritto il: 14/11/2014, 22:33
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Sicilia
Contatta:

Re: Frames in sprite differenti o canvas più grande?

Messaggio da Alv »

celeste orsa ha scritto:Salve a tutti, volevo chiedervi un consiglio per ottimizzare meglio gli sprite.

Ho fatto un' animazione di un personaggio che si carica un grosso oggetto sulla schiena.

Il problema è che non so se è meglio caricare tutti i frames in uno sprite, dal momento che la risoluzione del riquadro (canvas) verrebbe molto grande visto che deve riprendere tutta la scena, oppure creare per ogni frame uno sprite ma con il riquadro di ciascuno ridotto all'osso. Quale dei due metodi è meglio in termini di prestazioni?
Sono sicuro che Game Maker di default croppa le texture rimuovendo i bordi trasparenti. Non so come si comporta se uno sprite ha più frame, ma se è fatto intelligentemente dovrebbe croppare ogni frame separatamente.
Ultima modifica di Alv il 05/12/2020, 16:43, modificato 1 volta in totale.

Avatar utente
Alv
Membro
Messaggi: 133
Iscritto il: 14/11/2014, 22:33
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Sicilia
Contatta:

Re: Frames in sprite differenti o canvas più grande?

Messaggio da Alv »

C'è un trucco per verificarlo. E' una questione hardware: GM usa la scheda video, le texture vengono renderizzate su dei poligoni rettangolari. Se la texture è tagliata, si vede in condizioni particolari. Mi sono tolto la curiosità realizzando un semplice progetto in GMS.

Questo è uno sprite di prova:

Immagine

Basta disegnare i frame col filtro bilineare attivo, scalandoli di un fattore (per esempio di un fattore 10):

Immagine

Se confronti il rettangolo coi bordi smussati in alto a sinistra con quello in alto a destra, si nota la differenza. Se i bordi sono netti, vuol dire che la texture è tagliata.

Responso: Game Maker ottimizza automaticamente i frame. Ogni frame viene ottimizzato indipendentemente dagli altri frame dello stesso sprite.
Ultima modifica di Alv il 03/01/2021, 20:34, modificato 5 volte in totale.

Avatar utente
celeste orsa
Newbie
Messaggi: 10
Iscritto il: 02/11/2018, 17:11
Specialità: Grafico Compositore
Uso: GM:Studio 2
Contatta:

Re: Frames in sprite differenti o canvas più grande?

Messaggio da celeste orsa »

civic71 ha scritto: L'ideale è l'utilizzo dell animazione scheletrica tramite programmi come Spine.
.
Grazie del consiglio, ma ho già realizzato qualche animazione con "Dragon Bones", e non sono rimasto tanto soddisfatto dei movimenti troppo meccanici... ma per quello immagino che sia dovuto solo alla mia inesperienza con tali programmi... inoltre ho già disegnato le animazioni che mi servono e mi trovo bene con il metodo che sto usando. Complimenti comunque per il tuo programma!
Alv ha scritto: Responso: Game Maker ottimizza automaticamente i frame. Ogni frame viene ottimizzato indipendentemente dagli altri frame dello stesso sprite.
.
Quindi credo sia meglio usare un unico sprite per massimizzare le prestazioni. Grazie mi è stato molto utile il tuo aiuto per chiarirmi le idee.

Avatar utente
Alv
Membro
Messaggi: 133
Iscritto il: 14/11/2014, 22:33
Specialità: Programmazione
Uso: GM:Studio 1.4 Pro
Località: Sicilia
Contatta:

Re: Frames in sprite differenti o canvas più grande?

Messaggio da Alv »

Di nulla.

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 28 ospiti