Communitygithub.com

kohryan/unrealmotion

Crie explicadores animados em silêncio a partir de um prompt, usando referências do ImageGen, reconstrução real em Three.js, movimento causal e renderização determinística para MP4. Ideal para explicadores de processos, cortes, remontagens, filmes de produto, tipografia cinética e visualização de dados; não para edição exclusiva de filmagens.

O que é unrealmotion?

Esta skill capacita agentes de IA a produzirem vídeos explicativos animados de alta qualidade, totalmente gerados por código, sem necessidade de serviços externos de vídeo ou APIs de linguagem. O fluxo de trabalho começa com a interpretação do prompt do usuário para inferir assunto, ação e estilo, gerando referências de aparência através do ImageGen e, em seguida, construindo modelos tridimensionais reais com Three.js. O agente orquestra cenas, câmeras e movimentos determinísticos, garantindo que cada quadro seja derivado do tempo solicitado, sem amostragem aleatória ou acumulação de rotações. A skill é suportada em ambientes de terminal (Node.js, Python, FFmpeg) e é ideal para produções que exigem precisão, consistência e controle artístico completo, como explicadores técnicos, remontagens mecânicas e tipografia cinética. O resultado final é um arquivo MP4 reproduzível e o projeto-fonte editável, com verificações de qualidade automatizadas e relatórios de revisão.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kohryan/unrealmotion-skill/tree/HEAD

Perguntar na sua IA favorita

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

Documentação

O que unrealmotion faz?

Entregue um MP4 reproduzível e a fonte da cena a partir do prompt do usuário. O agente de codificação ativo é o motor criativo; os scripts fornecidos recuperam referências, servem a cena, capturam quadros e codificam o vídeo. Nenhum modelo de linguagem separado, chave de API ou serviço de vídeo pago é necessário. Isto é Three.js, não Unreal Engine.

Resolva <skill> para o diretório que contém este arquivo; execute comandos do pacote ali. Use um novo diretório <project> para cada produção, preservando trabalhos anteriores. Se faltarem dependências: npm ci e npx playwright install chromium. Verifique node <skill>/scripts/unrealmotion.mjs doctor. Node 22+, Python 3.10+, FFmpeg e ffprobe são necessários; pacotes Python são necessários apenas para recuperar o código completo do dataset.

Do prompt ao filme

  1. Infira assunto, ação, mensagem pretendida, idioma, duração, formato e realismo da solicitação. Para explicadores, leia imagegen-threejs.md e explainers.md. Use ImageGen → modelo real Three.js → vídeo silencioso, começando com --mode explainer: padrão 60 segundos, 1080×1920, 30 fps. Mantenha o estilo estabelecido de corte simples em tons pastel, a menos que o usuário o altere explicitamente. O prompt determina assunto, modelo, história e receita de movimento; uma demonstração embutida não é conteúdo padrão. Apresentações curtas mantêm 12 segundos, 1920×1080 a 60 fps. Respeite formatos e ativos solicitados. Prossiga com suposições razoáveis; nenhum questionário de modelo/aprovação é necessário.
  2. Leia art-direction.md e motion-library.md. Para novos explicadores, leia dynamic-story.md: leia continuous-camera.md e use um mundo conectado com uma rota de câmera 3D contínua real, ritmo calmo e legível e 2–4 referências consistentes do ImageGen para contextos explicativos distintos. Leia text-motion.md para texto dinâmico e data-motion.md quando quantidades ajudarem na explicação. Escolha uma base de cena e perfil de movimento, então crie um plan.json compacto: geometria definidora de identidade, paleta de materiais, temporizações de tomadas, ações do sujeito, trajetória da câmera, transições, ativos locais e proveniência. Um adjetivo como “realista” precisa de evidência concreta: proporções, resposta de superfície, contato, luz coerente e movimento.
  3. Pesquise o catálogo HF de 4.146 entradas incluído, usando termos em inglês para assunto/material/mecanismo. Leia dataset.md para recuperar 1–3 exemplos de código relevantes quando detalhes estruturais ajudarem. Inspecione a construção real HTML/JS, não apenas títulos. Cite IDs de cena no plan.json. Não copie rastros de raciocínio. O dataset é um corpus de referência, não um modelo treinado ou ajustado. Para ativos industriais/de objetos com armazenamento limitado, leia simready-imagegen.md: pesquise o catálogo de metadados NVIDIA de 2.677 entradas e recupere apenas uma miniatura/licença relevante e dentro do orçamento. Isso alimenta referências de aparência do ImageGen e reconstrução de malha original; nunca baixe todo o corpus USD/textura. Para desmontagem/remontagem, leia também reassembly.md.
  4. Crie o projeto. Para um explicador, gere e inspecione o pacote de referência do ImageGen específico do prompt, especifique partes nomeadas estáveis em reconstruction.json e construa volumes reais Three.js em model.mjs. Salve prompts/proveniência exatos em asset-plan.json. Crie storyboard.json com a pergunta, progressão causal, ação/legenda por batida, câmera 3D e resolução. Retenha uma hierarquia de malha por objeto físico através de cortes, remontagem e operação; use raízes de cena nomeadas persistentes para contextos conectados, com posicionamentos mundiais e um cameraPath contínuo. Vincule cada batida aos seus IDs de referência reais. Sem substituto de plano raster/imagem recortada. Para apresentações, crie scene.mjs diretamente. A CLI é um ponto de partida de autoria, não um interpretador semântico de prompts; um título alterado sobre um modelo não relacionado não é conclusão.
  5. Visualize, percorra, execute QA e inspecione quadros representativos em resolução nativa. Siga quality.md: verifique fidelidade, mecânica/anatomia, materiais, enquadramento, legenda, transições e movimento significativo na segunda metade. Corrija falhas e repita as verificações afetadas. Registre um review.json verdadeiro, vinculado ao hash da fonte.
  6. Renderize com --final, verifique metadados e entregue o MP4, o projeto editável e uma nota de verificação concisa. Um pedido de filme finalizado autoriza exportação local. Se o usuário solicitar apenas uma prévia, entregue-a. Não substitua HTML fonte ou uma folha de contato por um vídeo solicitado.

