Sobre a PBR nos dedos


Neste texto, falarei um pouco sobre a PBR, um conceito de renderização baseado em princípios físicos. O PBR é usado em computação gráfica moderna, e falaremos sobre o que é e como é preparado, e quais são as coisas importantes que vale a pena saber para quem vai ou já está lidando com a preparação de materiais. A ênfase é voltada mais para jogos e mecanismos de jogos, onde esse conceito agora é amplamente utilizado.


Antes de passar a detalhes, algumas palavras para "cobrir a parte traseira".


Cada mecanismo e renderização tem seu próprio pipeline de desenvolvimento, que geralmente é único, como um floco de neve, e não se cruza completamente com os outros. Isso se deve, entre outras coisas, ao fato de a PBR ser uma metodologia relativamente jovem, e podemos dizer que estamos vendo a primeira geração de tais motores; os padrões estão apenas começando a surgir, portanto, há diferenças e nuances em diferentes implementações. E também porque o PBR não é um conjunto estrito de requisitos, mas uma direção geral de desenvolvimento.


Ao escrever este texto, contei com minha própria experiência, além da teoria relativa a vários pacotes: Unreal Engine 4, Marmoset Toolbag 3, Substance Painter. Portanto, algumas coisas em outros pacotes parecerão diferentes, mas, em geral, a teoria é universal.


Mais detalhadamente, descreverei as coisas mais importantes e, no final, pelo princípio residual, mencionarei que no PBR é usado, mas não tão importante ou astuto no dispositivo.


Uso intencionalmente os termos de uma forma não traduzida, porque as fontes de informações mais atuais e completas estão sempre em inglês e, se alguém senta e espera por uma tradução, ele automaticamente cai naqueles que estão atrasados ​​e dependentes dele. Na minha opinião, é correto lembrar imediatamente dos termos usados ​​no setor. E google, é claro.


O material foi preparado com a participação da comunidade do Maya3D Telegram.


Sobre o básico


Primeiro, vamos aprofundar um pouco a história. A experiência sugere que é melhor explicar imediatamente o significado dos termos e conceitos básicos, mas se você já os conhece, pode pular esta seção com segurança.


Além disso, você notará que a PBR empresta termos de qualquer lugar, alterando-os um pouco, e isso é bom.

PBR é uma abreviação de renderização com base física , que significa aproximadamente visualização fisicamente correta , e essas palavras falam por si. Às vezes, o termo PBS é usado (aqui a renderização é alterada para sombreador ), em alguns lugares há até PBT (e aqui a texturização aparece). No entanto, a diferença é mínima - é uma questão de tradição, e o termo PBR é tradicionalmente usado com mais frequência.


Os últimos anos têm sido o mainstream dos sistemas de renderização modernos, do tempo real e dos jogos às chamadas renderizações offline. O nome implica uma certa aderência às leis da física, às leis do mundo real, e esse esclarecimento, por assim dizer, nos diz: antes não era assim. Vamos descobrir como foi e como se tornou, e como tudo isso veio para nós.


Nos gráficos tridimensionais, desde o início de sua vida, foram implementadas várias abordagens para exibir na tela, até ficar claro que a reprodução dos mecanismos da realidade produz resultados mais realistas, por assim dizer.


Aproximadamente a mesma história aconteceu com a animação esquelética dos personagens, que "enterraram" o vértice.

Se modelarmos a realidade, vamos usar suas leis e arquitetura, automatizando constantes e transferindo parte do trabalho para o software. As renderizações estão se esforçando cada vez mais para trabalhar da maneira que nossa realidade funciona, com cada geração de ferro introduzindo novas abordagens que permitem abandonar falsificações.


Renderizações offline são renderizações que não funcionam em tempo real, por exemplo, Vray ou Arnold.

Por alguma razão, provavelmente, ele restringe o vôo da fantasia e interrompe as filmagens da estilização, mas provavelmente é isso.


Por outro lado, truques e falsificações estão se movendo para um novo nível, que também é progresso.


No mundo real que nos rodeia, o campo eletromagnético é a base para a interação em uma escala maior que a atômica e menor que a planetária. Tudo o que vemos e podemos tocar é acessível a nós, graças a ele. O homem é um ser imperfeito, não podemos ver a maior parte do espectro eletromagnético, mas com ele existem muitas sutilezas que usamos em virtude da compreensão. Tudo o que vemos ao nosso redor é luz e seus caprichos. Entrada agradável, e mais importante, óbvio, certo?


