Come trasformare un GIF in un foglio di sprite senza fotogrammi fantasma

Hai estratto una GIF e diversi fotogrammi contengono pezzi della posa precedente. Di solito significa che l’esportazione ha salvato i rettangoli di aggiornamento della GIF come se fossero immagini complete. Ecco come ottenere fotogrammi completi e scegliere un formato di output utilizzabile dal tuo gioco.

Perché salvare ogni blocco immagine della GIF non basta

Un’animazione GIF non è sempre una pila di immagini a dimensioni intere. Un fotogramma successivo può memorizzare solo il rettangolo cambiato. Contiene anche un’istruzione di smaltimento che dice al lettore cosa fare del disegno precedente prima di applicare quello successivo. Se uno strumento di estrazione ignora quell’istruzione, vecchie braccia, piedi o ombre rimangono visibili come scie. Se salva solo il rettangolo, i PNG esportati risultano di dimensioni diverse.

Per un foglio di sprite, ogni cella richiede un’immagine completa su una tela coerente. La sequenza corretta è: applicare la regola di smaltimento del fotogramma precedente, disegnare l’aggiornamento attuale e copiare quella tela completa come PNG per quell’istante. Lo strumento GIF di ImageMint esegue la composizione prima di esportare; non devi posizionare manualmente le porzioni di fotogrammi.

Un robot pixel art, una porzione parziale con braccio alzato e un fotogramma completo del robot composto.
Un rettangolo modificato non è un fotogramma completo dell’animazione. Applica le operazioni necessarie di rimozione o ripristino dei fotogrammi precedenti e di composizione prima di salvare l’intera area di disegno, altrimenti potrebbero rimanere parti della posa precedente. Apri immagine a dimensioni originali

Un esempio concreto di conversione di 12 fotogrammi

  1. Apri il GIF sorgente in GIF in foglio di sprite. Controlla il numero di fotogrammi e le dimensioni della tela indicati. Dodici fotogrammi di 64 × 64 pixel dovrebbero produrre dodici immagini complete di 64 × 64, anche se gli aggiornamenti interni del GIF sono più piccoli.
  2. Per un PNG a griglia, imposta Immagini per riga su 4. Il foglio risultante ha quattro colonne e tre righe, quindi le dimensioni previste sono 256 × 192 pixel. Questo semplice controllo delle dimensioni individua un numero sorprendente di esportazioni errate.
  3. Salva il PNG a griglia quando il motore richiede un foglio uniforme. Salva lo ZIP per PNG numerati separati. Lo ZIP contiene anche frame-delays.json; mantienilo se il GIF originale si sofferma su alcune pose più a lungo che su altre.
  4. Apri il risultato nell’editor di destinazione ed esamina primo fotogramma, centrale e ultimo. Verifica che nessuna posa precedente persista e che il personaggio rimanga nella stessa area 64 × 64.

La trappola dei tempi: un foglio non può dirti a quale velocità riprodurlo

Un foglio PNG memorizza pixel, non durate dei fotogrammi. Immagina un GIF di 12 fotogrammi in cui undici durano 80 ms e l’ultimo rimane per 400 ms. Riprodurre il foglio esportato a 12 fps fissi porta ogni fotogramma a circa 83 ms, quindi la pausa scompare. Non è un errore di estrazione: i tempi semplicemente risiedono fuori dal PNG. Leggi i ritardi nello ZIP e ricrea il fotogramma prolungato nel motore, oppure ripeti quell’ultimo fotogramma come approssimazione intenzionale.

Controllo rapido: se il movimento sembra corretto ma troppo rapido, confronta i ritardi per fotogramma prima di modificare la grafica. Se lascia scie, controlla invece composizione e modalità di eliminazione dei fotogrammi.

Scegli l’output per il passaggio successivo

Ti serveSalvaRicorda
Una texture uniforme per un motorePNG a grigliaConserva numero di colonne e dimensioni delle celle per l’importazione.
Fotogrammi modificabili o tempi non uniformiZIP di PNGConserva frame-delays.json insieme alle immagini.
Un numero minore di pose selezionateZIP, poi modifica i fotogrammiEliminare fotogrammi cambia la durata del ciclo, a meno che i tempi non vengano adeguati.

ImageMint limita gli input GIF a 20 MB, 100 fotogrammi, 1024 pixel per lato e 20 milioni di pixel totali dei fotogrammi per proteggere la scheda del browser. Una sorgente più grande richiede un’elaborazione preliminare in un editor desktop. Riutilizza solo animazioni di tua proprietà o che hai il permesso di usare.

Conserva una pausa non uniforme quando ricrei l’animazione

Per l’esempio di dodici fotogrammi, la durata totale è 11 × 80 + 400 = 1280 ms. Se la destinazione supporta solo una durata fissa, puoi approssimare la posa prolungata ripetendola cinque volte a 80 ms. Questo crea sedici voci nella sequenza da dodici immagini distinte e conserva la durata totale. È una modifica intenzionale della sequenza, non un’opzione applicata automaticamente dall’estrattore.

Non confondere un’immagine ripetuta con un duplicato indesiderato. Due fotogrammi visivamente uguali possono codificare una pausa intenzionale. Rimuoverne uno senza trasferirne il ritardo accorcia l’animazione. Salva prima un’estrazione intatta e modifica una copia quando ottimizzi una sequenza.

Importa un foglio senza riprodurre le celle vuote finali

Se dieci fotogrammi di 64 × 64 sono disposti in quattro colonne, l’output è 256 × 192: dodici posizioni ma solo dieci fotogrammi reali. Le ultime due celle sono vuote. Registra accanto al file dimensioni delle celle, numero di colonne e numero effettivo di fotogrammi. Un importatore a griglia che deduce i fotogrammi solo da larghezza e altezza richiede la correzione dell’intervallo dell’animazione.

Quando un foglio esportato supera il limite di un lato, cambiare il numero di colonne può adattarne la forma, ma non riduce il numero di fotogrammi decodificati. Dodici fotogrammi 64 × 64 occupano 49.152 pixel di fotogrammi, prima delle celle inutilizzate. Una GIF compressa minuscola può comunque decodificarsi in una sequenza grande, quindi riduci risoluzione o fotogrammi in un editor quando il problema è il limite dei pixel totali.

Lista di controllo finale dell’estrazione

  • I fotogrammi di output hanno le dimensioni complete della tela indicate.
  • I fotogrammi centrali e finali non contengono pose precedenti indesiderate.
  • L’applicazione destinataria usa i fotogrammi reali, non tutte le celle.
  • I ritardi disuguali vengono conservati o approssimati consapevolmente.
  • Il GIF originale e il permesso di usarlo sono conservati.

Prova il flusso di lavoro

Apri localmente un GIF, poi salva un foglio PNG uniforme o uno ZIP di fotogrammi completi e dati temporali.

Estrai fotogrammi GIF →