Imagem para modelo 3D com ComfyUI
O ComfyUI reconstrói uma malha a partir de uma imagem com um modelo local (Trellis.2, Pixal3D, Hunyuan3D…). Você não modela nada: você escolhe o fluxo de trabalho, executa e entrega o arquivo. Ele roda na GPU do usuário, não custa nada e leva de alguns minutos a um quarto de hora.
A mecânica já está em suas ferramentas: comfy_workflows lista os fluxos de trabalho que o usuário salvou, prepara um com a imagem anexada e coleta o resultado, e informa cada próximo passo; a conexão ComfyUI valida, executa e aguarda. Siga o que essas ferramentas retornam. Esta skill é sobre as escolhas que elas deixam para você.
Se você não tiver nem comfy_workflows nem as ferramentas da conexão ComfyUI, pare e diga isso: o usuário instala a conexão ComfyUI (Ferramentas → Conexões), concede a este agente comfy_workflows, comfyui_validate_workflow, comfyui_run_workflow e comfyui_job, e mantém o ComfyUI aberto.
Qual fluxo de trabalho
comfy_workflows com action: "list" mostra o que o usuário salvou. Escolha com base no que a imagem é:
| A imagem é | Use um fluxo de trabalho para |
|---|---|
| Uma foto de um objeto (uma foto, um render, um conceito) | imagem para modelo 3D, imagem única (um fluxo de trabalho multivista que o usuário nomeia também funciona com uma foto) |
| Uma folha com várias vistas do mesmo objeto (frente, lateral, costas; um turnaround de personagem) | multivista para modelo 3D |
| Várias imagens anexadas separadas do mesmo objeto | multivista, se o fluxo de trabalho ler vários arquivos; caso contrário, pergunte qual imagem usar |
- Um fluxo de trabalho que o usuário nomeia vence sua escolha.
- Se dois fluxos de trabalho salvos se encaixam e nada os diferencia, pergunte; não execute ambos.
- Se nenhum se encaixa, diga isso e nomeie o que o usuário tem. Só então ofereça um modelo da galeria online do Comfy (
comfyui_search_templates, se você tiver), e avise ao usuário antes que a galeria é conteúdo da internet, então o aplicativo pedirá que ele aprove cada etapa depois que você a ler.
O que preparar
- Passe a imagem anexada em
files, com o nome que a conversa mostra para ela. - Um objeto por execução. Se a imagem mostrar vários objetos, pergunte qual, ou diga que o modelo conterá a cena inteira como uma única peça.
- Uma imagem com fundo simples e o objeto inteiro no quadro fornece o melhor modelo. Se o objeto estiver cortado pela borda ou escondido atrás de algo, diga isso antes de executar: o gerador inventa o que não pode ver.
Escolhas dentro de um fluxo de trabalho
comfy_workflows cita as notas que o autor do fluxo de trabalho deixou. Leia-as: elas dizem o que as opções do fluxo de trabalho fazem.
- Dois geradores atrás de uma chave (um fluxo de trabalho que pode usar um de dois modelos): deixe como o usuário salvou. Altere apenas quando ele nomear o gerador que deseja, com
comfyui_list_workflow_slotspara encontrar a chave ecomfyui_set_workflow_slotpara defini-la, e informe no relatório qual foi executado. - Os valores do usuário permanecem. Execute o fluxo de trabalho com os valores que o usuário salvou. Não altere
target_face_count, a resolução, o sampler ou qualquer outra coisa por conta própria, nem mesmo quando a imagem parecer simples ou a última execução tiver dado um modelo pesado: um fluxo de trabalho salvo é a decisão do usuário, e um valor que você reduz "para ajudar" produz um modelo que ele não pediu (uma reconstrução dizimada muito abaixo de seu detalhe resulta em uma forma amassada, não uma cópia mais leve). Se você acha que um modelo mais leve atenderia melhor, diga isso no relatório e ofereça; não o faça. - Um modelo mais leve, apenas quando solicitado. Quando o usuário pedir explicitamente um modelo leve, nomear uma contagem de faces, ou disser que é para um jogo, a web ou um celular, reduza a contagem de faces ANTES de executar, em duas chamadas no arquivo preparado:
comfyui_list_workflow_slots, e em sua resposta encontre o slot cujo nome étarget_face_count(pertence a um nóDecimateMesh); copie seuaddress.comfyui_set_workflow_slotcomstdout: falsee[{"address": "<esse endereço>", "value": 50000}]para um prop em um jogo (150000 para um objeto herói que a câmera vê de perto). Nunca vá abaixo de 50000 a menos que o usuário nomeie um número menor ele mesmo. Em seguida, valide e execute como de costume, e informe no relatório o que você definiu. Se o fluxo de trabalho não tiver esse slot, ou você não tiver essas duas ferramentas, execute como está e diga claramente que o modelo é pesado para um jogo e o quanto.
- Uma foto é suficiente para um fluxo de trabalho multivista. Um fluxo de trabalho que recorta várias vistas de sua entrada funciona também com uma única foto: os recortes que caem fora da imagem ficam vazios e o modelo é construído a partir da única vista real. Não procure por uma folha de vistas ou tente criar uma; execute com a imagem que o usuário deu.
Quando não executa
- Um modelo ou nó está faltando: nomeie os arquivos que a validação relata e pare. O usuário os instala a partir do ComfyUI (abrir o fluxo de trabalho lá oferece os downloads). Não mude para outro fluxo de trabalho para contornar isso.
- O trabalho falha:
comfy_workflowscomaction: "collect"relata o nó e o motivo. Falta de memória é o comum: diga isso e ofereça tentar novamente com resolução mais baixa ou com o outro gerador, se o fluxo de trabalho tiver um. Não tente novamente sozinho mais de uma vez. - Uma espera expira: o trabalho ainda está em execução. Espere novamente; nunca inicie duas vezes.
O relatório
- O arquivo que
collectretornou, seu tamanho e sua contagem de triângulos, exatamente como fornecidos. - Qual fluxo de trabalho foi executado e qualquer coisa que você alterou nele.
- Você não viu o modelo: diga que foi gerado, não como ele se parece.
- Uma linha sobre o que esperar: os lados que a imagem não mostra são inventados pelo gerador, e o resultado é uma única malha com texturas assadas, não partes separadas.
- Se o usuário quiser limpá-lo, reduzi-lo ainda mais ou exportá-lo para um motor, isso é trabalho para o Blender (a skill
blender-game-export).