Poradnik

Jak zrobić animowane tekstury

Animowana tekstura to wysoki obrazek z klatkami jedna pod drugą, które gra pokazuje po kolei. Tak działają woda, lawa, ogień i portale, a paczka może animować też inne bloki i przedmioty. Edytor paczek tekstur robi animację z każdego bloku i przedmiotu, odtwarza ją podczas malowania w tempie gry, importuje GIF-y i zapisuje pliki, których potrzebuje każda edycja: plik .png.mcmeta do Javy i wpis flipbooka do Bedrocka.

Zaktualizowano

Krok po kroku

  1. Otwórz edytor paczek tekstur i zrób paczkę albo otwórz paczkę, którą już masz.
  2. Otwórz teksturę bloku albo przedmiotu i wybierz w jej menu (⋮) Animuj. Dostanie dwie klatki, a pod obszarem rysowania pojawi się pasek klatek.
  3. Pomaluj każdą klatkę. + dodaje kopię wybranej klatki; menu ⋯ duplikuje, kopiuje, wkleja, przesuwa i usuwa klatki. Włącz kalkę, żeby podczas malowania widzieć poprzednią klatkę na blado.
  4. Zegar otwiera Czasy: ile ticków trwa każda klatka (20 ticków to 1 sekunda), czasy pojedynczych klatek i Płynne przejścia. Przyciskiem Play zobaczysz wszystko w tempie gry.
  5. Kliknij Eksportuj. Paczki do Javy dostają pasek klatek z plikiem .png.mcmeta, a paczki do Bedrocka wpis w flipbook_textures.json.

Klatki, kalka i pasek klatek

  • Przeciągnij klatkę myszką w nowe miejsce. Na telefonie i tablecie użyj Do przodu i Do tyłu w menu ⋯.
  • Po kliknięciu klatki: Alt + strzałki ją przesuwają, Delete ją usuwa, a Ctrl+C i Ctrl+V kopiują ją i wklejają jako nową klatkę, do każdej animacji w paczce. Przecinkiem i kropką przechodzisz między klatkami podczas malowania.
  • Kalka pokazuje poprzednią klatkę na blado nad tą, którą malujesz, żeby ruchy do siebie pasowały. W menu ⋯ możesz dodać też następną klatkę.
  • Kiedy usuniesz wszystkie klatki oprócz jednej albo wybierzesz Wyłącz animację, tekstura znowu jest nieruchoma. Oba da się cofnąć.

Czas w tickach

Minecraft mierzy czas w tickach: 20 ticków to 1 sekunda, więc jeden tick to 0,05 sekundy. Każda klatka trwa całkowitą liczbę ticków:

Ticki na klatkęSekundyKlatki na sekundę
10,05 s20
20,1 s10
40,2 s5
100,5 s2
201 s1
  • Każda klatka trwa ustawia tempo wszystkich klatek. Nowa animacja zaczyna od 4 ticków.
  • Czas klatki daje pojedynczym klatkom własny czas, na pauzę albo krótki błysk.
  • Płynne przejścia przenika każdą klatkę w następną tick po ticku, jak płynąca woda. Najładniej wygląda przy wolnych klatkach.
  • Kolejność odtwarza klatki w dowolnej kolejności i tyle razy, ile chcesz: 1, 2, 3, 2 wraca w tył, 1-8 odtwarza zakres, a 3:40 trzyma klatkę 3 przez 40 ticków.

Java Edition: plik .png.mcmeta

Java czyta animację z pliku, który nazywa się tak jak tekstura, z dopiskiem .mcmeta, i leży tuż obok niej: stone.png dostaje stone.png.mcmeta. Klatki idą od góry do dołu, frametime to tempo w tickach (1, jeśli go brakuje), a frames to kolejność, z time dla klatek, które trwają dłużej:

{
  "animation": {
    "interpolate": true,
    "frametime": 4,
    "frames": [
      0,
      1,
      {
        "index": 2,
        "time": 10
      },
      1
    ]
  }
}

Klatki, które nie są kwadratami, od 1.13 potrzebują swojego rozmiaru. Gra czyta je wtedy rzędami, od lewej do prawej:

{
  "animation": {
    "width": 32,
    "height": 16,
    "frametime": 2
  }
}
WersjaCo potrafi animacja
1.6.1 – 1.7.10Tempo (frametime) i kolejność z czasami (frames). Klatki to kwadraty o szerokości tekstury.
1.8 – 1.12.2Do tego płynne przejścia (interpolate).
1.13 i nowszeKlatki w dowolnym rozmiarze (width, height).
1.21.2 i nowszePłynne przejścia przenikają też przezroczyste piksele. Wcześniej przenikają się tylko kolory, a każda klatka zachowuje własną przezroczystość.

