Frames de Animação — vídeo primeiro
O gerador de imagens desenha poses; o gerador de VÍDEO entende movimento — alternância de pernas, continuidade de arco, dinâmica de tecidos e fogo vêm de graça porque o vídeo deve animá-los. Portanto, não peça ao modelo de imagem para imaginar poses intermediárias: anime a base e colha frames reais.
Execução do app-builder (leia primeiro)
Este skill é doutrina (leis de movimento, controle de qualidade de loop, quando usar vídeo). No
sandbox do app-builder, não execute uma colheita livre com ffmpeg nem invente um
fundo #hex chaveável aleatório.
| Passo | Faça isto |
|---|---|
| Sprites de produção / grades fixas | generate2dsprite — folhas magenta sólidas #FF00FF + scripts de chroma |
| Locomoção mais densa a partir de vídeo | video2dsprite — base ainda com #FF00FF → imagine_image_to_video → scripts do skill (ffmpeg + chroma) |
| Fundo chaveável | Sempre #FF00FF ao usar qualquer pipeline (necessário para chroma) |
| Este skill | Loop / teste de flip / leis de movimento abaixo — aplique após a execução do pipeline |
Abra .grok/skills/video2dsprite/SKILL.md ou .grok/skills/generate2dsprite/SKILL.md
e siga seus fluxos de trabalho para geração e pós-processamento. Em seguida, aplique as
leis e o teste de flip aqui antes de enviar frames para o jogo.
Pipeline padrão (intenção)
- Frame base. Sujeito em pose neutra/inicial, palavras de estilo completas, vista lateral /
adequada ao jogo, fundo sólido
#FF00FF(chroma key do app-builder). Os padrões do game-asset-core se aplicam. - Animar.
imagine_image_to_videoa partir da base: um movimento claro, no lugar, câmera estática ("o cavaleiro caminha no lugar, vista lateral, câmera travada", 6s). Mantenha a tomada simples — um sujeito, um movimento. Prefira executar isso através devideo2dspritepara que a colheita + chroma sejam consistentes. - Colher + limpar. Use scripts de
video2dsprite(nãoffmpeg -i … fps=12ad hoc sozinho). O preenchimento/despreenchimento magenta está lá; não re-chaveie com um#hexdiferente a menos que você saia completamente do pipeline magenta. - Selecionar. Escolha frames que (a) capturem as fases distintas do movimento e (b) formem um LOOP — o final da sequência deve fluir de volta ao início. Não force uma contagem: se o movimento ficar melhor com 8, 10 ou 12 frames, entregue essa quantidade (mais frames = mais suave no motor). Para um ciclo, selecione um período completo usando marcos de movimento (contatos de pé, extremos de asa, picos de chama).
- Empacotar. Entregue frames em ordem de reprodução (nomes com zero à esquerda) e/ou uma
folha conforme as regras do game-asset-core (células uniformes, sem divisores) — ou as
tiras/grades transparentes emitidas por
video2dsprite/generate2dsprite. Informe o fps pretendido.
Recorra a keyframe por keyframe com imagine_text_to_image (ainda com #FF00FF ao
pós-processar com os scripts de sprite) apenas quando o vídeo falhar no movimento
(raro: poses muito estilizadas, keyframes dramáticos únicos) — e então planeje
fases você mesmo e obedeça às leis abaixo. Prefira generate2dsprite para
grades de múltiplos frames de produção nítidas.
Leis de movimento (verifique contra estas, qualquer que seja o pipeline)
- Ciclos em loop; marchas alternadas passam metade do período espelhadas.
- Continuidade: membros, props, anatomia, efeitos movem-se em caminhos contínuos — nada teletransporta, desaparece ou duplica entre frames adjacentes.
- Física é legível nos stills: no ar mostra ar, antecipação comprime, follow-through ultrapassa; efeitos permanecem ancorados à sua origem a menos que a solicitação os mova.
- Energia corresponde ao pedido: parada/sutil significa frames quase idênticos.
Verifique — o teste de flip
Veja os frames finais estritamente em ordem e narre o movimento; verifique o fechamento do loop explicitamente (último→primeiro). Uma hesitação em sua narrativa é um frame falho. O pipeline de vídeo geralmente passa nisso na primeira tentativa — é por isso que é o padrão.