A imagem é uma faixa vertical
Uma textura de 16×16 com quatro quadros de animação é um PNG de 16×64: cada quadro em quadrado, empilhado de cima para baixo, com o primeiro quadro no topo. O jogo infere o tamanho do quadro a partir da largura, então a altura simplesmente precisa ser um múltiplo inteiro dela. É exatamente assim que o jogo anima coisas como fogo, água e prismarinho.
prismarine.png 16 wide × 64 tall = 4 frames of 16×16
┌────────┐ frame 0
├────────┤ frame 1
├────────┤ frame 2
├────────┤ frame 3
└────────┘O arquivo .mcmeta
Ao lado da textura fica um arquivo com o mesmo nome mais .mcmeta — portanto prismarine.png é acompanhado por prismarine.png.mcmeta. Observe que ele mantém o .png no meio; isso confunde as pessoas constantemente.
{
"animation": {
"frametime": 2,
"interpolate": true
}
}Sem este arquivo, um PNG alto não é tratado como uma animação — ele é tratado como uma textura esmagada e de tamanho incorreto. A faixa sozinha não faz nada.
frametime
Quantos ticks de jogo cada quadro é mantido. Há 20 ticks em um segundo, então frametime: 2 é dez quadros por segundo e frametime: 20 é um quadro por segundo. O padrão é 1 — um quadro a cada tick, o que é muito rápido e raramente o que você deseja.
interpolate
Com interpolate: true, o Minecraft faz uma transição suave entre um quadro e o próximo em vez de cortar bruscamente. É assim que o jogo original consegue um brilho lento a partir de apenas alguns quadros — ele gera tudo no meio para você.
Use-o para coisas graduais: brilhos, água, mudanças suaves de cor. Desative-o para qualquer coisa que deva ser lida como etapas distintas, como uma luz piscando ou um padrão rotativo, onde a mistura resulta apenas em borrão.
Controlando a ordem e o tempo dos quadros
Por padrão, os quadros são reproduzidos na ordem do arquivo e em loop. Um frames substitui a ordem padrão — você pode reordenar quadros, repeti-los e dar a quadros individuais sua própria duração:
{
"animation": {
"frametime": 4,
"frames": [
0,
1,
{ "index": 2, "time": 20 },
1
]
}
}Isso reproduz os quadros 0, 1, 2, 1 — um vai-e-vem em vez de um loop — e segura o quadro 2 por um segundo inteiro enquanto os outros usam o padrão de 4 ticks. Reutilizar quadros dessa forma mantém o PNG pequeno; um salto não precisa ter seus quadros duplicados na imagem.
Mantenha curto
Fazendo isso sem escrever JSON
O editor trata a animação como quadros em vez de um formato de arquivo: você cria os quadros, define a velocidade, e a faixa e seu .mcmeta são gerados na exportação com o nome correto. Você também pode importar um GIF e convertê-lo em quadros, o que geralmente é mais rápido do que desenhar um loop à mão.
Se algo animar na ordem errada ou não animar, quase sempre é o nome do .mcmeta — verifique se há texture.png.mcmeta em vez de texture.mcmeta. Outras falhas são abordadas em por que seu pacote de textura não está funcionando.
