O que polywright-gerar faz?
Dois motores criam modelos imaginados: código (exato, editável, nítido, com dimensões) e geradores (orgânicos, rápido, aproximado, topologia bagunçada). Escolha pelo objeto, não pelo hábito. Volte ao hub: ../polywright/SKILL.md. Tabela de modelos com licenças e VRAM: references/generators.md. Padrões de código: references/code-modeling.md.
Passo 1: código ou gerador?
| Objeto | Motor |
|---|---|
| Tem dimensões, encaixa em algo, é principalmente planos e cilindros (suporte, caixa, prateleira, construção, placa, engradado) | código: build123d, CadQuery ou OpenSCAD para peças imprimíveis e CAD; bpy para kits de jogo e construções |
| Muitas variações de uma coisa (cercas, casas, pedras, uma floresta) | código procedural (bpy, Geometry Nodes) a partir de alguns poucos assets heroicos |
| Peça única orgânica ou escultural (estátua, criatura, personagem, tronco de árvore, comida) | gerador a partir de uma imagem de referência ou conjunto de múltiplas vistas |
| Personagem que será animado | gerador para a forma, depois retopologia e rig (polywright-finalizar) |
| Um objeto real do qual você tem uma foto | tente polywright-capturar primeiro; um gerador adivinha os lados ocultos |
Difusão arredonda bordas afiadas e inventa dimensões; código não consegue esculpir a face de um leão. Muitos modelos bons são ambos: um pedestal codificado com um bico de cabeça de leão gerado, unidos por booleano.
Passo 2: geradores
- Referências primeiro (polywright-referências): uma imagem limpa em fundo branco, luz plana, pouca perspectiva, 1024 px; para personagens, uma pose A; para um verso melhor, um conjunto frente/esquerda/trás/direita na mesma escala.
python ../polywright/scripts/pw.py doctormostra os hosts do ComfyUI e seus checkpoints 3D.- Execute um:
- Hunyuan3D-2 integrado (apenas forma, cerca de 100 s em uma placa de 16 GB com 30 passos, octree 256):
pw.py gen --image refs/front.png [--left L --back B --right R] --out work/raw.glb [--seed N] - Qualquer outro workflow do ComfyUI, em formato de API ou salvo pelo editor (um arquivo de modelo funciona como está; pw.py
converte-o com as definições de nó do host):
pw.py gen --image refs/front.png --workflow <arquivo> --out work/raw.glb. TRELLIS.2 e Pixal3D com texturas PBR: o modelo do ComfyUI3d_pixal3d_trellis2_image_to_model.json(na pasta de instalação do ComfyUIcomfyui_workflow_templates_json/templates); sua chave seleciona Pixal3D por padrão, então adicione--set 316.value=truepara TRELLIS.2. Em uma placa de 16 GB (tempo de GPU): TRELLIS.2 377 s frio (73 a 190 s quente), na vertical, o melhor detalhe; Pixal3D 329 s, no quadro da câmera (inclinado:pw.py convert IN OUT --level); ambos cerca de 700k triângulos com texturas PBR de 4096 px; Hunyuan3D-2 99 s, apenas forma.--set NODE.input=VALORaltera qualquer entrada. - APIs hospedadas (Meshy tem a lista de preços públicos mais clara; Tripo, Rodin, Hunyuan 3.x): através de sua própria API ou MCP, ou nós parceiros do ComfyUI. Informe o custo antes de gastá-lo.
- Hunyuan3D-2 integrado (apenas forma, cerca de 100 s em uma placa de 16 GB com 30 passos, octree 256):
- Cada execução escreve
<saida>.gen.json(host, modelo, semente, passos). Registre o modelo e sua licença:pw.py manifest <dir> --add-tool "<modelo>" --tool-version <v>. - Veja:
pw.py inspect work/raw.glbdepoispw.py render work/raw.glb --out renders/raw. Compare a folha com a referência: o verso e a parte inferior são suposições; membros extras, partes finas derretidas e lacunas fundidas são comuns. Regere com outra semente ou vistas melhores antes de corrigir manualmente. Letras e números pintados assam como borrões e as cores se desviam:pw.py markapaga e redesenha a marcação e move a cor para a da foto (L-003; figuras para vídeo).
A saída bruta não é escalada, é densa (centenas de milhares de triângulos), frequentemente não-manifold, sem UVs, eixo Y para cima. Nunca está pronta para jogo nem pronta para impressão como está: escale e finalize (polywright-finalizar, polywright-imprimir).
Passo 3: código
Escreva um script que construa o objeto a partir de partes nomeadas com dimensões reais, execute-o, veja-o, corrija-o:
- bpy:
pw.py bpy build.py -- --out work/model.blend(armadilhas pela versão do Blender: polywright-blender). - build123d ou CadQuery (Python) ou OpenSCAD (
openscad -o out.stl model.scad, backend Manifold) para sólidos: à prova d'água por construção, exporta STEP para CAD e STL ou 3MF para impressão.
Coloque verificações no script (tamanho geral, folgas entre partes, espessura de parede, contagem de partes) e imprima-as; agentes corrigem falhas a partir de tracebacks bem, mas erros de forma apenas a partir de medições e renderizações. Duas tentativas em um traceback, depois repense.
Passo 4: texturas para uma malha gerada ou codificada
TRELLIS.2 e Pixal3D assam texturas PBR em seu workflow. Para uma malha sem textura: o estágio de textura condicionada à forma do TRELLIS.2, StableGen (add-on do Blender com backend ComfyUI, GPLv3) projetando SDXL, Flux ou Qwen Image 2.1 a partir de câmeras (0.4.0 adiciona re-texturização regional mascarada e auto-rigging SkinTokens; Qwen Image 2.1 e FIBO 2.0 Edit são não comerciais, MOSS Image é Apache-2.0), ou materiais simples de bibliotecas CC0 (polywright-referências). Hunyuan 2.1 paint precisa de cerca de 21 GB.
Licenças (registre por execução)
TRELLIS.2, Pixal3D, TripoSG, PartCrafter: MIT. Hunyuan3D pesos abertos: licença comunitária Tencent (não licenciado na UE, Reino Unido ou Coreia do Sul; limite de 1M MAU; saídas não podem treinar outros modelos). SF3D e SPAR3D: licença comunitária Stability (gratuita abaixo de US$ 1M de receita). Hospedados: os termos do plano. Pesos apenas para pesquisa (PartPacker, Lyra, CHORD) ficam fora de qualquer coisa enviada. Lojas exigem divulgação de IA (polywright roteia referência).
Manutenção
Unidade perene, nível fast (modelos e licenças mudam mensalmente). Companheiros: RESEARCH.md,
CHANGELOG.md, LEARNINGS.md, TESTS.md com evals/evals.json,
MAINTENANCE.md, estado em evergreen.json. Leia evergreen.json a cada uso; atualize quando devido.