Texturas PBR

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Renderização Baseada em Física (RBP (Renderização baseada em física)) texturas permitem que você represente sombreamento e iluminação realistas usando vários tipos de imagens de textura ou mapas em um único Objeto.Combinar vários mapas de textura pode simular com mais precisão a cor, rugosidade e refletância em qualquer ambiente de iluminação e pode melhorar os elementos visuais de seus recursos e ambiente.

A humanoid avatar with dreadlocks, a glossy jacket, jeans with decals, and boots.
A humanoid avatar with a short haircut, leather jacket, capri pants, and orange shoes.

Várias aplicações e fluxos de trabalho estão disponíveis para criar texturas PBR.Você pode usá-los durante as fases de modelagem e texturação da criaçõesde objetos 3D personalizados, desde que o Roblox Studio suporte os mapas de textura específicos que você está usando.

Este guia fornece instruções sobre configurar seus objetos de malha para usar mapas de textura PBR e descreve casos de uso comuns e melhores práticas para mapas de textura PBR suportados pelo Roblox .Ao criar suas próprias superfícies, veja referências de materiais para valores comuns de materiais, comparações de imagens e exemplos de roupas.

Ativar aparência da superfície

Você pode adicionar texturas PBR a qualquer MeshPart adicionando um objeto SurfaceAppearance que substitui a textura original atribuída.Em geral, você não pode modificar SurfaceAppearance propriedades por scripts durante uma experiência porque o motor requer algum pré-processamento para exibir esses gráficos.Semelhante a adicionar uma textura básica, cada mapa de imagem de textura deve apontar para o ID de recurso de imagem carregada apropriado.

Para habilitar a aparência da superfície para um MeshPart :

  1. Na janela Explorer, passe o mouse sobre o MeshPart e clique no botão ⊕.

  2. Insira um SurfaceAppearance a partir do menu contextual.

    A SurfaceAppearance object parented within a MeshPart in Studio's Explorer window.

    Quando você estiver pronto para adicionar mapas de textura ao ObjetoSurfaceAppearance, você pode clicar em cada propriedade de mapa na janela Propriedades e inserir um ID de recurso.

Mapas de textura

O Studio atualmente suporta 4 tipos de mapas de textura PBR: cor, normal, rugosidade e metalidade.Cada um desses mapas corresponde a um aspecto importante da aparência da superfície do Objeto.Os mapas de textura só mudam a aparência visual e não afetam a geometria do ObjetoMeshPart.

Veja os seguintes exemplos para uma visão geral dos mapas de textura suportados pelo Roblox e recursos adicionais:

A propriedade ColorMap define os dados de cor da superfície, incluindo qualquer transparência presente no mapa.Veja cor (albedo) para mais informações.

A completely filled image, mostly red with various black splotches and white scratches.
Mapa de exemplo
A blank white sphere with a dark background.
Modelo de exemplo
A red sphere with black splotches and white scratches with a dark background.
Modelo e textura

Cor (albedo)

A cor ou albedo , ou mapa determina a cor da sua textura e consiste em grande parte de informações de cores com pouca ou nenhuma informação de iluminação ou textural.Para personalização adicional, você também pode adicionar transparência na sua textura de albedo adicionando opacidade ao seu mapa de imagem.

Modos alfa

Para objetos que requerem seções parciais ou completas de transparência, como grama, folhas, renda ou decalques como sujeira ou grunge, você pode usar vários modos alfa para aplicar transparência ao seu mapa de cores.Se o formato de imagem do mapa de cores suportar canais alfa, você pode aplicar um mapa alfa em tons de cinza onde 0.0 é transparente e 1.0 é opaco.Da mesma forma, ao usar um formato de imagem, como um .png, qualquer opacidade no mapa de cores se aplica como transparência no ativo.

Você pode aplicar transparência em dois comportamentos diferentes definindo os seguintes valores AlphaMode :

  • Sobreposição — Sobrepõe o ColorMap sobre a malha subjacente MeshPart.Color .Mapas de cores usando Sobreposição revelam a cor base da malha em qualquer transparência onde a sobreposição está presente.Esta é a configuração padrão.
  • Transparência — Remove a malha visível com base na transparência no ColorMap.Isso rendiza o mesh transparente e não revela a cor do mesh original sempre que a transparência estiver presente.
  • Máscara de Tint — Mistura o tingido ColorMap sobre o não tingido ColorMap .
Sobreposição

Você pode usar Sobreposição para revelar seções da cor original da malha.Como as áreas transparentes do mapa de cores exibem a cor subjacente, você pode projetar um mapa de textura único que revela parcial ou totalmente a propriedade do mesh Color para tons de pele personalizados ou outras situações com cores únicas.