Edytor zapisuje to, co czyta najstarsza wersja twojej paczki, i przy eksporcie ostrzega, jeśli jakaś wersja w jej zakresie nie umie odtworzyć części animacji. Java animuje tekstury, które zbiera na atlasie tekstur: bloki i przedmioty w każdej wersji, cząsteczki, obrazy i ikony efektów od 1.14, skrzynie, łóżka, tabliczki, sztandary, tarcze i shulkerowe skrzynie od 1.15 i sprite’y interfejsu od 1.20.2. Skiny mobów, zbroje, czcionki, mapy kolorów i ikona paczki są rysowane osobno i zostają nieruchome, dlatego edytor to mówi, zamiast je animować.

Bedrock Edition: tekstury flipbook

Bedrock wymienia swoje animacje w textures/flipbook_textures.json. Każdy wpis podaje teksturę i kafelek bloku z terrain_texture.json, który ją pokazuje:

[
  {
    "flipbook_texture": "textures/blocks/glowstone",
    "atlas_tile": "glowstone",
    "ticks_per_frame": 4,
    "frames": [0, 1, 1],
    "blend_frames": false
  }
]
PoleCo robi
flipbook_textureŚcieżka tekstury, bez rozszerzenia pliku.
atlas_tileKafelek bloku w terrain_texture.json, który jest animowany.
atlas_index, atlas_tile_variantKtóra tekstura kafelka, jeśli ma ich kilka (od 0).
ticks_per_frameTicki na klatkę (20 ticków = 1 sekunda). Jedno tempo dla wszystkich klatek.
framesKolejność. Klatka, która trwa dłużej, występuje w niej kilka razy.
blend_framesPrzenika klatki jedna w drugą; włączone, jeśli go brakuje. Edytor zapisuje false, chyba że włączysz „Płynne przejścia”.
replicateUżywa go gra dla płynącej wody i lawy; zostaje bez zmian.

Klatki to kwadraty o szerokości tekstury, od góry do dołu. Edytor zapisuje wpisy z gry razem z twoimi, żeby woda, lawa, ogień i inne animowane bloki dalej się ruszały.

Import GIF-a, zapis jako GIF

  • Importuj GIF albo obrazki… w menu tekstury albo w menu ⋯ bierze animowany GIF, arkusz sprite’ów (klatki w rozmiarze tekstury obok siebie albo pasek z kwadratów) albo kilka obrazków, w kolejności ich nazw. GIF możesz też przeciągnąć na obszar rysowania.
  • Każda klatka jest zmieniana do rozmiaru tekstury bez wygładzania, żeby pixel art został ostry.
  • Czasy w GIF-ach to setne części sekundy: 5 setnych to jeden tick, więc czasy GIF-a są zaokrąglane do ticków. Możesz zamiast tego zostawić obecne tempo.
  • Zapisz jako GIF… zapisuje animację do udostępnienia, aż do 16 razy większą. Klatki z płynnymi przejściami są zapisywane tick po ticku, tak jak pokazuje je gra. GIF-y nie znają półprzezroczystych pikseli: stają się one kryjące albo przezroczyste.

Otwieranie paczki z animacjami

Otwórz .zip z Javy albo .mcpack z Bedrocka, a jego animacje będą działać w edytorze, gotowe do zmian: klatki, tempo, czasy klatek i płynne przejścia pochodzą z jego plików .png.mcmeta albo listy flipbooka. Animacje są zapisywane z projektem, więc pliki projektów i kopie zapasowe też je zachowują.

Częste pytania

Moja animacja nie rusza się w grze. Dlaczego?

W Javie .png.mcmeta musi leżeć obok obrazka i mieć dokładnie jego nazwę z dopiskiem .mcmeta, a tekstura musi być taka, którą gra animuje (bloki, przedmioty i inne tekstury z atlasu). W Bedrocku ruszają się tylko tekstury bloków z wpisem flipbooka. Sprawdź, czy paczka jest aktywna i leży nad innymi paczkami, które zmieniają tę samą teksturę.

Mogę animować przedmioty w Bedrocku?

Nie. Paczki zasobów do Bedrocka mogą animować tylko tekstury bloków, przez flipbook_textures.json. Paczki do Javy mogą animować przedmioty.

Jak szybka może być animacja?

Najszybciej jedna klatka na tick: 20 klatek na sekundę. Edytor przyjmuje do 12 000 ticków (10 minut) na jedną klatkę.

Czy wszystkie klatki muszą mieć ten sam rozmiar?

Tak. Klatki są wycinane z jednej tekstury, więc mają jej szerokość i tę samą wysokość. Importowane obrazki są zmieniane do rozmiaru klatki.