Todos os artigos
Tutoriais · 7 min read

Vertex painting para blending de materiais: transições de terreno e mesh sem costuras

Como o vertex painting mistura materiais para matar costuras visíveis, com o truque do height-blend que supera o alpha linear, pintar lama na grama e musgo na rocha, considerações de performance, e onde ele se encaixa junto a decals e texturas em tiling.

Aerial view of a forested river valley crossed by a steel bridge and a road

Em resumo: costuras duras onde um material encontra outro (grama batendo em rocha, lama encontrando pedra) são um dos maiores denunciadores de um ambiente amador. O vertex painting mistura materiais diretamente num mesh para apagar essas costuras, e um "height blend" faz a transição parecer natural em vez de um fade. Este artigo explica como o vertex blending funciona, o truque do height-blend que separa boas transições das lamacentas, onde pintá-lo, o que custa em runtime, e como ele se encaixa com decals e texturas em tiling.

Um delta de rio onde água, silte e vegetação se fundem uns nos outros A natureza não tem bordas duras. Onde a água encontra o silte encontra a grama, a transição é irregular e entrelaçada: exatamente o que o vertex blending recria para que seus materiais parem de se encontrar em linhas retas e óbvias.

O problema: costuras traem tudo

Superfícies reais transicionam irregularmente: a grama se infiltra no cascalho, a lama se junta nos pontos baixos, o musgo sobe o lado sombreado da rocha. Uma linha reta dura entre dois materiais lê-se como falsa no instante, por melhor que seja cada textura.

Você pode ter duas texturas fotorreais e ainda obter um ambiente que parece errado, porque a transição entre elas é onde a credibilidade vive. No mundo real, os materiais se interpenetram: a terra escorre nas rachaduras, a grama afina rumo a uma trilha, a neve se junta nas saliências. Uma superfície de jogo que muda de grama para rocha ao longo de uma aresta de polígono nítida grita "feita de ladrilhos". O vertex painting é a ferramenta primária para dissolver essas arestas, deixando os materiais sangrarem um no outro do jeito que fazem ao ar livre.

Como o vertex blending funciona

Cada vértice armazena dados de cor/alpha; um material de blend os lê para misturar duas ou mais texturas por pixel ao longo da superfície. Pinte os dados de vértice in-engine e os materiais transicionam onde quer que você pintou, sem UVs ou geometria extra.

Cada vértice de um mesh pode carregar um pouco de dados extra: cores de vértice, geralmente quatro canais. Um material de blend interpreta esses dados como uma máscara: onde um canal é forte, mostre o material A; onde é fraco, mostre o material B; e interpole entre. Como você pinta os dados de vértice diretamente no modelo no editor, você controla a transição à mão, exatamente onde quer: lama ao longo da base de uma parede, desgaste nos cantos de um piso, musgo por um lado de um matacão. Não custa sets de UV extra nem geometria adicional (além de ter vértices suficientes para pintar detalhe), por isso é a técnica de blending cavalo de batalha para terreno e meshes grandes.

O truque do height-blend

Não blende linearmente no alpha: blende usando um height map para que o material superior preencha primeiro rachaduras e pontos baixos. O blending linear dá um fade suave e lamacento; o height blending dá uma transição nítida, natural, entrelaçada.

Este é o upgrade individual mais importante do seu material de blend, e é o que separa uma transição profissional de uma borrada. Um blend ingênuo funde linearmente entre duas texturas ao longo da máscara, produzindo uma sobreposição suave e fantasmagórica que parece um gradiente do Photoshop. Um height blend em vez disso usa a informação de altura/deslocamento dos materiais para decidir a transição: o material que entra se assenta primeiro nas áreas baixas (as linhas de argamassa, as rachaduras, as amassaduras) antes de cobrir os pontos altos, exatamente como terra, areia ou neve real se acumulando. O resultado é um limite nítido, irregular, crível em vez de um fade embaçado. Se seus blends parecem lamacentos, adicionar uma transição baseada em altura é quase sempre a correção.

A borda de uma floresta encontrando terreno aberto, a vegetação afinando A borda de uma floresta é um blend em liberdade: a linha de árvores não para numa linha, ela se espalha e afina. O vertex blending baseado em altura recria essa transição esfarrapada e entrelaçada em vez de uma borda limpa.

Onde pintá-lo

Pinte transições onde as superfícies interagem naturalmente: a base das paredes (terra/umidade), os cantos e bordas dos pisos (desgaste), os lados sombreados da rocha (musgo), os pontos baixos (lama/poças), e onde quer que duas camadas de terreno se encontrem.