O seguinte exemplo mostra como o modo Sobreposição funciona usando uma referência de esfera branca:

A completely filled image of a semi-repeating pattern with 8 by 8 small light blue squares. The background is checkered to indicate transparency.
Mapa de cores/albedo de exemplo com transparência
A blank white sphere over a dark background.
Exemplo de objeto de malha (branco)
A white sphere with small blue squares scattered over the surface.
AlphaMode definido para Superposição usando mapa de referência e material

O seguinte exemplo usa o modo Sobreposição para personagens personalizados, revelando o tom de pele original do personagem:

A completely filled image of a texture map for a 3D humanoid model. Various parts of the image is checkered or partially checkered to indicate varying levels of transparency.
Mapa de cores que contém transparência em seções para expor a cor original da malha
Four of the same humanoid models with different skin tones: light brown, black, white, dark green.

Várias variações de personagens com um único mapa de cores usando o modo Sobreposição

Veja tom de pele personalizado para detalhes adicionais sobre a otimização de um sobreposição para pele e aplicações semelhantes.

Transparência

Você pode usar o modo Transparência para criar objetos complexos ou extremamente finos, como renda ou malha, removendo as partes visíveis da malha como alternativa para esculpir a geometria da malha.Como isso não afeta a geometria do Objetode malha, isso pode permitir que você crie objetos detalhados sem o impacto de desempenho de um modelo de malha intrincado.

O seguinte exemplo mostra como uma transparência parcial e total neste modo remove visualmente seções da malha:

A sphere with a basket-like surface.
Sem transparência
A sphere with regular triangular patterns on its surface partially invisible.
Meia transparência em seções
A sphere with regular triangular patterns on its surface completely invisible.
Total transparência em seções

Há dois resultados do modo Transparency de MeshPart.Transparency , dependendo se o 0 for definido como **** ou 0.02 , embora a precisão numérica possa resultar em valores pequenos, como 0.01 ativando a transparência opaca.

  • Quando o alfa é usado para cortar a forma de objetos principalmente opacos com bordas duras, como folhagem, tecido de renda e malha, defina o MeshPart.Transparency para 0.Quando partes da superfície estão totalmente opacas, o motor do Roblox pode renderizá-las com correta occlusão baseada em profundidadeSuperfícies opacas também funcionam geralmente melhor com efeitos baseados em profundidade como DepthOfFieldEffect , refração de vidro e água e reflexão de água.
  • Quando o alfa é usado para adicionar detalhes a objetos semi-transparentes ou objetos com gradientes suaves de transparência, defina o para pelo menos .Isso melhora a qualidade da mistura para objetos como janelas sujas e penas com borda macia, mas não funcionará com todos os efeitos.
Máscara de Tint

Você pode usar o modo Enum.AlphaMode.TintMask para aplicar SurfaceAppearance.Color tintura a áreas selecionadas de uma superfície.A tintagem é mais forte onde o canal alfa é totalmente visível e não é aplicado onde o canal alfa é transparente.

A warm, light colored brick texture with darker grey textured grout between the bricks.
texturade tijolo de exemplo, mostrando o detalhe da cor nas faces de tijolos, bem como na argamassa entre os tijolos.

Tintura de cores

Você pode aplicar uma tint ao seu mapa de cores modificando a propriedade SurfaceAppearance.Color.Tintar não afeta o desempenho e você pode economizar memória ao reutilizar um único mapa de cores com diferentes tons.Use tintura de cores para criar uma variação adicional de baixo custo entre suas texturas MeshPart ou para modificar programaticamente as cores da superfície PBR em tempo real.

A statue with a default yellow tint and reflective jade-like properties.
Modelo de estátua a partir de O Mistério da Avenida Duvall sem tintura.
A statue with a red tint and continues to have a shiny reflective properties from its other texture maps.
Modelo de estátua com Color definido para vermelho.
A statue with a green tint and continues to have a shiny reflective properties from its other texture maps.
Modelo de estátua com Color definido para verde.

SurfaceAppearance.Color tinting aplica como multiplicador, então a aparência final é uma função de Color3 (cor do texel) vezes SurfaceAppearance.Color .Isso significa que a autoria do seu original SurfaceAppearance.ColorMap em cores de escala cinza quase branca cria o efeito de tintagem mais forte quando essa propriedade é aplicada.

Tinting só se aplica ao SurfaceAppearance.ColorMap e não ao MeshPart.Color. Você pode continuar a usar canais alfa ao aplicar transparência.

Quando é definido para e um canal alfa está presente, o subjacente é revelado e a tintura só se aplica ao mapa de cores visível .

