Pipeline de assets 3D · do prompt ao GLB

Pipeline de assets 3D: do prompt de texto ao GLB pronto para o jogo (passo a passo)

Crie seu próprio pipeline de assets 3D

Todo o caminho que um modelo 3D feito com AI percorre: prompt, malha, retopologia, UV, textura, GLB comprimido — e os checkpoints que impedem um asset ruim de chegar ao seu jogo.

✦Jogo
Crie pipeline de assets 3D

Um pipeline de assets 3D é o caminho ordenado que um modelo percorre de uma descrição escrita até um arquivo que o seu jogo consegue carregar: descrever, gerar a malha, fazer a retopologia, desdobrar e texturizar, inspecionar, exportar um GLB comprimido. No Neta Studio, esse caminho termina em um GLB que o construtor de jogos 3D entrega ao Three.js no navegador, então cada etapa precisa produzir algo que um navegador consiga suportar, não apenas algo que pareça certo em um viewport de desktop.

A maioria dos pipelines não falha de forma evidente. Ela falha em silêncio: um modelo que parecia correto no editor chega ao nível quarenta vezes maior, ou uma textura que era nítida no torso vira borrão nas botas porque as ilhas UV foram empacotadas em densidades diferentes. Os checkpoints descritos abaixo são os baratos: uma passada de wireframe, uma seleção de geometria non-manifold, uma medição de caixa delimitadora. Cada um leva menos de um minuto e captura uma classe de defeito que custa uma tarde inteira depois que o asset está dentro da cena.

Resposta rápida: o que é um pipeline de assets 3D

Um pipeline de assets 3D é o conjunto ordenado de etapas que transforma uma descrição em um arquivo que uma engine de jogo ou um navegador consegue carregar. São seis: descrever o objeto em palavras, gerar a malha, fazer a retopologia quando a topologia é inutilizável, desdobrar as UVs e texturizar a superfície, inspecionar wireframe, normais e slots de material, e então exportar um GLB comprimido. Nada dessa lista é opcional para um objeto texturizado, e cada etapa tem um portão que você pode verificar antes de seguir adiante.

A ordem importa porque as etapas são dependências, não uma checklist. A retopologia reescreve os índices dos vértices, então qualquer mapa UV ou textura assada produzida antes dela é descartada. As texturas são criadas em função das UVs, então desdobrar depois de texturizar significa refazer a textura. A compressão é lossy e roda por último, então os artefatos que ela introduz são indistinguíveis de defeitos que você deveria ter capturado três etapas antes. Rodar as etapas fora de ordem não custa só tempo; produz arquivos que passam na inspeção e ainda assim quebram na cena.

Trate cada etapa como um produtor com um contrato. A etapa 2 precisa entregar à etapa 3 uma única malha em metros com uma contagem de triângulos conhecida. A etapa 4 precisa entregar à etapa 5 um modelo cujas ilhas compartilham um único conjunto de texturas. A etapa 6 precisa entregar ao runtime um arquivo dentro de um orçamento de tamanho, com materiais que mapeiam um a um para o que o renderizador espera. Quando um asset se comporta mal depois, o contrato que nunca foi escrito costuma ser justamente o que foi quebrado.

As seis estações em resumo

Cada estação tem uma saída e uma falha característica. A coluna de falha é a mais útil: ela diz o que o portão no fim de cada etapa precisa verificar antes de você permitir que o asset siga adiante.

EtapaO que produzFalha mais comum
1. DescreverUm prompt que fixa silhueta, material, escala, pose e estiloPrompt vago retorna um objeto fundido com várias partes em um tamanho arbitrário
2. Gerar malhaUma malha triangular densa, normalmente com dezenas de milhares de triângulosCasca aberta, faces internas, nenhuma silhueta utilizável vista de lado
3. RetopologizarUma malha limpa dentro do orçamento de triângulos que você escolheuRetopologia feita depois do desdobramento, descartando as UVs
4. Desdobrar e texturizarIlhas UV empacotadas em 0–1 mais um conjunto de albedo/rugosidadeDensidade de texel irregular, costuras atravessando curvatura visível
5. InspecionarNormais, slots de material e wireframe confirmadosNormais invertidas e slots de material vazios descobertos após a exportação
6. Exportar GLBUm .glb comprimido com texturas incorporadasCompressão de geometria aplicada a uma malha com skin que depois perde os pesos

