L'immagine è una striscia verticale
Una texture 16×16 con quattro fotogrammi di animazione è un PNG 16×64: ogni quadrato di fotogramma è impilato dall'alto verso il basso, con il primo fotogramma in alto. Il gioco deduce la dimensione del fotogramma dalla larghezza, quindi l'altezza deve semplicemente essere un suo multiplo intero. Questo è esattamente il modo in cui la versione vanilla anima elementi come fuoco, acqua e prismarina.
prismarine.png 16 wide × 64 tall = 4 frames of 16×16
┌────────┐ frame 0
├────────┤ frame 1
├────────┤ frame 2
├────────┤ frame 3
└────────┘Il file .mcmeta
Accanto alla texture si trova un file con lo stesso nome seguito da .mcmeta — così prismarine.png è accompagnato da prismarine.png.mcmeta. Nota che il file .png rimane nel mezzo; questo confonde costantemente le persone.
{
"animation": {
"frametime": 2,
"interpolate": true
}
}Senza questo file, un PNG alto non viene trattato come un'animazione, bensì come una texture compressa e dalle dimensioni errate. La striscia da sola non fa nulla.
frametime
Quanti tick di gioco dura ciascun fotogramma. Ci sono 20 tick in un secondo, quindi frametime: 2 corrisponde a dieci fotogrammi al secondo e frametime: 20 corrisponde a un fotogramma al secondo. Il valore predefinito è 1 (un fotogramma ogni tick), che è molto veloce e raramente quello che desideri.
interpolate
Con interpolate: true, Minecraft sfuma dolcemente tra un fotogramma e l'altro anziché tagliare bruscamente. È così che la versione vanilla ottiene un lento sbrilluccichio da una manciata di fotogrammi: genera tutto il resto automaticamente per te.
Usalo per cose graduali: bagliori, acqua, lievi cambiamenti di colore. Disattivalo per tutto ciò che deve apparire come passaggi distinti, come una luce lampeggiante o un pattern rotante, dove la sfumatura produrrebbe solo confusione.
Controllo dell'ordine e della tempistica dei fotogrammi
Per impostazione predefinita, i fotogrammi vengono riprodotti nell'ordine dei file e ripetuti in loop. Un frames questa impostazione esclude tutto ciò, permettendoti di riordinare i fotogrammi, ripeterli e assegnare a ciascuno una durata personalizzata:
{
"animation": {
"frametime": 4,
"frames": [
0,
1,
{ "index": 2, "time": 20 },
1
]
}
}Questo riproduce i fotogrammi 0, 1, 2, 1 (un effetto ping-pong anziché un loop) e mantiene il fotogramma 2 per un secondo intero mentre gli altri usano i 4 tick predefiniti. Riutilizzare i fotogrammi in questo modo mantiene il PNG piccolo; un rimbalzo non ha bisogno che i fotogrammi siano duplicati nell'immagine.
Tienilo corto
Esecuzione senza scrivere JSON
Il editor gestisce l'animazione come fotogrammi anziché come formato di file: tu crei i fotogrammi, imposti la velocità e la striscia insieme al file .mcmeta vengono generati all'esportazione con la denominazione corretta. Puoi anche importare una GIF e convertirla in fotogrammi, il che è solitamente più veloce rispetto a disegnare un loop a mano.
Se qualcosa si anima nell'ordine sbagliato o non si anima affatto, è quasi sempre a causa del nome del file .mcmeta — controlla texture.png.mcmeta anziché texture.mcmeta. Altri errori sono trattati nella , perché il tuo texture pack non funziona.