O vertex blending compensa mais nos lugares onde o olho verifica realismo: pontos de contato e zonas de desgaste. Alguns lugares de alto valor a sempre considerar: terra e umidade subindo a base das paredes; arranhões e material exposto nos cantos de pisos e degraus onde os pés pousam; musgo e líquen nas faces norte/sombreadas das rochas; lama e água parada nos pontos mais baixos; e as costuras entre camadas de terreno numa paisagem. Estes são os mesmos lugares que um contador de histórias adorna, porque são onde um lugar mostra sua história. Pinte-os e um kit limpo, de aparência nova, lê-se de repente como desgastado e real.

Performance e limites

Materiais de blend custam mais por pixel (amostram vários sets de textura), então use-os onde as transições importam, não em todo lugar. O detalhe de vértice é limitado pela densidade do mesh: você só pode pintar tão fino quanto seus vértices permitem.

O blending não é grátis: um material de blend de duas ou três camadas amostra várias texturas por pixel, então é mais caro que um material único. Isso é ótimo no terreno herói e nas superfícies que a câmera estuda, mas aplicar em massa um blend de quatro camadas a cada mesh desperdiça GPU. O outro limite é a resolução: o vertex painting só pode ser tão detalhado quanto o mesh é denso, então uma parede low-poly não pode carregar uma fina transição pintada; é onde os decals entram para adicionar detalhe de menor escala por cima. Use a ferramenta certa em cada escala: vertex blend para a transição ampla, decals para o detalhe local nítido.

Onde ele se encaixa com outras ferramentas

O vertex blend cuida da transição de material em escala média; texturas em tiling proveem o detalhe base barato; decals adicionam features locais nítidas (rachaduras, manchas, vazamentos) finas demais para pintar por vértice. Eles empilham.

Nenhuma dessas ferramentas compete: elas se estratificam. Texturas em tiling te dão detalhe de alta frequência acessível ao longo de grandes superfícies. O vertex blending mistura esses materiais em tiling para que não se encontrem em linhas duras. Os decals então se assentam por cima para os detalhes específicos e agudos que a resolução de vértice não alcança: uma rachadura, uma queimadura, uma mancha de água sobre uma costura. Uma superfície de ambiente madura geralmente é os três de uma vez. Colocar um blending de materiais crível num jogo, e tê-lo assado para materiais de engine padrão para que não custe nada inesperado em runtime: é exatamente o tipo de trabalho de superfície que o Numivo foi construído para tornar rotineiro, para que as costuras desapareçam sem um shader sob medida para cada encontro de dois materiais.

Números de campo que vale a pena roubar

  • O upgrade que conserta blends lamacentos: height blend, não alpha linear
  • Teto de detalhe do vertex-paint = densidade de vértices do mesh: mesh mais denso, pintura mais fina
  • Zonas de pintura de maior valor: bases de paredes, bordas de pisos, rocha sombreada, pontos baixos
  • O custo do material de blend escala com camadas amostradas: reserve blends de muitas camadas para superfícies herói
  • O stack completo: base em tiling → vertex blend → decals para o detalhe local

Mini-FAQ

Vertex painting vs um splat/weight map para terreno? Mesma ideia, armazenamento diferente: terreno usa frequentemente layer weight maps (uma máscara de textura) em vez de cores de vértice, o que desacopla o detalhe da densidade do mesh. Meshes usam cores de vértice; terrenos grandes usam frequentemente layer maps. O princípio do height-blend aplica-se a ambos.

Por que meu blend parece suave e lamacento? Você quase certamente está blendando linearmente no alpha. Mude para um blend guiado por altura/deslocamento para que a transição se assente primeiro em áreas baixas, e a suavidade vira uma borda nítida e natural.

Quantas camadas de blend são demais? Duas são baratas e cobrem a maioria das transições; três são comuns para terreno; quatro ou mais ficam caras e difíceis de criar. Se você precisa de mais, questione se decals ou um segundo material serviriam melhor.

Preciso de um shader customizado para isso? A lógica de blend é padrão o bastante para que a maioria dos engines e toolsets a provenha, e assar para materiais de engine simples mantém o custo de runtime previsível. Você raramente precisa de código de shader sob medida: você precisa do setup de height-blend e de algum lugar sensato onde pintar.

Costuras são onde ambientes críveis são ganhos ou perdidos. Pinte suas transições onde as superfícies realmente interagem, blende por altura em vez de um fade plano, e empilhe tiling e decals ao redor, e seus materiais se encontrarão do jeito que fazem no mundo: irregularmente, entrelaçadamente, e sem uma única linha reta denunciadora.