Etapa 1: Descreva o objeto

Um prompt de geração é uma especificação, não um desejo. Cinco campos fazem o trabalho: silhueta, material, escala, pose e estilo. Palavras de silhueta decidem o contorno em torno do qual a malha é construída. Palavras de material decidem albedo e rugosidade. Palavras de escala ancoram a proporção — escreva 1,8 m de altura em vez de alto, porque o gerador não tem outra forma de saber se está criando um enfeite de mesa ou um prédio. Palavras de pose importam para qualquer coisa que vá receber rig: uma pose neutra em A ou uma postura ereta gera uma malha à qual um esqueleto pode ser ajustado, enquanto uma pose de ação congela os membros em um formato que você não consegue rigar de novo com facilidade.

Vale acrescentar mais duas cláusulas sempre. Declare a contagem de partes — objeto único, ou corpo e base separados — porque geometria fundida é o motivo mais comum para um asset gerado não poder ser animado ou receber materiais por parte. E declare o que deixar de fora: sem pedestal, sem fundo, sem plano de chão. Os geradores preenchem espaço vazio com geometria plausível, e cada superfície extra que você não pediu é uma superfície que você terá de apagar depois.

  • Prompt fraco“uma lanterna de pedra” — sem escala, sem material, sem pose, sem contagem de partes. O gerador escolhe um estilo e um tamanho no seu lugar, e você recebe uma lanterna de fantasia de 9 m de altura, com um cristal brilhante na fornalha e um pedestal fundido à base que você vai passar vinte minutos removendo.
  • Prompt forte“lanterna de pedra única, 1,8 m de altura, tampa hexagonal, granito cinza desgastado com líquen nas juntas, postura ereta vertical, fornalha vazia, estilo realista suave, um objeto, sem pedestal, centralizada na origem” — cada cláusula corresponde a uma decisão que você tirou do gerador. A escala está fixa, o material está fixo, a pose é neutra, a contagem de partes é uma.

Etapa 2: Gere a malha

A geração de malha é text-to-mesh ou image-to-mesh. A entrada por imagem dá controle mais preciso sobre a silhueta, porque você pode fornecer uma referência com as proporções que já deseja; a entrada por texto é mais rápida para objetos cuja forma é convencional. De qualquer modo, o que volta é matéria-prima, não um asset pronto para entrega. Uma malha gerada costuma ser muito mais densa do que precisa, com fluxo de triângulos irregular e sem qualquer consideração sobre como a superfície será cortada para as UVs.

Verifique três coisas antes de fazer qualquer outra coisa: se a malha é fechada, se a escala é razoável e se a contagem de triângulos é algo que você pode pagar na cena que está construindo. Se a resposta para a terceira for não e o objeto nunca se deformar, um modificador Decimate no modo Collapse com a silhueta preservada é uma resposta legítima — não substitui a retopologia, mas para um prop estático muitas vezes é a troca correta.

1

01

Verificação de estanqueidade: no Blender, Edit Mode → Select All by Trait → Non Manifold. A contagem esperada é zero. Buracos sob uma tampa ou ao longo de um membro significam que o gerador produziu uma casca aberta; ela vai projetar sombra de forma errada e não pode receber boolean, solidify nem impressão 3D.

2

02

Geometria duplicada e interna: Merge by Distance em 0,0001 m, depois leia novamente a contagem de triângulos. Faces internas sobrevivem à geração com uma frequência surpreendente e aparecem como manchas escuras em um render com normais.

3

03

Escala: leia a caixa delimitadora no painel N, não no viewport. Um prop que deveria ter 0,4 m e mede 4 m será reduzido por quem o posicionar, e seu volume de colisão ficará errado pelo mesmo fator.

4

04

