Obraz to pionowy pasek
Tekstura 16×16 z czterema klatkami animacji to PNG 16×64: każda klatka kwadratowa, ułożona od góry do dołu, pierwsza klatka na górze. Gra wnioskuje rozmiar klatki z szerokości, więc wysokość musi być po prostu jej wielokrotnością. Dokładnie tak wanilia animuje rzeczy takie jak ogień, woda i pryzmaryn.
prismarine.png 16 wide × 64 tall = 4 frames of 16×16
┌────────┐ frame 0
├────────┤ frame 1
├────────┤ frame 2
├────────┤ frame 3
└────────┘Plik .mcmeta
Obok tekstury znajduje się plik o tej samej nazwie plus .mcmeta — więc prismarine.png towarzyszy prismarine.png.mcmeta. Zauważ, że zachowuje .png w środku; to ciągle wprawia ludzi w zakłopotanie.
{
"animation": {
"frametime": 2,
"interpolate": true
}
}Bez tego pliku wysoki PNG nie jest traktowany jako animacja — jest traktowany jako ściśnięta, źle wymiarowana tekstura. Sam pasek nic nie robi.
frametime
Ile ticków gry każda klatka jest trzymana. W sekundzie jest 20 ticków, więc frametime: 2 to dziesięć klatek na sekundę i frametime: 20 to jedna klatka na sekundę. Domyślnie jest 1 — jedna klatka na tick, co jest bardzo szybkie i rzadko tym, czego chcesz.
interpolate
Z interpolate: true, Minecraft płynnie miesza między jedną klatką a następną zamiast ciąć. W ten sposób wanilia uzyskuje powolny połysk z zaledwie kilku klatek — generuje wszystko pomiędzy za ciebie.
Używaj tego do stopniowych rzeczy: blasków, wody, delikatnych zmian kolorów. Wyłącz to dla wszystkiego, co powinno być odczytywane jako wyraźne kroki, jak migające światło lub obracający się wzór, gdzie mieszanie po prostu tworzy papkę.
Kontrolowanie kolejności i czasu klatek
Domyślnie klatki odtwarzają się w kolejności pliku i zapętlają. A frames tablica nadpisuje to — możesz zmieniać kolejność klatek, powtarzać je i nadawać poszczególnym klatkom własny czas trwania:
{
"animation": {
"frametime": 4,
"frames": [
0,
1,
{ "index": 2, "time": 20 },
1
]
}
}To odtwarza klatki 0, 1, 2, 1 — ping-pong zamiast pętli — i trzyma klatkę 2 przez pełną sekundę, podczas gdy inne używają domyślnych 4 ticków. Ponowne używanie klatek w ten sposób utrzymuje mały rozmiar PNG; odbicie nie potrzebuje duplikowania klatek w obrazie.
Trzymaj to krótko
Robienie tego bez pisania JSON
The edytor obsługuje animację jako klatki, a nie jako format pliku: budujesz klatki, ustawiasz szybkość, a pasek i jego .mcmeta są generowane przy eksporcie z poprawnym nazewnictwem. Możesz również zaimportować GIF i przekonwertować go na klatki, co jest zazwyczaj szybsze niż rysowanie pętli ręcznie.
Jeśli coś animuje się w złej kolejności lub wcale, prawie zawsze jest to nazwa .mcmeta — sprawdź texture.png.mcmeta zamiast texture.mcmeta. Inne błędy są omówione w dlaczego twoja paczka tekstur nie działa.
