Este documento foi criado para fornecer diretrizes e práticas recomendadas para trabalhar no sistema de Materiais de base física do Unreal Engine. Ele pressupõe que você tenha uma certa familiaridade com o processo de criação de materiais no Unreal. Se você é completamente novo com materiais no Unreal, talvez seja melhor começar com a página Conceitos essenciais sobre materiais.
Esta página se concentra apenas nos atributos de material que estão diretamente relacionados ao fluxo de trabalho de sombreamento de base física. Para obter uma análise completa de todas as entradas no nó de Material principal, consulte a página Entradas de materiais.
O que significa "de base física"?
A Renderização de base física (PBR) significa que as superfícies se aproximam da maneira como a luz se comporta no mundo real, em oposição à maneira como pensamos intuitivamente que ela deveria se comportar. Os materiais que aderem aos princípios da PBR são mais precisos e normalmente têm aparência mais natural do que um fluxo de trabalho de sombreamento que depende totalmente da intuição do artista para definir parâmetros.
Materiais de base física funcionam igualmente bem em todos os ambientes de iluminação. Além disso, os valores de materiais podem ser menos complexos e interdependentes, resultando em um fluxo de trabalho de criação de material mais fácil de usar. Esses benefícios são aplicáveis até mesmo a renderizações não fotorrealistas, como é evidente nos filmes da Pixar [4] e da Disney [3].
Para uma visão técnica aprofundada de modelos de sombreamento e materiais de base física do Unreal Engine, consulte esta apresentação da SIGGRAPH 2.
Atributos de material PBR
Estes são os atributos materiais diretamente relacionados ao aspecto de base física dos materiais do Unreal.
Todas essas entradas foram projetadas para aceitar valores entre 0 e 1. No caso de Cor de Base, isso significa uma amostra de cor ou textura com valores RGB que ficam entre 0 e 1.
Valores com base física podem ser medidos a partir de materiais do mundo real. Alguns exemplos são dados a seguir.
Cor de base
A cor de base define a cor geral do material. A entrada Cor de base aceita um valor Vector3 (RGB) em que cada canal é automaticamente fixado entre 0 e 1.
Se tirada do mundo real, esta é a cor quando fotografada usando um filtro polarizador (a polarização remove o aspecto especular dos não metais quando alinhados).
Valores medidos de BaseColor para não metais (somente intensidade):
| Material | Intensidade de BaseColor |
|---|---|
| Carvão | 0,02 |
| Asfalto fresco | 0,02 |
| Asfalto desgastado | 0,08 |
| Solo descoberto | 0,13 |
| Grama verde | 0,21 |
| Areia do deserto | 0,36 |
| Concreto fresco | 0,51 |
| Gelo do oceano | 0,56 |
| Neve fresca | 0,81 |
BaseColors medidas para metais:
| Material | BaseColor (R, G, B) |
|---|---|
| Ferro | (0,560, 0,570, 0,580) |
| Prata | (0,972, 0,960, 0,915) |
| Alumínio | (0,913, 0,921, 0,925) |
| Ouro | (1,000, 0,766, 0,336) |
| Cobre | (0,955, 0,637, 0,538) |
| Cromo | (0,550, 0,556, 0,554) |
| Níquel | (0,660, 0,609, 0,526) |
| Titânio | (0,542, 0,497, 0,449) |
| Cobalto | (0,662, 0,655, 0,634) |
| Platina | (0,672, 0,637, 0,585) |
Rugosidade
A entrada Rugosidade controla quão áspera ou suave é a superfície de um material. No material, isso se manifesta como reflexos nítidos ou embaçados aparecem no Material.
Materiais ásperos dispersam a luz refletida em mais direções do que os materiais lisos, o que resulta em reflexos difusos, às vezes sutis. Superfícies lisas refletem a luz de maneira mais uniforme, resultando em reflexos nítidos e focados ou realces especulares.
- Uma Rugosidade de 0 (suave) resulta em um reflexo de espelho.
- Uma Rugosidade de 1 (áspero) resulta em uma superfície difusa ou fosca.

Valores de rugosidade de 0 a 1. Parte superior não metálica, fundo metálico.