Orçamento de triângulos: cerca de 500–3.000 triângulos para um prop, 5.000–15.000 para um objeto hero, menos de 500 para cenografia de fundo. Uma malha bruta de 200.000 triângulos é normal para um gerador; não é normal para um asset de entrega.

Etapa 3: Faça retopologia quando a malha estiver bagunçada

Topologia limpa em quadris importa quando a superfície precisa trabalhar depois da exportação. Isso significa qualquer coisa que se deforme — personagens, tecido, bandeiras, folhagem — porque os edge loops determinam se um cotovelo dobra ou colapsa. Também importa quando você planeja subdividir, quando planeja assar detalhe de alta densidade em um normal map (o que exige quadris distribuídos de forma uniforme e um layout UV estável), quando outra pessoa vai editar a silhueta depois e quando você precisa de versões previsíveis com menos detalhe do mesmo objeto.

Não importa para um prop estático visto de longe, um objeto hard-surface cuja silhueta já está correta, ou qualquer coisa que vá terminar com menos de cerca de mil triângulos. Nesses casos, uma malha decimada com normais corretas e contorno limpo é a resposta certa, e passar uma hora no fluxo de quadris é uma hora que você nunca recupera no render.

A ordem é fixa: remesh ou decimate primeiro, depois desdobre. O guia de desdobramento UV do Blender assume que a malha é final quando você começa a cortar costuras, e essa premissa é o ponto central — a retopologia muda índices de vértices e o fluxo das arestas, então um mapa UV feito antes dela já não existe em nenhum sentido prático, e toda textura pintada sobre ele fica desalinhada. Faça o remesh, aplique, e então siga a documentação de desdobramento. Um Voxel Remesh em 0,01–0,02 m em um objeto de um metro seguido de QuadriFlow até uma contagem de faces alvo é o caminho padrão; Decimate Collapse é o caminho rápido para geometria estática.

Etapa 4: Desdobre as UVs e texturize

O desdobramento corta a superfície em ilhas, achata cada uma com o mínimo de distorção possível e as empacota no quadrado UV de 0–1. O Smart UV Project oferece uma linha de base tolerável para objetos hard-surface em segundos. Personagens e qualquer coisa com curvatura visível merecem costuras posicionadas à mão: pela parte interna de um membro, ao longo das costas, atrás da orelha — nunca no meio de uma forma que a câmera verá de frente.

A densidade de texel é o número que decide se o modelo parece consistente. É a resolução de textura por unidade de mundo: um mapa de 1024×1024 espalhado por um metro quadrado dá cerca de 1.024 pixels por metro. Se a cabeça do seu personagem recebe 1.024 px/m e as botas recebem 300 px/m, as botas ficam visivelmente mais suaves no mesmo quadro, e nenhuma quantidade de nitidez corrige isso. Defina o orçamento de densidade uma vez, depois escale cada ilha para corresponder, mantendo as ilhas dentro de cerca de 10–20% umas das outras.

O empacotamento precisa de margem, não só de eficiência. Deixe 4 pixels de padding em 1024 e 8 em 2048 para que o mipmapping e a filtragem bilinear não puxem ilhas vizinhas para dentro de uma costura. Mantenha as UVs estritamente dentro de 0–1 para uma build web: tiles UDIM são suportados por alguns exportadores e não pela maioria dos loaders de navegador, e um segundo conjunto de texturas custa uma segunda draw call. Se parte do modelo nunca é visível, gaste o espaço UV dela nas partes que são, em vez de apagar as faces — faces ausentes são mais difíceis de diagnosticar depois do que uma área oculta com densidade ligeiramente menor.

Etapa 5: Inspecione antes de exportar

A inspeção são três passadas separadas, cada uma procurando uma classe específica de defeito. Faça-as nesta ordem, porque um problema de normais esconde um problema de material, e um problema de material esconde um problema de wireframe.

Wireframe

Mude para wireframe e leia a distribuição de triângulos. Você está procurando fatias longas e finas, que sombreiam mal e se deformam pior; n-gons, que o exportador glTF vai triangular por conta própria e ocasionalmente em uma direção que você não escolheu; e densidade no lugar errado — uma parede plana carregando 6.000 triângulos enquanto a tampa curva carrega 200. A densidade deve acompanhar a curvatura e a deformação, não a ordem em que o gerador emitiu as faces.

