De afbeelding is een verticale strook
Een textuur van 16×16 met vier animatieframes is een PNG van 16×64: elk frame vierkant, van boven naar beneden gestapeld, het eerste frame bovenaan. Het game leidt de framegrootte af van de breedte, dus de hoogte hoeft simpelweg een heelvoud daarvan te zijn. Dit is precies hoe vanille dingen als vuur, water en prismarien animeert.
prismarine.png 16 wide × 64 tall = 4 frames of 16×16
┌────────┐ frame 0
├────────┤ frame 1
├────────┤ frame 2
├────────┤ frame 3
└────────┘Het .mcmeta-bestand
Naast de textuur bevindt zich een bestand met dezelfde naam plus .mcmeta — dus prismarine.png gaat vergezeld van prismarine.png.mcmeta. Let op dat de .png in het midden blijft; hier struikelen mensen constant over.
{
"animation": {
"frametime": 2,
"interpolate": true
}
}Zonder dit bestand wordt een hoge PNG niet behandeld als een animatie — het wordt behandeld als een ingedrukte, verkeerd gemaakte textuur. De strook alleen doet niets.
frametime
Hoeveel gametiks elk frame wordt vastgehouden. Er zijn 20 tikken in een seconde, dus frametime: 2 is tien frames per seconde en frametime: 20 is één frame per seconde. Standaard staat dit op 1 — één frame per tik, wat erg snel is en zelden wat je wilt.
interpolate
Met interpolate: true, Minecraft mengt vloeiend tussen het ene frame en het volgende in plaats van te abrupt te wisselen. Dit is hoe vanille een langzame schittering krijgt uit slechts een handvol frames — het genereert alles daartussenin voor je.
Gebruik dit voor geleidelijke dingen: gloed, water, zachte kleurverschuivingen. Zet dit uit voor alles wat moet worden gelezen als duidelijke stappen, zoals een knipperend lampje of een roterend patroon, waarbij mengen alleen maar brij oplevert.
De volgorde en timing van frames regelen
Standaard worden de frames in bestandsvolgorde afgespeeld en herhaald. Een frames array overschrijft dat — je kunt frames opnieuw ordenen, herhalen en afzonderlijke frames hun eigen duur geven:
{
"animation": {
"frametime": 4,
"frames": [
0,
1,
{ "index": 2, "time": 20 },
1
]
}
}Dat speelt frames 0, 1, 2, 1 af — een pingpong in plaats van een lus — en houdt frame 2 een volle seconde vast terwijl de andere de standaard 4 tikken gebruiken. Het op deze manier hergebruiken van frames houdt de PNG klein; bij een sprong hoeven de frames niet in de afbeelding te worden gedupliceerd.
Houd het kort
Het doen zonder JSON te schrijven
De editor beheert animatie als frames in plaats van als een bestandsindeling: je bouwt de frames, stelt de snelheid in en de strook en de bijbehorende .mcmeta worden gegenereerd bij het exporteren met de juiste naamgeving. Je kunt ook een GIF importeren en deze laten omzetten in frames, wat meestal sneller is dan het handmatig tekenen van een lus.
Als iets in de verkeerde volgorde animeert of helemaal niet, is het bijna altijd de .mcmeta-naam — controleer op texture.png.mcmeta in plaats van texture.mcmeta. Andere fouten worden behandeld in waarom je texturepack niet werkt.