A grande maioria das pessoas é tricromata, mas há uma pequena porcentagem de mutantes de tetracromat que distinguem mais tons e vêem o mundo mais diverso. E mais frequentemente são mulheres.

Na PBR, a luz se tornou menos convencional do que antes. O BxDF descreve não apenas como atinge a superfície, mas também como é refletido a partir dela, dadas as características dos materiais. Isso permite que você descreva com mais precisão a cena e transmita o resultado, o mais próximo possível da realidade.
Uma das principais mudanças que a PBR trouxe é a versatilidade dos materiais em qualquer iluminação. Os materiais configurados corretamente sempre parecerão corretos em qualquer cena.


Na geração anterior de renderizações, a micro-superfície e a natureza do alargamento, os tipos de materiais condutor / isolador não foram levados em consideração; a reflexão difusa carregava sombra parcial e até brilho ofuscado; não havia valores de reflexão do mundo real; Os materiais não eram universais para nenhuma cena e iluminação.


Sobre a substância


Existem dois tipos:


  • condutores ou metais - condutores ;
  • isoladores ou dielétricos, isto é, não metais - isoladores .

A classificação é tirada do mundo real (com simplificações) e tenta seguir o nome.
Os condutores conduzem corrente elétrica, possuem uma treliça de cristal e outras "alegrias" do curso escolar de física. Eles não têm reflexão difusa e dispersão de subsuperfície, sua superfície não dispersa a luz, é impermeável a ela, mas absorve uma parte dela, refletindo ondas de comprimentos específicos - um brilho de cor.


No entanto, a corrente não é importante para a PBR. A pele também conduz corrente, mas na PBR não é metal, o que significa que não é um condutor.

Os isoladores dispersam a luz, que penetra na superfície; eles têm reflexão difusa e dispersão na superfície, brilham com luz branca.
Ambos os tipos de materiais têm um efeito Fresnel.


Sobre os gasodutos


Tradicionalmente, temos dois oleodutos para materiais e sua preparação: especular e metalicidade . Geralmente, entende-se que no especular existe um mapa de imagem espelhada correspondente, enquanto no metal não existe, mas existe uma máscara de metalicidade, e isso pode ser feito.


Claro, nem tudo é tão simples aqui.


O pipeline especular realmente tem um mapa especular , que controla a intensidade e a cor do brilho em F0 , cujos valores estão completamente nas mãos do artista e não possui constantes internas no shader. Às vezes, Fresnel é controlado separadamente, albedo controla apenas cores, brilho / rugosidade controla a natureza das reflexões, tudo aqui é simples.


A metalicidade não possui um mapa de intensidade de brilho separado; esses valores são costurados em shaders dentro de 2-5% para dielétricos e 70-100% para condutores. A relação das cartas aqui é um pouco mais alta: albedo , metalidez e rugosidade das cartas afetam a cor, a intensidade e a natureza da reflexão especular no total. Há um cartão a menos nesse pipeline e, levando em consideração a possibilidade de empacotar cartões em escala de cinza em um RGB, esses materiais ocupam menos memória do sistema.


A escolha de renderizações modernas caiu quase completamente na metalicidade, em vista de sua eficiência e maior automação, porque esses shaders cuidam dos cálculos corretos de Fresnel. Embora especular dê mais controle, esse controle geralmente é redundante e leva mais tempo e esforço com resultados semelhantes. Portanto, falaremos especificamente sobre o oleoduto de metalicidade em geral.



Pipelines e mapas de diferenças. Wes McDermott e alegórico.


Sobre o BRDF e o GGX


A base da diferença entre o PBR da geração anterior na mudança de BxDF. BxDF é uma função de distribuição X bidirecional , que soa aproximadamente como uma função de capacidade X de dois feixes . E essa família de funções tem várias habilidades: é pelo menos refletância , transmissão e dispersão - reflexão, transmissão e dispersão, respectivamente (na literatura e nos artigos especializados, o artista mais frequentemente encontra a versão do BRDF).


Essas funções descrevem o comportamento do feixe ao interagir com a superfície: como ele se espalha (isto é, penetra na camada superior e retorna), é espelhado ou passa através de um material transparente.


Em nossa história, o BxDF está intimamente relacionado à teoria dos microfacetos , que também possui muitas implementações, geralmente nomeadas com o nome dos autores: Cook-Torrance, Ashikhmin-Shirley, GGX e assim por diante. O GGX é apenas uma das implementações da teoria dos microfacetos - a teoria das micro-superfícies , usada em quase todos os lugares. Apresenta um modelo simplificado da micro-superfície, que em conjunto com o BxDF imita a reação à luz para todos os tipos de interação.


