CommunityImagemgithub.com

Luan-vP/sprites-retro-de-fogo

Cria versões em pixel art (8-bit / 16-bit) de sprites de performances com fogo, reconstruindo o fogo para um visual retrô depois que o skill fire-sprites renderizar os movimentos.

O que é sprites-retro-de-fogo?

Este skill transforma sprites de performances com fogo, como malabarismo ou sopro de fogo, em animações no estilo pixel art retrô (8-bit/16-bit). Ele depende do skill `fire-sprites`, que já separa os movimentos em camadas de corpo e fogo. Em vez de simplesmente reduzir a resolução do vídeo original, o skill reconstrói o fogo do zero, respeitando seu formato e profundidade dentro da chama, aplicando uma paleta de calor com 7 cores (do vermelho escuro ao branco) e um dithering ordenado 4x4 para transições suaves. O corpo recebe uma paleta fixa de 8 cores (pele e couro) com um contorno escuro de 1 pixel. Cada movimento é gerado em quatro variações: reconstruído e quantizado diretamente, em alturas de 64 px e 40 px, permitindo ao artista visualizar a diferença e escolher o resultado final. As animações rodam em 'meia taxa' (metade do frame rate mestre), reforçando o visual retrô. As saídas incluem spritesheets PNG e um atlas JSON com grade de frames, FPS e âncora dos pés, prontos para uso em jogos ou aplicações web com `image-rendering: pixelated`.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Luan-vP/fire-sprite-kit/tree/HEAD/skills/fire-sprites-retro

Installed? Explore more Imagem skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Perguntar na sua IA favorita

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

Documentação

Sprites de fogo em 8-bit com fogo reconstruído

Requer movimentos já renderizados pelo skill fire-sprites: este skill trabalha a partir das camadas separadas de corpo e fogo em moves/NAME/, e não de vídeo plano. $KIT é a raiz do kit (dois níveis acima deste arquivo); py é $KIT/.venv/bin/python; execute a partir do diretório do projeto.

py $KIT/tools/retro.py                 # cada movimento renderizado
py $KIT/tools/retro.py "breath_*"      # ou apenas alguns (nomes ou globs)
abrir retro.html

Por que o fogo é reconstruído, não reduzido

Reduzir um sprite de fogo e encaixá-lo em uma paleta resulta em uma mancha branca e plana: na câmera, a chama é cortada no branco, então não há cor interna para preservar. Em vez disso:

  • Corpo: reduzido, borda alfa rígida, mapeado para uma paleta fixa de 8 cores de pele e couro (ponderada por luminosidade para que a sombra se mantenha), com um contorno escuro de 1 pixel.
  • Fogo: a forma real da chama é preservada quadro a quadro, mas sua cor é redesenhada. O quão profundo um pixel está dentro da chama escolhe um passo em uma rampa de calor de 7 cores, do vermelho escuro na borda até laranja e amarelo até um núcleo branco, com um dithering ordenado 4x4 entre os passos. A profundidade é medida em relação à espessura daquela chama, então uma chama fina de espada ainda tem um núcleo quente e uma enorme nuvem de sopro tem um gradiente amplo. Uma pequena passagem de abertura remove linhas finas de parede que vazaram para a camada de fogo.

retro.html mostra cada movimento de quatro maneiras: fogo reconstruído e quantização direta, em alturas de corpo de 64 px e 40 px. A versão direta está lá para que o artista veja a diferença; o fogo reconstruído é o que deve ser utilizado. A animação roda "em meia taxa" (metade da taxa de quadros mestre), que soa retrô e reduz pela metade o tamanho da folha.

Saídas: retro/NAME_B64.png, NAME_B40.png (reconstruído), NAME_A64.png, NAME_A40.png (direto) e retro/atlas.json com grade de quadros, FPS e âncora dos pés. Desenhe-os com escala de vizinho mais próximo apenas em múltiplos inteiros (image-rendering: pixelated em CSS).

O que dizer ao artista

Observe o resultado antes de descrevê-lo. Descobertas típicas:

  • Nuvens de sopro são muito legíveis; o redesenho dá a elas estrutura que a filmagem não possui.
  • Nuvens que tocaram a borda do quadro, uma janela ou parede estourada ficam quadriculadas nesta escala.
  • O corpo pisca para quase branco no pico de um sopro e mapeia para azul marinho escuro em quadros de silhueta, porque a paleta segue a luz da filmagem. Ofereça-se para manter os tons de pele estáveis se isso incomodar (ainda não implementado).

Alterando a aparência

Edite as constantes no início de tools/retro.py: BODY_PAL (paleta do corpo, do mais escuro ao mais claro), FIRE_RAMP (borda ao núcleo), os tamanhos em for B in (64, 40) e a curva de profundidade na linha heat =. Mantenha a paleta fixa em todos os movimentos de um mesmo artista para que as animações combinem entre si.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas