Conversor gratuito · tira de quadros para shaders

GIF para Textura de Flipbook — Empacote Qualquer GIF em uma Tira de Quadros para Unity e VRChat

Crie seu próprio gif para flipbook

Empacote um GIF em uma textura de flipbook de linha única para Unity, Godot ou VRChat. Grade automática, metadados de linhas/colunas prontos para uso, fundo transparente.

✦Sprite
Crie um gif para flipbook

Um GIF é uma linha do tempo. Uma textura de flipbook é essa mesma linha do tempo empacotada em uma única imagem para que um shader possa percorrê-la por índice em vez de um player buscar quadros. Você solta um GIF na ferramenta, ela detecta contagem de quadros, dimensões e atraso, e então grava uma tira de linha única ou em grade com metadados de linhas e colunas que você cola no seu material.

Esta página aborda o que uma conversão de gif para flipbook realmente produz para Unity, Godot e VRChat — os quatro números de que um shader de flipbook precisa, o que definir em um material Poiyomi e quando uma tira de quadros é melhor que uma grade. A saída é um PNG com fundo transparente e as contagens de linhas/colunas em texto simples ao lado.

Solte um GIF

O corpo da ferramenta é a primeira tela. A zona de soltar fica no topo; tudo abaixo dela é saída. Arraste um GIF até ela e a ferramenta lê a contagem de quadros, o atraso por quadro, o tamanho do canvas e o método de descarte. Ela informa o que encontrou antes de gravar qualquer coisa, porque GIFs reais divergem nesses quatro pontos.

Duas coisas geralmente exigem uma decisão. Primeiro, atrasos irregulares entre quadros: a maioria dos shaders de flipbook avança em FPS constante, então um GIF com atrasos mistos precisa ser reamostrado para uma taxa fixa ou exportado no tempo de quadro comum mais lento. Segundo, descarte: um GIF que só redesenha regiões alteradas entre quadros exibirá efeito fantasma se você empilhar quadros de forma ingênua. A ferramenta compõe cada quadro sobre um canvas completo antes de empacotar, então redesenhos parciais se tornam quadros completos.

Quando a composição termina, o empacotador grava uma imagem. Um GIF de 24 quadros 128x128 vira uma tira de 3072x128. Os mesmos quadros como uma grade 6x4 viram 768x512. Ambos são os mesmos pixels; a diferença é o que o shader faz com as UVs.

1

01

Solte o GIF na zona de soltar. Leia a contagem de quadros, o atraso e o tamanho do canvas informados.

2

02

Escolha o layout de empacotamento: linha única para shaders com rolagem de UV, grade para atlas e importação em engine. As colunas da grade são escolhidas automaticamente para manter a imagem quase quadrada.

3

03

Escolha a taxa de reamostragem se o GIF tiver atrasos irregulares entre quadros. O padrão é o atraso mediano; escolha um FPS fixo se seu shader avança a uma taxa constante.

4

04

Exporte. Você recebe um PNG com fundo transparente, além das linhas, colunas, contagem de quadros e FPS como texto que você pode colar em um material ou script.

O que é uma textura de flipbook

Um shader de flipbook lê quatro números: linhas, colunas, o índice atual e FPS. Ele recebe uma coordenada UV no intervalo de 0 a 1, divide-a em uma célula de linha/coluna e desloca essa célula pelo índice atual. A textura em si é estática. Nada anima até o índice se mover.

O índice geralmente é derivado do tempo. Com uma tira de linha, o índice é igual a floor(tempo multiplicado por FPS), e a coordenada U é deslocada em índice dividido por colunas. Com uma grade, o índice também fornece uma linha: linha é igual a floor(índice dividido por colunas), coluna é igual a índice módulo colunas. É por isso que a tira de linha é o caso mais fácil — há apenas uma dimensão para percorrer.

Linhas e colunas devem corresponder exatamente à imagem. Uma tira de 3072x128 com 24 colunas e 1 linha declaradas é amostrada corretamente. Declare 23 colunas e cada quadro cai uma fração de célula fora do lugar, o que aparece como uma mancha diagonal. Declare 1 coluna e você obtém uma imagem estática. Esses dois erros explicam a maioria dos flipbooks quebrados.

FPS é separado da contagem de quadros. Uma tira de 24 quadros a 12 FPS faz loop duas vezes por segundo. Uma tira de 24 quadros a 24 FPS faz loop uma vez por segundo. Os dados da textura são idênticos; só o relógio muda. Mantenha o FPS no mesmo lugar que as contagens de linhas e colunas para que nunca se desencontrem.

Os quatro números

Linhas, colunas, índice, FPS. Linhas e colunas descrevem a textura. Índice e FPS descrevem o tempo. Linhas e colunas são fixadas na exportação. O índice é dinâmico e pertence ao shader ou script. O FPS é fixo na maioria dos shaders, mas pode ser controlado por um parâmetro quando você quiser controle de velocidade.

Se seu shader tem um parâmetro de velocidade ou taxa de reprodução, ele multiplica o termo de tempo, não a constante de FPS. Mantenha o FPS exportado como taxa base para que os metadados continuem significativos quando a velocidade for 1.