Faceta também pode ser traduzida como uma "face", o que também faz sentido. Em uma teoria simplificada, uma superfície é uma coleção de rostos pequenos.

O GGX não é descriptografado, o conjunto de letras é retirado das variáveis ​​usadas nas fórmulas (ou o sobrenome de alguém é desordenado - a história o oculta). Os artistas podem ver esse termo nas configurações de parâmetros de rugosidade / brilho .


Por exemplo, um de G é a função de máscara de sombreamento bidirecional, uma função de sombreamento / máscara de dois feixes.


Microsuperfície e seu efeito na reflexão especular. Wes McDermott e alegórico.


Conservação de energia


A conservação de energia também é uma das constantes fundamentais da PBR e significa que a superfície não pode retornar mais luz do que recebe. Em particular, albedo e reflexão especular se somam, e se especular é mais brilhante, albedo é menos brilhante e vice-versa. Em geral, isso é algo automatizado nos motores; às vezes é possível ligá-lo e desligá-lo, por exemplo, no Marmoset Toolbag.


Sobre Fresnel


Augustin-Jean Fresnel (Augustin-Jean Fresnel), físico francês do século XIX, criador da teoria das ondas de luz e montes de outras coisas legais, descreveu o efeito do próprio nome, que consiste no fato de que o nível de luz refletido de uma superfície depende diretamente do ângulo de visão dessa superfície. Em um ângulo reto, ou seja, F0 , obtemos o nível mínimo de luz refletida especularmente disponível para o material. E quanto maior o ângulo, mais luz capturaremos, aproximando-se de 100%.


De acordo com esse efeito, qualquer material tem um brilho, em princípio, tudo brilha, basta encontrar o ângulo certo.


Quando falamos sobre a intensidade do brilho em geral, sempre queremos dizer o brilho em F0 - é isso que é controlado pelo artista através dos parâmetros albedo / rugosidade / metalidade .

Esquema do efeito Fresnel. Wes McDermott e alegórico.


Sobre reflexão difusa


Albedo. Difusa Cor base.



Esquema de interação em reflexão difusa. Wes McDermott e alegórico.


Esta é a luz que cai na superfície e é parcialmente absorvida por ela, e parcialmente refletida, espalhando-se aleatoriamente nas camadas superiores e retornando ao observador a cor dessa mesma superfície. Às vezes, nesse caso, eles dizem que é pintado na cor da superfície, mas estamos falando de correção física, por isso vale a pena repetir - a luz não pinta, a parte do espectro que não foi absorvida e não perdida retorna para nós. A parte da luz visível que é absorvida pela superfície no mundo real entra em energia térmica, e no PBR isso também pode ser levado em consideração, mas depende muito do shader usado e, neste caso, é secundário.



Absorção da luz e retorno ao observador apenas de ondas não absorvidas. Wes McDermott e alegórico.


O comportamento do material durante a reflexão difusa é determinado pelo mapa de albedo , ou cor de base , ou mesmo difuso em alguns lugares. A diferença nesses nomes decorre da tradição e dos diferentes pipelines de desenvolvimento de mecanismo, mas o comportamento é o mesmo em todo lugar - em qualquer caso, deveria ser. A cor deve ser capturada no mapa de albedo, com a aparência de um ângulo reto em relação à superfície da câmera e com iluminação 100% branca. Sem sombras, penumbra, brilho e tudo o que não é espremido na definição de "cor pura". Essa é a principal diferença entre a reflexão difusa atual no PBR e a geração anterior de renderizadores, onde o termo difuso também é usado, mas de uma maneira ligeiramente diferente.


Uma fotografia de um objeto com um filtro de polarização sob iluminação direta captura seu albedo , por exemplo. A polarização remove o brilho.

Parece que não há mais nada a dizer sobre cores, mas ainda há sutilezas.


