Documento de apoio ao fluxo conteúdo gerado + orquestração + agentes de código. Versão completa em inglês: ZERO_TO_GAME_AI.md.
- Modelos generativos — Text2D, Texture2D, Text3D, Paint3D, Text2Sound, Skymap2D, etc.: transformam prompts em ficheiros (PNG, GLB, áudio).
- Orquestração — GameAssets (
gameassets batch): perfil YAML + CSV + presets, chamadas determinísticas a CLIs (*_BIN). - Agentes / IDE — Convenções em AGENTS.md, contexto do motor em VibeGame/llms.txt, skill do GameAssets em
GameAssets/src/gameassets/cursor_skill/SKILL.md.
- Instalar ferramentas (INSTALLING_PT.md).
- Definir
game.yaml+manifest.csv+ presets; opcionalmentegameassets promptsantes do batch. - Correr
gameassets batch— pipeline stages (3D, rig, parts, animate) são auto-detetados do manifest +game.yaml. - Opcional: validar GLBs com GameDevLab.
- Copiar outputs para
public/assets/…(ougameassets handoff --public-dir …) e usarloadGltfToScene,<GLTFLoader url="…">, ou os exemplos simple-rpg (completo) / hello-world (mínimo). - Iterar código e XML com o assistente, usando
llms.txtpara VibeGame e AGENTS.md para o resto do repositório.
Fluxo de ponta a ponta para uma personagem texturizada, rigada e animada no browser:
Texto → Imagem → Modelo 3D → Textura → Rig → Animação → Handoff → VibeGame
Depois do Rigging3D produzir um GLB rigado, o Animator3D grava animações de jogo procedimentais no asset com game-pack:
animator3d game-pack rigged.glb animated.glb --preset humanoidO preset humanoid cria cinco clips: BreatheIdle, Walk, Run, Jump e Fall (no GLB com o prefixo Animator3D_; ver abaixo). Outros presets (creature, flying, …) geram conjuntos diferentes; ver ANIMATOR3D_AFTER_RIG.md.
gameassets batchauto-deteta o pipeline completo a partir do manifest + perfil, incluindo Animator3D game-pack quando o manifesto pede animação (após rig).gameassets dreamanima personagens automaticamente: o batch usa auto-deteção a partir do manifest + perfil.
Em vez de código à mão para cada projeto, usar o elemento PlayerGLTF no XML da cena. Carrega o GLB, reproduz idle / walk / run (e estados relacionados quando existem clips) e substitui a caixa por defeito:
<PlayerGLTF pos="0 0 0" model-url="/assets/models/hero.glb"></PlayerGLTF>- O Text3D usa
origin=feetpor defeito: base em Y = 0, XZ centrado na malha. - O Paint3D preserva isso com
--preserve-originao pintar para manter o alinhamento. - O Rigging3D valida a origem após o merge para o rig e as animações ficarem assentes no chão.
No GLB exportado:
Animator3D_BreatheIdleAnimator3D_WalkAnimator3D_RunAnimator3D_JumpAnimator3D_Fall
O runtime (PlayerGLTF e sistemas relacionados) mapeia o movimento a estes nomes (ou aliases compatíveis).
Ver MONOREPO_GAME_PIPELINE.md (pastas, URLs, loadGltfToScene, loadGltfAnimated, <PlayerGLTF>). Animator3D pós-rig: ANIMATOR3D_AFTER_RIG.md. Céu equirect: applyEquirectSkyEnvironment no VibeGame.
| Tema | Onde |
|---|---|
| Animator3D pós-rig | ANIMATOR3D_AFTER_RIG.md |
| PMREM / céu | applyEquirectSkyEnvironment (vibegame) |
| Pack para web | gameassets handoff |
| Plano JSON (batch dry-run) | gameassets batch --dry-run --dry-run-json ficheiro.json |
| GLB no XML | <GLTFLoader url="…"> |
| Jogador animado (XML) | <PlayerGLTF model-url="…"> — idle/walk/run pelo input; ver Pipeline completo de animação |
Novo comando que recebe uma descrição em linguagem natural, chama um LLM para planear assets e cena, e gera um projecto Vite jogável com VibeGame.
gameassets dream "idle clicker de fazenda, estilo pixel art" --dry-runFases: Plan (LLM) → Emit (yaml/csv/xml/ts) → Batch (auto-deteção 3D/rig/animate) → Sky → Handoff → Scaffold. --dry-run gera ficheiros sem GPU. Providers: openai, huggingface, stdin.
Código: GameAssets/src/gameassets/dream/.
| Prioridade | Tema |
|---|---|
| Média | Zip CI de public/assets |
| Baixa | resume --dry-run-json alinhado ao batch |
| Baixa | Refinamento multi-turn do plano no dream |