O Substance Painter acaba de liberar uma nova Ribbon Tool, recurso que “mapeia” materiais diretamente em um caminho (path) desenhado no modelo — com ajuste de largura, edição de pontos e overlap automático quando o traço cruza a si mesmo, gerando uma sobreposição convincente. O pacote já chega com assets prontos como tiras de couro, fitas, solda, zíperes e outros, e o vídeo oficial detalha como criar seus próprios ribbons no Substance Designer para alimentar essa ferramenta.

Como o Ribbon Path funciona no Painter
O Ribbon fica disponível no Paint mode. O fluxo é direto: crie uma paint layer, abra o menu de Paths, selecione Ribbon Path e desenhe o traçado. Por padrão, aparece uma faixa branca; a partir daí, dá para aplicar qualquer asset da lista — ou até mesmo materiais e imagens — e o conteúdo “segue” o path quando você redimensiona ou move os pontos.
O detalhe mais chamativo é a sobreposição: ao cruzar o próprio caminho, o Painter calcula um overlap visual sem você precisar dividir meshes, criar decal separado ou simular manualmente a ordem das camadas. Na prática, isso acelera a criação de costuras, fitas, tiras, zíperes e elementos longos que antes exigiam mais gambiarras de UV ou geometria.
Pipeline: criando o ribbon no Designer e testando ao vivo no Painter
Para produzir um ribbon customizado, o vídeo usa o Substance Designer com o template padrão Metallic Roughness (sem setup especial). O ponto-chave do workflow é publicar o material como .sbsar e montar um “live link” de iteração: sempre que você recompila, o Painter atualiza o recurso e reaplica no ribbon sem retrabalho.
Do lado do Painter, a recomendação é ativar o Auto-update no painel de Assets e marcar “resources used in project”, com refresh rate em 0 (atualiza assim que você volta para a janela). Assim, basta republish no Designer (atalho citado: Ctrl+Shift+B) para ver mudanças em tempo real no viewport.

Altura x Normal: por que o shading “explode” e como corrigir
No exemplo, o autor bloqueia uma tira de couro definindo largura e espessura com Horizontal Gradient + Histogram Scan, conectando em Normal e Height. Mas surge um problema típico: no Painter, Height e Normal são combinados, o que pode deixar o normal exagerado (o vídeo mostra a diferença alternando a visualização de canais com a tecla C).
A orientação prática é simples: se Height e Normal não carregam informações diferentes, vale desativar um deles. E há um truque para automatizar isso no Designer: no output que você quer desligado por padrão, use o campo user data com disable=true. Resultado: o canal já chega desmarcado no Painter, evitando correção manual a cada import.
O conceito central dos ribbons: máscara correta (channels_alpha)
O segundo problema é crítico: a cor e os mapas “vazam” até a borda da faixa, porque o ribbon é uma banda contínua. Para o material ficar recortado no formato real (ex.: uma tira de couro com bordas), é preciso enviar uma máscara junto.
O vídeo explica o padrão que o Painter reconhece: crie um output dedicado para a máscara e defina o identifier como channels_alpha. Isso sinaliza ao Painter para usar essa saída como recorte de todos os canais do material. Se você nomear de outro jeito, o Painter não trata como máscara automaticamente e você precisa mapear manualmente em channels mapping.

Quando uma máscara só não basta
Para casos como costura com “puckering” (pregas/ondulações no couro ao redor do ponto), o vídeo mostra a alternativa: em vez de um único output de máscara, você pode embutir alpha por mapa. Em termos simples: cada saída (Base Color, Roughness, Height) carrega seu próprio canal alpha, permitindo que o Height afete uma área maior do que a cor, por exemplo.
Para cor, a sugestão é Alpha Merge. Para mapas em grayscale, dá para usar RGBA Merge (alpha no último slot) ou Channel Shuffle para puxar a máscara e gerar alpha. Assim, o material continua coeso, mas com controle fino de onde cada mapa “vive” ao longo do ribbon.
Menos repetição: ajuste de proporção não-quadrada no graph
Outro ponto que pega em produção é o tiling excessivo. Como o Designer trabalha em 1:1 por padrão (quadrado), um material aplicado em um path longo tende a repetir muitas vezes. O vídeo recomenda mudar a proporção do graph para retangular — mas sem “fixar” resolução na barra superior, porque o render do .sbsar é sobrescrito pelo contexto (por exemplo, um texture set 2K x 2K no Painter).
A solução é ajustar o ratio nos parâmetros base do graph (duplo clique no vazio do graph) usando o slider de altura para dividir a resolução em um eixo. Exemplo citado: “minus two” divide por quatro. A correção visual do estiramento pode ser feita via escala de UV nas propriedades do material. O ganho é direto: menos repetição no path e mais espaço para variação dentro de uma única “patch” do ribbon.
Ribbons dinâmicos: variação automática em início, meio e fim do traço
O vídeo também mostra como transformar o ribbon em um “pincel” inteligente, variando o material conforme a posição no stroke: começo, meio e fim. A montagem usa um MultiSwitch com 3 entradas e expõe o seletor com um identifier específico: stampStrokePosition, em formato de dropdown com entradas 0, 1, 2.
Há uma pegadinha: o Painter trata o meio como padrão, então o índice 0 corresponde ao middle; depois vem begin e end. E para alinhar contagens (Painter começa em 0; Designer conta inputs a partir de 1), o autor ajusta a função do parâmetro no function graph somando +1 (addition + integer 1) e definindo a adição como output.

Por que isso importa para games e 3D
Na prática, o Ribbon Tool reduz o atrito para criar detalhes longos e recorrentes em assets de jogo — tiras, fitas, zíperes, solda, costura e remendos — mantendo o material preso a um path editável. E, com máscaras bem configuradas e variação por posição de stroke, dá para construir peças mais “fabricadas” (início e acabamento diferentes) sem trocar de brush ou duplicar layers.
Para ver o passo a passo completo — incluindo a iteração ao vivo com .sbsar, os nomes exatos de identifiers e os nós usados — vale assistir ao vídeo oficial.
Fonte: Adobe Substance 3D