O mapa de reflexão difusa afeta a renderização de metais puros na tubulação de metalidade, manchando o destaque na cor correspondente. Além disso, o mapa de albedo afeta diretamente a refletância especular para metais, permitindo que você o varie em combinação com um cartão de metalidade . Este é um design bastante complicado, mas, em geral, é assim: quando fabricamos o material do isolador, desenhamos uma máscara de metal preta e o shader atribui um brilho a F0 de 4%. Quando fazemos transições de metal até branco, ou seja, metal puro, o brilho no mapa de albedo afeta a intensidade de seu brilho. Quanto mais brilhante a cor no albedo , mais intenso é o brilho, que se aproxima de um valor de 100%. Não temos controle sobre o nível de brilho do isolador. Supõe-se que a diferença de 2-4% seja acrítica e mascarada através da rugosidade ou ajustada através da refletância especular , se necessário e possível.


Este exemplo é descrito levando em consideração os produtos UE4 shaders, Marmoset Toolbag e Substance. Mas no geral funciona em qualquer lugar.

O efeito artístico da cor da superfície não pode ser subestimado. Muitas vezes isso escapa à atenção dos artistas, e eles fazem plástico preto preto para torná-lo "como na vida". Mas geralmente não há cores monolíticas na realidade, e variações de cores estão quase sempre presentes no material, isso deve ser entendido e utilizado.


A reflexão difusa é descrita por uma placa RGB, ou em termos de mecanismo, por uma matriz do Vector3, que é lógica, estamos falando de cores.


Validação PBR


Como o PBR busca parâmetros e características reais, os valores do brilho do albedo devem ser validados e reduzidos a intervalos de valores reais, mas eles não podem cair abaixo de 30-50 sRGB e subir acima de 240 para dielétricos. No caso de metais puros, o valor de 240 pode aumentar para 255, porque esse não é o valor da reflexão difusa, mas o valor da refletância especular .


Mas, é claro, existem sutilezas aqui.


Por exemplo, uma das substâncias mais escuras do mundo comum é o carvão. O valor do brilho do albedo , traduzido para sRGB, é 50, e isso está próximo do limite mínimo que a PBR pode pagar por dielétrico. Os valores abaixo estão muito escuros e podem não parecer corretos sob diferentes condições de iluminação.


Há pouco tempo, algumas pessoas ficaram tensas e criaram um material que absorve 99% da luz e parece um buraco negro no espaço.

Por que isso é importante?


Porque reflexões difusas e especulares funcionam em pares. Valores muito escuros de albedo afetarão a diferença entre o próprio albedo e a refletância especular , e os artistas terão que “torcer” a luz para normalizar o brilho em F0 e a reflexão difusa, o que implicará a superexposição de toda a cena, e os materiais acabarão se tornando não universais e se aplicarão apenas a uma determinada iluminação.


Por que isso não importa?


Porque isso depende da composição. Se a apresentação de um modelo separado for renderizada e não houver iluminação global e reflexo de reflexão na cena, mas houver iluminação HDR, em geral, você poderá criar valores fora de 30-50 sRGB. E há também uma fera semi-mítica "arte". "O que importa mais não é a correção física", diz ele, "mas a percepção". E aqui é possível e às vezes necessário violar as leis que são difíceis de estabelecer.


É uma questão altamente controversa em relação à admissibilidade de violar as leis da PBR e combinar a realidade. Em algum lugar, ele atua nas mãos da percepção e em algum lugar é necessário manter todos os padrões. Exemplos e discussão estão além do escopo deste texto.

Em geral, a manutenção do limite de brilho albedo permanece na consciência do artista ou de seu líder de arte, e grande parte do trabalho na PBR que existe hoje não passa nessa validação no limite inferior, o que não impede que sejam qualitativos e corretos em um olhar inexperiente. A diferença se torna visível apenas se você verificar os valores e subir até o limite inferior ou se um modelo executado separadamente for colocado em uma cena com a iluminação correta.


Mas mesmo se não nos preocuparmos com a validação, não use cor preta pura a 0 sRGB para dielétrico.


A validação de PBR é fornecida por várias ferramentas nos mecanismos e nos editores. Por exemplo, no Substance Painter, há um filtro que funciona no topo de toda a pilha de camadas, verificando os valores.



Validação de PBR no Substance Painter. Wes McDermott e alegórico.



Faça um gráfico dos valores de intensidade para alguns materiais. Dados extraídos de Sébastien Lagarde e DONTDNOD.


Sobre o reflexo do espelho


Refletância especular


Specular é uma palavra latina que se traduz como "espelho".


Esquema da interação da luz na reflexão especular. Wes McDermott e alegórico.


Refere-se à parte do fluxo de luz que é refletida da superfície de acordo com a lei do ângulo de incidência e retorna ao observador na íntegra. A refletância especular , ou reflexão especular, é ofuscante e está intimamente relacionada às características da micro-superfície. É encontrado nos dois oleodutos, mas é controlado diretamente no oleoduto especular e indiretamente na metalicidade .


