L'image est une bande verticale
Une texture 16×16 avec quatre images d'animation est un PNG 16×64 : chaque carré d'image empilé de haut en bas, première image en haut. Le jeu déduit la taille de l'image à partir de la largeur, la hauteur doit donc simplement être un multiple entier de celle-ci. C'est exactement ainsi que vanilla anime des éléments comme le feu, l'eau et le prismarine.
prismarine.png 16 wide × 64 tall = 4 frames of 16×16
┌────────┐ frame 0
├────────┤ frame 1
├────────┤ frame 2
├────────┤ frame 3
└────────┘Le fichier .mcmeta
À côté de la texture se trouve un fichier portant le même nom plus .mcmeta — pour que prismarine.png est accompagné de prismarine.png.mcmeta. Notez qu'il conserve le .png au milieu ; cela piège constamment les gens.
{
"animation": {
"frametime": 2,
"interpolate": true
}
}Sans ce fichier, un PNG haut n'est pas traité comme une animation — il est traité comme une texture écrasée et de mauvaise taille. La bande seule ne fait rien.
frametime
Combien de ticks de jeu chaque image est affichée. Il y a 20 ticks dans une seconde, donc frametime: 2 représente dix images par seconde et frametime: 20 représente une image par seconde. Par défaut, il est à 1 — une image à chaque tick, ce qui est très rapide et rarement ce que vous voulez.
interpolate
Avec interpolate: true, Minecraft effectue une transition fluide entre une image et la suivante au lieu de couper. C'est ainsi que la version de base obtient un scintillement lent à partir d'une poignée d'images seulement — elle génère tout le reste pour vous.
Utilisez-le pour les choses progressives : lueurs, eau, légers changements de couleur. Désactivez-le pour tout ce qui doit être perçu comme des étapes distinctes, comme un feu clignotant ou un motif rotatif, où le mélange ne produit que de la boue.
Contrôle de l'ordre et de la vitesse des images
Par défaut, les images se jouent dans l'ordre du fichier et en boucle. Un frames la matrice remplace cela — vous pouvez réordonner les images, les répéter et donner à des images individuelles leur propre durée :
{
"animation": {
"frametime": 4,
"frames": [
0,
1,
{ "index": 2, "time": 20 },
1
]
}
}Cela lit les images 0, 1, 2, 1 — un aller-retour plutôt qu'une boucle — et maintient l'image 2 pendant une seconde entière tandis que les autres utilisent les 4 ticks par défaut. Réutiliser les images de cette façon maintient le PNG petit ; un rebond n'a pas besoin que ses images soient dupliquées dans l'image.
Faites court
Le faire sans écrire de JSON
Le éditeur gère l'animation sous forme d'images plutôt que comme un format de fichier : vous créez les images, définissez la vitesse, et la bande ainsi que son .mcmeta sont générés à l'exportation avec le bon nommage. Vous pouvez également importer un GIF et le faire convertir en images, ce qui est généralement plus rapide que de dessiner une boucle à la main.
Si quelque chose s'anime dans le mauvais ordre ou pas du tout, c'est presque toujours le nom du .mcmeta — vérifiez s'il y a texture.png.mcmeta plutôt que texture.mcmeta. Les autres échecs sont traités dans pourquoi votre pack de textures ne fonctionne pas.
