Lacunas identificadas no pipeline de game development e plano de acção priorizado.
- Problema: Todo jogo 3D precisa de níveis de detalhe — hoje é manual ou inexistente
- Estado: ✅ Implementado
- CLI:
text3d lod modelo.glb -o ./out_dir --basename prop→prop_lod0.glb,prop_lod1.glb,prop_lod2.glb - Batch:
pipeline: [3d, lod]no manifest YAML +--no-lodpara saltar - Profile:
lod: {lod1_ratio: 0.42, lod2_ratio: 0.14, min_faces_lod1: 500, min_faces_lod2: 150, meshfix: false} - Handoff: Copia
*_lod{0,1,2}.glbparaassets/models/ - Ficheiros:
Text3D/src/text3d/utils/mesh_lod.py,Text3D/src/text3d/cli.py,GameAssets/src/gameassets/cli.py
- Problema: Unity/Godot/Unreal precisam de convex hull simplificado (~100-500 tri) para física
- Estado: ✅ Implementado
- CLI:
text3d collision modelo.glb -o collision.glb --max-faces 300 --convex-hull - Batch:
pipeline: [3d, collision]no manifest YAML +--no-collisionpara saltar - Profile:
collision: {max_faces: 300, convex_hull: true} - Handoff: Copia
*_collision.glbparaassets/models/ - Ficheiros:
Text3D/src/text3d/utils/collision.py,Text3D/src/text3d/cli.py,GameAssets/src/gameassets/cli.py
- Problema: Text2Sound gera WAV 44kHz — nenhum jogo shipped usa WAV
- Estado: ✅ Implementado
- Handoff:
gameassets handoff --audio-format ogg --sfx-sample-rate 22050 --bgm-sample-rate 44100 - Comportamento: Converte WAV → OGG Vorbis via ffmpeg; fallback para cópia original se ffmpeg falhar
- Deteção: SFX (profile effects → 22050 Hz) vs BGM (profile music → 44100 Hz)
- Ficheiros:
GameAssets/src/gameassets/handoff_export.py,GameAssets/src/gameassets/cli.py
- Problema: Nenhuma verificação automática — GLB sem textura, mesh vazio, poly count absurdo
- Estado: ✅ Implementado
- CLI:
gameassets validate --profile game.yaml --manifest manifest.yaml --max-poly-count 100000 - Verificações: GLB existência/poly count/textura/tamanho, LODs, collision mesh, áudio
- Ficheiros:
GameAssets/src/gameassets/validator.py,GameAssets/src/gameassets/cli.py
- Problema: "Coin pickup" soa sempre igual — jogo precisa de 3-5 variações
- Acção:
text2sound generate --variations 5com seeds automáticos; GameAssets manifest suportaaudio_variations: 5 - Integração: Handoff exporta
sfx_coin_01.ogg,sfx_coin_02.ogg, etc.
- Problema: Batch falha a meio e não retoma bem — repete assets já gerados
- Estado:
--resumeexiste mas não verifica integridade dos ficheiros existentes - Acção: Verificar cada output antes de saltar (tamanho > 0, formato válido); log de progresso persistente
- Problema: Batch processa linhas sequencialmente — com 2+ GPUs poderia gerar em paralelo
- Estado:
--gpu-idsexiste mas divide pesos do modelo, não linhas do batch - Acção: Distribuir linhas por GPUs (round-robin ou por tamanho estimado de VRAM)
- Problema: Jogos 2D precisam de sprite sheets — hoje é manual
- Acção:
text2d spritesheet— pack de imagens em atlas com metadata JSON
- Problema: Sem controlo de tamanho total — pode estourar limite de plataforma
- Acção:
gameassets budget --max-total-mb 500— falha se exceder, sugere optimizações
- Problema: Para refinar um asset tem de regerar do zero — sem "variação sobre o existente"
- Acção:
text3d refine— img2img ou mesh refinement a partir de um GLB existente;text2sound remix
- Problema: Godot/Unity/Unreal precisam de import manual
- Acção: Exportadores:
gameassets export --target godot(cria .import, .tscn),--target unity(prefabs)
| Ferramenta | Versão | Funcional |
|---|---|---|
| Shared | — | ✅ logging, GPU, subprocess, installers |
| Text2D | — | ✅ text-to-image (FLUX SDNQ) |
| Text3D | — | ✅ text-to-3D (Hunyuan3D-2.1), LOD, collision, simplify |
| Paint3D | — | ✅ 3D texturing (Hunyuan3D-Paint 2.1) |
| Part3D | — | ✅ semantic parts |
| Rigging3D | — | ✅ auto-rigging (UniRig) |
| Animator3D | — | ✅ animation (bpy 5.1) |
| Texture2D | — | ✅ seamless textures (HF API) |
| Skymap2D | — | ✅ equirectangular skymaps (HF API) |
| Text2Sound | — | ✅ text-to-audio (Stable Audio Open) |
| Terrain3D | — | ✅ AI terrain |
| Materialize | — | ✅ PBR maps (Rust/wgpu) |
| GameAssets | — | ✅ batch, handoff (OGG), dream, validate, manifest YAML |
| VibeGame | — | ✅ browser 3D engine (Three.js + bitecs) |