Normais

Recalcule para fora, depois olhe o modelo sob uma única luz direcional com backface culling ativado. Faces invertidas aparecem como manchas pretas ou desaparecem por completo. Verifique também as arestas rígidas: um ângulo de auto-smooth em torno de 30° serve para objetos hard-surface e 60° para orgânicos, e normais de split personalizadas são a primeira coisa a ser silenciosamente deturpada por uma conversão de formato. Se o modelo só fica preto depois da exportação, exporte de novo sem compressão de geometria para ver se o problema é o compressor ou a malha.

Slots de material

Conte os slots. Malhas geradas chegam rotineiramente com seis, dois deles vazios e mais dois apontando para cópias duplicadas da mesma imagem. Cada material é uma draw call, então consolide em um material com uma textura quando o objeto permitir, apague slots vazios e confirme o modo alfa: BLEND força ordenação e custa fill rate, MASK é mais barato e geralmente correto para folhagem e grades. Verifique também a flag de dupla face — deixá-la ativada dobra a superfície sombreada sem ganho visual.

Blender Model Gallery — uma exportação real do Blender que você pode inspecionar no navegador.

Etapa 6: Exporte um GLB comprimido

Para uma build de navegador, defina um orçamento de tamanho antes de exportar, não depois. Um prop único deve ficar abaixo de cerca de 1 MB, um personagem hero entre 2 e 4 MB, e uma cena inteira abaixo de aproximadamente 15–20 MB se você espera que ela carregue em um notebook intermediário sem uma travada visível. As texturas dominam esse orçamento: 512 px para objetos de fundo, 1024 px para props, 2048 px só para algo de que a câmera chega perto.

A compressão faz dois trabalhos diferentes, e vale separá-los. A compressão de geometria — Draco ou Meshopt — quantiza posições de vértices, normais e UVs em um número fixo de bits e reordena o buffer. O Draco costuma produzir o arquivo menor; o Meshopt decodifica mais rápido, o que importa no mobile. Ambos são lossy no nível de precisão e ambos podem perturbar pesos de skin e morph targets se a malha não estava limpa desde o início. A compressão de textura via KTX2/Basis mantém a imagem comprimida na memória da GPU em vez de decodificá-la para RGBA bruto, ao custo de uma extensão que o seu loader precisa suportar — a especificação central do glTF garante apenas PNG e JPEG.

Sempre abra o arquivo exportado em um visualizador GLB ou importe-o no construtor de jogos 3D antes de considerá-lo pronto. É no exportador que as normais invertem, os slots de material colapsam em um e a escala deriva porque uma transformação foi aplicada ao pai e não à malha. Testar na ferramenta que produziu o asset não prova nada; testar no loader com o qual você realmente vai publicar prova tudo.

Onde os pipelines quebram e como identificar

Os sintomas abaixo cobrem a maior parte do que dá errado. Note que quatro dos seis são visíveis em uma única passada de inspeção, e nenhum deles exige que você abra o arquivo de origem se testar o GLB exportado direito.

Por que falhas de pipeline de assets 3D se concentram em duas etapas

A geração e a exportação produzem a maior parte dos defeitos, por motivos opostos. A geração é irrestrita — o modelo não recebeu instruções sobre o que deve ser, então inventa escala, contagem de partes e geometria interna. A exportação é destrutiva — é o primeiro ponto em que os dados são quantizados, reordenados e empacotados em um único arquivo, então todo problema latente na malha se torna visível de uma vez. As etapas 3 a 5 existem para tirar os defeitos da extremidade destrutiva da cadeia e colocá-los em um lugar onde você ainda consegue vê-los com clareza.