O fato é que o controle direto do brilho é uma coisa muito vil. Lembramos de condutores e isoladores, mas poucos artistas sem uma mesa diante dos olhos se lembram dos valores exatos de intensidade e também há exceções na forma de pedras preciosas. Tendo acesso a essa configuração de sombreador, é muito fácil afastar-se dos valores fisicamente corretos em algum lugar do plano astral, quebrando toda a faixa visual e até mesmo preparar materiais sobre nossos ombros e a memória da placa de vídeo é outra placa.


Além disso, as medições dos valores do mundo real se encaixam em uma pequena estrutura que pode ser automatizada, o que eles fizeram na metalicidade , tendo selecionado o controle direto e a necessidade de pensar nisso também.


Em um pipeline especular , o parâmetro especular é controlado por um mapa em escala de cinza nos valores de 0 a 255, uma cor linear ou um parâmetro escalar.


O parâmetro escalar aqui é o valor definido para o espaço bidimensional projetado no modelo. Em outras palavras, quando você move o controle deslizante no Marmoset para especular, esse é o parâmetro escalar.

Em uma tubulação de metalidade , geralmente não há controle direto da intensidade do brilho através do parâmetro especular. F0: 4-5% 80-100% , . , roughness albedo .


Cavity


specular reflectance , , , , , . , , . cavity ; , . UE4, , specular , , , specular , , cavity 0-4%. Substance- . , . .




cavity specular reflectance. . cavity , . Marmoset Toolbag 3



Metalness


PBR , - . , — - . 2-5% , — 70-100%, .


, , , , , - metalness . , . , UE4 Unity. ( « ») — : texel density .


/ specular-, , .


/. Wes McDermott Allegorithmic.


PBR, . , , - , , . specular - RGB- specular , , metalness albedo . , metalness , , , , . .


, — , . , , .


, . albedo , , Substance Painter, , . , : albedo .


- 0-255 .



Roughness. Glossiness. Smoothness.


, , , . , , , . PBR microfacet theory BRDF, , roughness , gloss , smoothness -.


— roughness . .

, roughness — , , — , , , . gloss .


specular ( metalness ), . , , , , .
Roughness , , , — , , .


grayscale- 0-255, .



Roughness- . Wes McDermott Allegorithmic.



Normal bump


, , . — , , .


, .

: vertex normal face normal , , . , hard edges .


, Zbrush , . , .

hard/soft edges , , hard edges - . UV, . PBR , -.

. . «», — , 3+n . face . Face normal — .


, 3+n .

, , . , «» . , , . , , ( tangent space , ) ( object space , ) , , .


( bump ) , , . , — normal bump bump. — . , bump , , . , , Mikk, ( Y, ).
Normal bump PBR-, , — , . , . , . , « »; , , . Rockstar RAGE — GTAIV/V, RDR1/2, Star Citizen CryEngine/Lambeyard. , , , , .


PBR .



Subsurface scattering, SSS.


, , : , . , , , .


, SSS, , : ( ) RGB-. .



SSS. .



Translucency


, SSS, . Translucency — , . Translucency - .



: , . .



Ambient occlusion


ambient occlusion — , . , . AO — , . cavity PBR-, . PBR- , . AO, . , SSAO ( screen space ambient occlusion ), HBAO ( horizon based ambient occlusion ) , . , — deferred rendering .


, - PBR , , roughness , .



, , . : https://www.gamingscan.com/what-is-ambient-occlusion/


, RTX GI , .


O que ler


Como este artigo não é um guia ou manual detalhado, mas um memorando, para um estudo detalhado do tópico, você pode ler os materiais nos links abaixo.


Apresentação GGX, um monte de teoria e matemática


Guias alegóricos de PBR:
https://academy.substance3d.com/courses/the-pbr-guide-part-1
https://academy.substance3d.com/courses/the-pbr-guide-part-2


Theory by Marmoset


Teoria do mecanismo de filamentos


Descrição e implementação de PBR no 3dCoat


Documentação UE4


Apresentação de Sebastien Lagarde


Se não está claro quem é Sebastian Lagarde, então aqui está uma extensa apresentação sobre Frostbite


Documentação do Unity


Introdução fixa, obrigado pela dica para zhovner .

Source: https://habr.com/ru/post/pt465457/


All Articles