Das Bild ist ein vertikaler Streifen
Eine 16×16-Textur mit vier Animationsframes ist ein 16×64-PNG: jedes Frames-Quadrat ist von oben nach unten gestapelt, das erste Frame ganz oben. Das Spiel leitet die Frame-Größe aus der Breite ab, sodass die Höhe einfach ein ganzzahliges Vielfaches davon sein muss. Genau so animiert Vanilla Dinge wie Feuer, Wasser und Prismarinen.
prismarine.png 16 wide × 64 tall = 4 frames of 16×16
┌────────┐ frame 0
├────────┤ frame 1
├────────┤ frame 2
├────────┤ frame 3
└────────┘Die .mcmeta-Datei
Neben der Textur befindet sich eine Datei mit demselben Namen plus .mcmeta – also prismarine.png wird begleitet von prismarine.png.mcmeta. Beachte, dass das .png in der Mitte bleibt; das verwirrt die Leute ständig.
{
"animation": {
"frametime": 2,
"interpolate": true
}
}Ohne diese Datei wird ein hohes PNG nicht als Animation behandelt – es wird als gestauchte Textur mit falscher Größe behandelt. Der Streifen allein bewirkt nichts.
frametime
Wie viele Spiel-Ticks jedes Frame gehalten wird. Es gibt 20 Ticks in einer Sekunde, also frametime: 2 sind zehn Frames pro Sekunde und frametime: 20 ist ein Frame pro Sekunde. Standardmäßig ist es 1 – ein Frame pro Tick, was sehr schnell ist und selten das ist, was du willst.
interpolate
Mit interpolate: true, Minecraft blendet weich zwischen einem Frame und dem nächsten über, anstatt hart zu schneiden. So erzeugt Vanilla ein langsames Schimmern aus nur einer Handvoll Frames – es generiert alles dazwischen für dich.
Verwende es für schleichende Dinge: Leuchten, Wasser, sanfte Farbverschiebungen. Schalte es für alles aus, was als diskrete Schritte gelesen werden soll, wie ein blinkendes Licht oder ein rotierendes Muster, bei dem das Blending nur Matsch erzeugt.
Steuerung von Frame-Reihenfolge und Timing
Standardmäßig werden die Frames in Dateireihenfolge und in einer Schleife abgespielt. Ein frames Ein Array überschreibt das – du kannst Frames neu anordnen, sie wiederholen und einzelnen Frames ihre eigene Dauer geben:
{
"animation": {
"frametime": 4,
"frames": [
0,
1,
{ "index": 2, "time": 20 },
1
]
}
}Das spielt die Frames 0, 1, 2, 1 ab – ein Pingpong statt einer Schleife – und hält Frame 2 für eine volle Sekunde, während die anderen die Standard-4-Ticks verwenden. Die Wiederverwendung von Frames auf diese Weise hält das PNG klein; ein Aufschwung muss seine Frames nicht im Bild duplizieren.
Halte es kurz
Es tun, ohne JSON zu schreiben
Das Editor handhabt Animationen als Frames statt als Dateiformat: Du baust die Frames, stellst die Geschwindigkeit ein, und der Streifen sowie seine .mcmeta werden beim Export mit dem korrekten Namen generiert. Du kannst auch ein GIF importieren und es in Frames konvertieren lassen, was normalerweise schneller ist, als eine Schleife von Hand zu zeichnen.
Wenn etwas in der falschen Reihenfolge oder gar nicht animiert wird, liegt es fast immer am .mcmeta-Namen – achte auf texture.png.mcmeta anstatt texture.mcmeta. Andere Fehler werden behandelt in warum dein Texturpaket nicht funktioniert.