Textura de flipbook para Unity

Na Unity, o flipbook geralmente é um material em um quad ou uma partícula. Importe o PNG com sRGB ativado, sem mipmaps se os quadros forem pequenos, e Alpha Is Transparency. O Wrap Mode deve ser Clamp, não Repeat — um flipbook com repetição envolve o último quadro no primeiro na borda da UV e mostra uma emenda de um pixel.

Há duas maneiras de controlar o índice. Em um shader Unlit ou Particles com um nó de flipbook integrado, você define o tiling para linhas e colunas e fornece a ele um valor de blend de 0 a 1. Em um shader personalizado, você mesmo escreve a matemática de UV e expõe linhas, colunas e FPS como propriedades de material para que possam ser editadas sem recompilar.

Os metadados que você cola: linhas, colunas, contagem de quadros, FPS exportado. Se seu shader usa um blend normalizado em vez de um índice inteiro, o intervalo do blend é de 0 até contagem de quadros dividida pelo total de células da grade — para uma linha única de 24 quadros, isso é 0 a 1; para uma grade 6x4 com 24 quadros de 24 células, também é 0 a 1. Grades parciais são o caso em que as pessoas erram: uma grade 6x4 com 20 quadros termina em 20 dividido por 24, ou cerca de 0,833. Passe disso e você amostra células vazias.

  • Fundo transparenteO PNG exportado mantém o alpha, então um flipbook em um quad não precisa de multiply blend nem de chroma key. GIFs de origem que tinham uma cor de matte passam a tê-la gravada no alpha.
  • Sem mipmaps em tamanhos pequenosQuadros com menos de 256 pixels por lado ficam melhores com mipmaps desativados. A geração da cadeia de mips mescla quadros adjacentes na tira e, à distância, o flipbook vira uma média de todos os quadros.
  • Wrap ClampRepetir o wrapping de uma tira faz a amostragem atravessar a emenda. Defina Wrap U e V como Clamp para impedir que o último quadro vaze para o primeiro.

Flipbook Poiyomi para VRChat

O Poiyomi inclui um nó de flipbook, e esse é o caminho usual para uma boca falante, uma tela rolante ou uma alternância de dois quadros em um avatar. O nó recebe uma textura, um par de linhas e colunas e um valor de blend. O VRChat não executa código de shader personalizado a partir de um script em tempo de execução, então o índice precisa vir de uma propriedade de material animada ou de um parâmetro controlado por animator.

A malha importa tanto quanto o material. Um flipbook em um quad plano é lido corretamente; a mesma textura em uma superfície curva mostrará células esticadas onde as UVs estão distribuídas de forma irregular. Mantenha materiais de flipbook em malhas planas ou quase planas.

Trabalhe no layout de tira para Poiyomi quando a animação for um loop, porque a matemática de UV é uma multiplicação e uma soma. Use o layout de grade quando a animação for um conjunto de estados discretos entre os quais você quer saltar — uma boca com quatro formas é mais fácil de entender como uma grade 4x1 com índice inteiro do que como uma rolagem.

1

01

Exporte no layout de tira a menos que você precise de estados discretos. Confirme que linhas é igual a 1 e colunas é igual à contagem de quadros.

2

02

Importe o PNG para a Unity. Defina Wrap Mode como Clamp, sRGB ativado, Alpha Is Transparency ativado, streaming desativado para texturas pequenas.

3

03

No Poiyomi, crie um nó Flipbook. Atribua a textura. Defina linhas e colunas com os valores exportados.

4

04

Controle a entrada de blend. Para um loop, forneça um valor baseado em tempo a partir de um parâmetro float animado. Para estados discretos, forneça um índice inteiro convertido em blend.

5

05

Defina o alpha e a render queue. Um flipbook que precisa desaparecer gradualmente usa as mesmas configurações de transparência que o resto do material — não ative um cutout separado.

6

06

Teste no modo Play, depois em um upload de avatar. Confirme o ponto de loop: o último quadro deve ser seguido pelo primeiro sem pausa.

Tira de quadros vs grade: qual exportar

Os dados de pixels são idênticos. A escolha depende do que vai consumi-los. Shaders querem uma tira. Engines e sistemas de sprite querem uma grade. Escolha com base no consumidor, não no tamanho do arquivo — uma tira é mais larga e uma grade é mais quadrada, e ambas comprimem de forma semelhante com a mesma contagem total de pixels.

Uma tira tem uma linha, então a coordenada V não é usada e o shader só desloca U. Isso significa menos instruções e menos maneiras de errar a matemática. Uma grade usa os dois eixos, que é o que sistemas baseados em atlas esperam. Se estiver em dúvida, exporte a tira e reexporte como grade apenas quando um importador de engine pedir uma.

Mais um caso é o animador de sprites que espera quadros individuais. Algumas engines querem uma pasta de PNGs, não um atlas. A ferramenta pode gravar os quadros separadamente, mas a imagem em disco passa a ser a soma de todos os quadros em vez de um único arquivo, e as configurações de importação são por quadro.

