Communitygithub.com

pixel-animation

Use ao animar um sprite ou cena no Aseprite com as ferramentas MCP do aseprite: loops de idle, ciclos de caminhada, ataques, loops de cena ambiente (nuvens, vapor, luzes piscando), temporização de quadros, tags e exportação em GIF.

O que é pixel-animation?

A habilidade pixel-animation é projetada para auxiliar desenvolvedores e artistas a criar animações de pixel art no Aseprite, utilizando as ferramentas MCP do aseprite. Ela cobre desde a decisão do tipo de loop (idle, caminhada, ataque, ambiente) até a exportação final em GIF, passando por técnicas de temporização de quadros, tags para loops individuais e propagação de céis estáticos. A habilidade orienta o uso correto de diferentes técnicas de animação: pose-a-pose para personagens, squash-and-stretch para corpos moles, tweens para objetos rígidos e efeitos ambientais, e redesenho manual para partículas e luzes piscantes. Ela enfatiza a importância de loops contínuos, evitando saltos bruscos, e fornece comandos específicos como `resize_canvas`, `add_frames`, `set_tag`, `propagate_cels`, `tween_cel_positions_eased`, `export_animation` e `export_tag`. A habilidade é compatível com o ecossistema MCP do aseprite e pode ser usada tanto em modo interativo quanto em modo automatizado, garantindo animações suaves e profissionais.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/OpenScaleOrg/Aseprite-Plugin/tree/HEAD/plugins/aseprite/skills/pixel-animation

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Animando pixel art com as ferramentas do aseprite

Chame animation_workflow_guide primeiro: use use_case="character", "idle" ou "environment".

1. Decida o loop

  • Anime no arquivo que o usuário já tem aberto. Se ele for pequeno demais ou tiver poucos quadros, use resize_canvas e add_frames nesse mesmo arquivo. Nunca crie um novo sprite, seja com create_canvas ou com Sprite() em Lua (veja a skill aseprite-live).

  • Duração e temporização. Duração = quadros × tempo por quadro. As escolhas comuns são 8 quadros × 120 ms (cerca de 1 s) para loops ambiente, 4–6 quadros × 100–150 ms para idles e 6–8 quadros para caminhadas.

  • Durações. Use add_frames(count, duration_ms) e depois set_frame_duration_all.

  • Tags. Nomeie cada loop com set_tag (por exemplo idle ou walk), para que export_tag possa exportá-lo individualmente.

2. Primeiro, as camadas estáticas

Finalize o quadro parado primeiro; siga a skill de pixel art. Depois chame propagate_cels para copiar toda camada que não se move (fundo, móveis) para todos os quadros. Apenas as camadas em movimento serão redesenhadas depois disso.

3. Mova as coisas da maneira correta

O que se moveComo
Personagens, criaturasPose a pose. Redesenhe cada pose-chave em seu próprio quadro: antecipação, ação, finalização. Use copy_frame, depois erase_region na parte que se move e redesenhe com draw_rows. Envolva o corpo inteiro. Os pés permanecem em uma linha de chão, a menos que estejam no ar.
Corpos moles (slime, gelatina)Squash e stretch de 30–50%, com uma forma alterada em todo quadro aéreo.
Objetos rígidos, movimento secundárioUse tween_cel_positions_eased, offset_cel_positions ou oscillate_cel_positions (nuvens, um ícone flutuante, um barco balançando).
Partes giratórias (ventilador, moinho)Desenhe 2–4 poses e alterne-as com copy_cel.
Efeitos ambiente (vapor, faíscas, conteúdo de tela, LEDs piscando)Redesenhe pequenos conjuntos de pixels por quadro. Deixe o alpha cair conforme as partículas sobem.

Nunca use um tween como movimento principal de um ser vivo.

4. Torne os loops contínuos

  • O último quadro deve fluir para o primeiro. Para partículas, use posições que são (frame + offset) % N. Para rolagem, mova exatamente um período inteiro ao longo do loop.
  • Evite saltos bruscos. Algo que se desloca 8 px e depois volta de repente parece um erro. Use um balanço de vai-e-vem, ou mova-o por toda a largura do canvas para que saia e reentre.
  • Verifique a continuidade com render_onion_skin. Use compare_frames e get_bounds para confirmar o que se moveu e quanto.

5. Revise e exporte

  • Revise. Chame view_sprite(frames="1-8") para ver todos os quadros lado a lado, e audit_animation ou validate_scene para encontrar céis ausentes.
  • Exporte. export_animation(output.gif, scale=4-8, background="#...") gera um GIF compartilhável; use export_tag para um único loop.
  • No modo ao vivo, o usuário também pode pressionar Enter no Aseprite para reproduzir a animação.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Habilidades Relacionadas