Comandos locais

node <skill>/scripts/unrealmotion.mjs templates
node <skill>/scripts/unrealmotion.mjs create <project> --prompt "Film kamera titanium, lensa merakit presisi" --template optical-studio --motion precision-assembly
# Crie project/scene.mjs, project/project.json e project/plan.json para o briefing.
node <skill>/scripts/unrealmotion.mjs preview <project>
node <skill>/scripts/unrealmotion.mjs qa <project>
# Inspecione output/qa/contact-sheet.png E PNGs de quadros em resolução nativa, depois escreva review.json.
node <skill>/scripts/unrealmotion.mjs render <project> --final
node <skill>/scripts/unrealmotion.mjs probe <project>/output/video.mp4

--width, --height, --duration, --fps, --supersample são opções de criação. Novos explicadores usam histórias versão 2 com --pace calm --assets multi; escolha --pace dynamic ou --assets single quando o briefing justificar. Projetos versão 1 existentes permanecem suportados. Use --output <new.mp4> para preservar uma exportação; --force substitui uma saída explicitamente escolhida. Um --audio <local.wav> opcional adiciona/aparata uma faixa de áudio fornecida ao vídeo. Não adicione narração sintética ou música a menos que solicitado. A prévia imprime uma URL de loopback com play/pause e varredura de quadros; não é uma implantação pública.

A base padrão do explicador é imagegen-explainer: referência específica do prompt → modelo Three.js → história → vídeo. water-system-explainer é apenas o estudo de movimento SVG anterior. Bases de apresentação são optical-studio, architectural-light, kinetic-editorial, pelagic-bloom e mechanical-reassembly. Perfis de câmera de apresentação: cinematic-orbit, precision-assembly, macro-dolly, continuous-flow, editorial-spring. Explicadores escolhem movimento follow-the-flow, operação de corte, remontagem, limiar/resposta ou comparação, com uma trajetória de câmera criada pelo autor. Receitas não alteram o estilo estabelecido. Veja motion-library.md.

Propriedades de produção inegociáveis

  • Todo estado visível deriva do quadro/tempo solicitado, incluindo shaders, partículas, poses de rig, mudanças de material e texto. Preserve createScene(config) → {update(seconds, normalizedTime), draw(), inspect()}; veja runtime.md. Sem rotações cumulativas, passos de física, amostragem aleatória durante atualizações ou gravação de tela em tempo real para entrega final.
  • Mantenha ativos locais, pacotes fixados, geração de cena com semente, um pipeline de cor, escala física consistente e identidades de objeto estáveis. O renderizador bloqueia solicitações externas. Carregue modelos, texturas e fontes antes da prontidão; ativos ausentes são falhas.
  • Modele volumes e anexos reais. Use chanfros, partes coerentes, pivôs corretos, rugosidade/metalicidade justificada, sombras de contato suaves e reflexões controladas. Renderize superfícies transparentes com cuidado. Uma pilha de primitivas, anatomia de palito, peças flutuantes, rigs quebrados ou um objeto genérico giratório não satisfaz um briefing detalhado.
  • Para humanos fotorrealistas, animais, objetos de marca ou cenas críticas de semelhança, use ativos licenciados/fornecidos pelo usuário, texturas e ativos com rig apropriados quando a geometria procedural não puder atender ao briefing. Registre fonte/licença. Inspecione anexo, juntas, silhueta, contato e oclusão durante toda a ação. Não substitua silenciosamente realismo por atores geométricos simples. Declare claramente qualquer limite de fidelidade de material.
  • A ação do sujeito deve conduzir a história: mecanismos operam, material flui, partes se montam, estrutura se desdobra ou informação se transforma. Apenas órbita da câmera e partículas à deriva são insuficientes. Evite transformações rígidas de velocidade constante; use aceleração, acompanhamento, escalonamento onde motivado e trajetórias de câmera com velocidade contínua.
  • Um explicador deve responder sua pergunta através de uma sequência visual completa. Duração maior, legendas extras e um reel de apresentação não substituem causa/efeito, explicação legível, ilustração/modelo apropriados e transições de cena coerentes. Respeite solicitações silenciosas; não adicione configuração de áudio.
  • Corresponda à complexidade e estilo da referência. Prefira geometria simples e coerente, superfícies pastel e cortes claros para este fluxo de trabalho; não invente uma nova direção de arte ou adicione detalhes decorativos. O ImageGen guia a aparência; ele não recupera CAD oculto, dimensões exatas ou metadados de simulação da NVIDIA.
  • O QA automatizado verifica propriedades técnicas. Ele não certifica beleza, fotorrealismo, anatomia precisa ou correção física. Marque verificações visuais como aprovadas apenas após inspecionar suas evidências. Relate o que foi realmente testado.

Motores opcionais existentes

Padrão para o renderizador Three.js incluído. Para um projeto Remotion ou HyperFrames existente do usuário, leia engine-interop.md e mantenha seu contrato nativo de quadro/seek. Seus runtimes são opcionais, licenciados independentemente e não incluídos ou testados apenas por menção. Os estudos fonte por trás desta skill, revisões exatas e distinções de licenciamento estão em source-study.md.

Habilidades Relacionadas