ConsumidorLayoutO que ele lêObservação
Flipbook de shaderLinha únicaLinhas 1, colunas N, deslocamento em UMenos instruções de UV, loop fácil
Atlas de spriteGradeLinhas M, colunas N, tamanho da célulaTamanho da célula é igual ao tamanho do canvas
Animador de spriteGrade ou PNGs separadosOrdem dos quadros e FPSPNGs separados perdem o pacote de arquivo único
Importação em engineGradeLinhas, colunas, contagem de quadrosMantenha a imagem quase quadrada para respeitar os limites de textura

Jogue em 3D

Uma textura de flipbook em um plano estático não prova nada. As afirmações que você precisa verificar são as que só aparecem em movimento: se a emenda fecha, se o alpha se mantém à distância, se o FPS parece certo quando a câmera se move. The Cyclops' Island é uma cena jogável criada no construtor de jogos 3D em que superfícies animam em tempo real, então você pode assistir a um loop de flipbook ao lado da geometria, e não em um Inspector.

Abra, percorra a superfície e observe o ponto de loop. Se um flipbook tem um quadro a menos ou uma coluna de largura errada, você vê isso ali — um travamento visível ou uma mancha diagonal — antes mesmo de enviar um asset. Esse é todo o argumento para a cena jogável: a falha é visual, e falhas visuais precisam de uma viewport.

A mesma cena é uma referência de como a troca de quadros se comporta em diferentes distâncias e ângulos de câmera. Quadros que parecem bons a 128 pixels de perto criarão serrilhado à distância sem controle de mip; quadros que parecem bons à distância podem ficar macios demais de perto. Ambos são mais fáceis de julgar em movimento.

Mago conjurando — uma tira de 4 quadros (577×686 por quadro), exatamente a entrada que um shader de flipbook quer.
The Cyclops' Island — veja uma animação de flipbook rodar em uma cena 3D real.

Entre no mundo a que ele pertence

Um sprite é um personagem sem lugar para ficar. O último passo é o que ninguém mais oferece: pegue a folha que você acabou de montar e coloque-a em um mundo pelo qual alguém possa caminhar — uma pequena ilha, um planeta, uma esquina chuvosa. Todos os mundos deste site foram feitos a partir de uma descrição escrita e publicados como uma página que você pode jogar.

FAQ

O que é um flipbook Poiyomi? +

Poiyomi é um pacote de shaders para Unity e VRChat, e seu nó Flipbook faz amostragem de uma tira de quadros empacotada para que um material alterne quadros sem um animator. Você fornece a textura, as linhas e colunas e um valor de blend. O valor de blend é o que move o índice, e geralmente é controlado por um parâmetro float animado.

Por que meu flipbook mostra uma mancha diagonal? +

A contagem de colunas declarada não corresponde à imagem. Uma tira de 24 quadros amostrada como 23 colunas desloca cada quadro em uma fração de célula, o que se acumula em uma mancha diagonal ao longo da tira. Verifique novamente o valor de colunas exportado em relação à contagem real de quadros.

Devo exportar uma tira ou uma grade? +

Exporte uma linha única para flipbooks de shader, porque a matemática de UV tem uma dimensão e o loop é trivial. Exporte uma grade para atlas de sprites e importadores de engine que esperam linhas e colunas. Os pixels são os mesmos; só o consumidor muda.

Como mantenho o fundo transparente? +

A exportação grava alpha no PNG em vez de achatar sobre uma cor. Na importação, defina Alpha Is Transparency e mantenha sRGB ativado. Se um GIF de origem usou uma cor de matte em vez de transparência real, a ferramenta compõe quadros completos sobre um canvas transparente para que o matte não permaneça.

Meu GIF tem atrasos irregulares entre quadros. Que FPS devo usar? +

Escolha uma taxa fixa. O padrão é o atraso mediano, que geralmente é próximo do que o GIF parece no navegador. Um shader de flipbook avança em um relógio constante, então atrasos mistos não podem ser representados sem reamostragem para um único tempo de quadro.

Por que meu flipbook trava no ponto de loop? +

Ou a contagem de quadros inclui um último quadro duplicado, ou o FPS está ligeiramente errado em relação à origem. Verifique a contagem de quadros exportada e o valor de FPS juntos. Um loop que pausa quase sempre tem um quadro extra, e não um problema de shader.

Voltar para o Construtor de Jogos 3D

Todos os 31 mundos, jogos e cenas 3D finalizados ficam em uma única página — todos jogáveis.

Plataforma: Neta StudioPágina: GIF para Textura de FlipbookLeia a seguir: /explore/tool/gif-to-sprite-sheet · /explore/guide/flipbook-texture · /app/flip-book-maker

Ver tiras prontas para flipbook

Todo asset nesta biblioteca é um PNG transparente e pronto para jogos com um prompt registrado — recursos de sprite sheet e folhas de sprite gratuitas, marcados por ação, estilo e assunto. Gratuito para navegar e baixar.

×