Quando é definido para e um canal alfa está presente, o canal alfa controla a quantidade de tintura.A tintagem é mais forte onde o canal alfa é totalmente visível e não é aplicado onde o canal alfa é transparente.

A floating square plane with a cyan slate texture, that gradually changes from fully transparent on the left to fully opaque on the right. A thin horizontal bar below the floating plane has a gradient with black on the left and white on the right.
AlphaMode definido para Transparency.A barra de gradiente de cinza na parte inferior indica o valor alfa.MeshPart.Color é definido para vermelho e SurfaceAppearance.Color é definido para ciano.

Normal

O normal ou superfície , mapa adiciona profundidade de textura à sua superfície e se comporta de forma semelhante a um mapa de altura .Como resultado, o efeito pode desaparecer ou intensificar dependendo do ângulo de visão e do ambiente de iluminação.Quando um mapa normal não está presente, o valor é definido como 0.0 .

Na figura a seguir, você pode alternar entre a referência de malha e a referência de mapa para comparações de valores de mapa normais:

A clay colored smooth sphere.
0.0
A clay colored sphere with a moderately rocky surface.
0.5
A clay colored sphere with an extremely rocky surface
1.0

Os canais R , G e B da imagem correspondem respectivamente aos componentes X , Y e Z do vetor de superfície local.Uma imagem uniforme de cor [127, 127, 255] traduz para um mapa normal completamente plano.O Roblox só suporta formato OpenGL - Espaço Tangente mapas normais.

Mapas normais afetam predominantemente a superfície visual de uma malha e podem acentuar costuras desajeitadas em sua textura.Sempre que possível, mantenha suas costuras de textura ocultas para evitar problemas visuais com sua malha.

Rugosidade

Rugosidade ou microsuperfície , os mapas determinam como a luz é espalhada pela superfície do modelo.Quando a rugosidade está em 0.0, a superfície não espalha luz em todas / todos, resultando em um reflexo e brilho muito mais afiados e brilhantes em seu material.Em 1.0 , a luz e as reflexões se espalham uniformemente sobre o modelo, resultando em uma superfície menos reflexiva semelhante a uma fosca.

A rugosidade pode impactar o quão reflexivo um objeto é em diferentes ângulos, referido como o efeito Fresnel .Veja fresnel para mais detalhes e melhores práticas para manter um comportamento reflexivo consistente.

A seguinte figura mostra comparações de vários valores de mapa de rugosidade:

A blue glossy sphere with a legend indicating the roughness map is completely black.
0.0
A blue semi-glossy sphere with a legend indicating the roughness map is exactly grey.
0.5
A blue matte sphere with a legend indicating the roughness map is completely white.
1.0

Fresnel

Fresnel refere-se à quantidade de reflexão de uma superfície em relação ao ângulo de visão atual.O objetivo do processamento Fresnel do Studio é a precisão física do mundo real, embora você possa obter contribuição espelar inesperada em determinados ângulos, mesmo com superfícies ásperas.Em alguns casos, você pode compensar fazendo seu mapa de rugosidade ao redor de 0.1 mais áspero para alcançar uma resposta de iluminação consistente com seus materiais.

Embora o Roblox renderize esse efeito de iluminação com precisão, o brilho e a refletância de uma superfície pode não responder de forma consistente entre o software que cria conteúdo de textura, como o Pintor de Substâncias, e o Studio.Veja exemplos de roupas para diferenças no rendimento entre aplicações.

Metalidade

Metalidade determina a refletividade de uma superfície.Os valores de metalidade variam entre 0.0 e 1.0.O Roblox define o valor padrão para 0.0 se um mapa de metalidade não estiver presente.

Veja a seguinte figura para comparações de vários valores de mapa de metalidade:

A brown sphere with light splotches. A legend indicates the metalness map is completely black.
0.0
A brown sphere with light splotches and some reflectiveness. A legend indicates the metalness map is exactly grey.
0.5
A brown sphere with moderate splotches and lots of reflectiveness. A legend indicates the metalness map is completely white.
1.0

Renderizadores PBR diferentes usam vários fluxos de trabalho para processar a refletância.O Studio usa apenas o fluxo de trabalho de metalização que determina se um material é um não-metálico ou um metálico , às vezes referido como um isolante ou condutor .

Na maioria dos casos, você deve definir esse valor para 0.0 (não metálico) ou 1.0 (metálico).Você pode usar valores de metalidade parcial ao criar superfícies mais incomuns com propriedades refletivas moderadas, como seda ou seda.Essa prática pode falsificar sutilmente as reflexões no material para destacar a cor do mapa cor/albedo sobre as cores refletidas no ambiente.