SintomaCausaCorreção
O modelo aparece totalmente preto ou invisível na cenaNormais de vértices invertidas ou ausentes, às vezes introduzidas na exportaçãoRecalcule para fora antes de exportar; exporte de novo sem compressão para isolar a causa
O objeto está grande demais ou pequeno demais no nívelIncompatibilidade de unidades — criado em centímetros, esperado em metros, ou escala nunca aplicadaMeça a caixa delimitadora, aplique a escala, defina a unidade da cena em metros antes de exportar
A textura é nítida no torso e borrada nas botasDensidade de texel irregular entre as ilhas UVReempacote pela densidade em espaço de mundo e deixe as ilhas dentro de 20% umas das outras
O GLB tem dezenas de megabytes e a aba travaGeometria sem compressão mais texturas PNG de 4096 pxReduza para 1024/2048, aplique Draco ou Meshopt, remova materiais não usados e faces ocultas
A malha rasga no cotovelo quando animadaRetopologia feita depois do rig, ou vértices não soldados ao longo de uma costuraFaça a retopologia antes do rig; mescle por distância e verifique novamente os pesos de skin
Linhas claras ou brilho ao longo das costuras UVSem padding nas bordas das ilhas, então os mipmaps amostram a ilha vizinhaAdicione margem de 4–8 px em 1024, asse com margem, mantenha as ilhas dentro de 0–1

Entre no mundo ao qual ele pertence

Um sprite é um personagem sem lugar para ficar. O último passo é o que ninguém mais oferece: pegue a folha que você acabou de construir e coloque-a em um mundo pelo qual alguém possa caminhar — uma pequena ilha, um planeta, uma esquina chuvosa. Todo mundo neste site foi feito a partir de uma descrição escrita e publicado como uma página que você pode jogar.

FAQ

O que é um pipeline de assets 3D? +

O conjunto ordenado de etapas que transforma uma descrição em um arquivo carregável: descrever, gerar a malha, fazer a retopologia, desdobrar e texturizar, inspecionar, exportar um GLB comprimido. A ordem é fixada pelas dependências — a retopologia destrói as UVs, as texturas dependem das UVs, e a compressão esconde defeitos introduzidos antes.

Por que GLB em vez de FBX ou OBJ? +

O GLB é um único contêiner binário definido pela especificação glTF: geometria, materiais, texturas e skin em um arquivo que o Three.js e a maioria das engines leem sem conversor. O OBJ não carrega dados de material nem de animação, e o FBX precisa de um SDK proprietário. Para uma build de navegador, o GLB é o único formato que não exige uma segunda ferramenta na cadeia.

Preciso de retopologia? +

Só quando a superfície precisa funcionar depois da exportação: deformação, subdivisão ou bake de detalhe de alta densidade em um normal map. Um prop estático cuja silhueta está correta pode ser entregue decimado. Faça a retopologia antes do desdobramento e antes do rig, nunca depois.

Quantos triângulos são demais? +

Defina o orçamento pela cobertura na tela e pelo número de instâncias, não por um número único. Cerca de 500–3.000 triângulos serve para um prop, 5.000–15.000 para um objeto hero, e menos de 500 para cenografia de fundo. Um objeto que ocupa uma pequena parte da tela e aparece cinquenta vezes deve ser orçado em pixels, não em triângulos.

Posso pular o desdobramento UV? +

Só se o objeto usar cores chapadas ou um shader procedural que não precise de UVs — e esse shader não sobreviverá à exportação, porque o glTF carrega texturas PBR assadas, não grafos de nós. Qualquer coisa com albedo pintado ou assado precisa de um layout UV real, então desdobre antes de texturizar.

Onde devo testar um GLB? +

No loader com o qual você realmente vai publicar. Importe-o no construtor de jogos 3D, ou abra-o em um visualizador glTF autônomo, e verifique quatro coisas: a escala contra uma referência conhecida, as normais sob uma única luz, se o material e o modo alfa sobreviveram, e o tamanho do arquivo pela rede com o cache desativado.

Voltar ao construtor de jogos 3D

Todos os 31 mundos 3D, jogos e cenas finalizados estão em uma única página — todos jogáveis.

Plataforma: Neta StudioPágina: Pipeline de assets 3D: do prompt de texto ao GLB pronto para o jogo (passo a passo)Leia a seguir: /explore/guide/blender-uv-unwrap · /explore/tool/3d-model-generator · /explore/tool/glb-viewer
×