Valores de Rugosidade de 0 a 1.
Rugosidade do mapeamento
A rugosidade é frequentemente mapeada em objetos usando uma textura em tons de cinza para adicionar variação física a uma superfície. As áreas escuras em um mapa de rugosidade aparecem espelhadas no material, enquanto as áreas claras são ásperas e parecem menos reflexivas.
O vídeo abaixo mostra o valor de Rugosidade aumentando de 0 para 1, com uma textura perlin controlando a distribuição dos valores claro (áspero) e escuro (suave). Em 0, a visualização do material é completamente espelhada. Em 1, o material é perfeitamente fosco. Os valores intermediários são mais interessantes, pois partes da superfície parecem lisas e outras ásperas.
Mapas de rugosidade são frequentemente usados para adicionar arranhões, manchas ou outras imperfeições a materiais como plástico e metal.
Rugosidade vs. Especular
A interação entre rugosidade e especular é um ponto importante a ser entendido, principalmente se você estava trabalhando no Unreal Engine antes da adoção do fluxo de trabalho PBR.
Especularidade refere-se à quantidade de luz especular refletida por uma superfície. Esse valor é inerente ao tipo de material e geralmente o valor padrão de 0,5 é preciso. A entrada Especular não é usada para mapas de reflexão/especularidade ou para adicionar variação de superfície. Estes devem ser tratados no mapa de Rugosidade.
Metálico
A entrada Metálico aceita um valor entre 0 e 1 e define se o seu material se comporta como um metal ou não metal.
Na maioria dos casos, você deve tratar Metálico como uma propriedade binária no Unreal Engine. Para superfícies puras, como metal puro, pedra pura, plástico puro e assim por diante, você deve definir Metálico como 0 ou 1, sem nenhum valor intermediário. Ao criar superfícies híbridas como metais corroídos, empoeirados ou enferrujados, você pode achar que precisa de algum valor entre 0 e 1.
- Não metais têm um valor metálico de 0. Este é o valor padrão.
- Metais têm um valor Metálico de 1.
Valores metálicos de 0 a 1.
A princípio, você pode ficar relutante em tornar qualquer material completamente metálico. Resista ao impulso de usar valores parciais, a menos que tenha um bom motivo para isso.
Este exemplo mostra como uma superfície muda quando Metálico aumenta de 0 para 1 em um material com rugosidade relativamente baixa.

Valores metálicos de 0 a 1.
Mapeamento metálico
Metais e não metais estão frequentemente presentes no mesmo material. Considere um painel de metal, com uma camada de tinta cobrindo parte ou todo o metal.
A tinta é um não metal, então o valor Metálico deve ser 0 em todas as regiões cobertas por tinta. Em qualquer lugar em que o painel de metal esteja visível, o valor Metálico deve ser 1.
Isso deve ser tratado com uma máscara preta e branca passada para a entrada Metálico. A tinta não se mistura com o metal, ela fica sobre ele. Seu mapa Metálico não deve conter valores intermediários de tons de cinza, apenas preto e branco. Você também pode usar camadas de material para obter resultados semelhantes.
Especular
A entrada Especular assume um valor entre 0 e 1 e controla quanta luz especular a superfície reflete.
- Um valor especular de 0 é totalmente não reflexivo.
- Um valor especular de 1 é totalmente reflexivo.
O Unreal Engine usa um Especular padrão de 0.5, que representa aproximadamente 4% de reflexão especular. Esse valor é preciso para a grande maioria dos materiais.
Para materiais muito difusos, você pode estar inclinado a definir isso como zero. Resista a isso! Todos os materiais têm aspectos especulares. Confira este post para ver exemplos [5].. A maneira correta de criar materiais muito difusos é usar um alto valor de Rugosidade.
Mapas de cavidades
Um motivo para modificar Especular é adicionar micro-oclusão ou sombreamento em pequena escala, por exemplo, de rachaduras representadas no mapa de normais. Estas são por vezes chamadas de cavidades. A geometria em pequena escala, especialmente os detalhes presentes apenas na polilinha alta e inseridos no mapa de normais, não serão captados pelas sombras em tempo real do renderizador.
Para capturar esse sombreamento, você pode gerar um mapa de cavidades, que normalmente é um mapa de AO com distância de traço muito curta. Isso é multiplicado pela BaseColor final antes da saída e multiplicado por 0,5 (padrão Especular) como a saída especular.
Para deixar claro, isso é BaseColor = CavidadeOldBaseColor, Especular = Cavidade0,5.
Para usos avançados, isso pode ser aplicado para controlar o índice de refração (IOR). Não achamos que isso seja necessário para 99% dos materiais. Abaixo estão os valores de Especular baseados no IOR medido.
Valores de Especular medidos:
| Material | Especular |
|---|---|
| Vidro | 0.5 |
| Plástico | 0.5 |
| Quartzo | 0.570 |
| Gelo | 0.224 |
| Água | 0.255 |
| Leite | 0.277 |
| Pele | 0.35 |

Valores de Especular de 0 a 1
Exemplos de materiais medidos. Parte superior: Carvão vegetal, concreto fresco, asfalto desgastado. Parte inferior: Cobre, ferro, ouro, alumínio, prata, níquel, titânio
Referências
1. Lagarde, Alimentando um modelo de sombreamento com base físical
2. Karis, Sombreamento real no Unreal Engine 4
3. Burley, Sombreamento de base física na Disney
4. Smits, Design de modelos de reflexão para o WALL-E e o Up
5. Hable, Tudo brilha