
Dans ce texte, je parlerai un peu de PBR, un concept de rendu basé sur des principes physiques. Le PBR est utilisé dans les graphiques informatiques modernes, et nous parlerons de ce que c'est et de la façon dont il est préparé, et des choses importantes qu'il vaut la peine de savoir pour ceux qui vont ou s'occupent déjà de la préparation des matériaux. L'accent est davantage mis sur les jeux et les moteurs de jeux, où ce concept est désormais très largement utilisé.
Avant de passer aux détails, quelques mots pour «couvrir l'arrière».
Chaque moteur et rendu a son propre pipeline de développement, qui est souvent unique, comme un flocon de neige, et ne se croise pas complètement avec les autres. Cela est dû, entre autres, au fait que le PBR est une méthodologie relativement jeune, et nous pouvons dire que nous voyons la première génération de tels moteurs, les normes commencent tout juste à émerger, il y a donc une différence et des nuances dans les différentes implémentations. Et aussi parce que PBR n'est pas un ensemble d'exigences strictes, mais plutôt une direction générale de développement.
Lors de la rédaction de ce texte, je me suis appuyé sur ma propre expérience ainsi que sur la théorie concernant plusieurs packages: Unreal Engine 4, Marmoset Toolbag 3, Substance Painter. Par conséquent, certaines choses dans d'autres packages seront différentes, mais en général, la théorie est universelle.
Plus en détail, je décrirai les choses les plus importantes, et à la fin, par le principe résiduel, je mentionnerai qu'en PBR il est utilisé, mais pas si important ou délicat dans l'appareil.
J'utilise intentionnellement les termes sous une forme non traduite, car les sources d'informations les plus récentes et complètes sont toujours en anglais, et si quelqu'un s'assoit et attend une traduction, il entre automatiquement dans celles qui sont à la traîne et dépendent de lui. À mon avis, il est juste de se souvenir immédiatement des termes utilisés dans l'industrie. Et google, bien sûr.
Le matériel a été préparé avec la participation de la communauté Maya3D Telegram.
À propos des bases
Tout d'abord, approfondissons un peu l'histoire. L'expérience suggère qu'il est préférable d'expliquer immédiatement la signification des termes et des concepts de base, mais si vous les connaissez déjà, vous pouvez ignorer cette section en toute sécurité.
De plus, vous remarquerez que PBR emprunte des termes de n'importe où, les modifiant un peu, et c'est très bien.
PBR est une abréviation pour le rendu basé physiquement , ce qui signifie à peu près une visualisation physiquement correcte , et ces mots parlent d'eux-mêmes. Parfois, le terme PBS est utilisé (ici pour rendre les modifications du shader ), à certains endroits, il y a même PBT (et ici la texturation apparaît). Cependant, la différence est minime - c'est une question de tradition, et le terme PBR est traditionnellement utilisé plus souvent.
Ces dernières années ont été le courant dominant des systèmes de rendu modernes, du temps réel et des jeux aux rendus dits hors ligne. Le nom implique une certaine adhésion aux lois de la physique, aux lois du monde réel, et cette clarification nous dit pour ainsi dire: avant il n'en était pas ainsi. Voyons comment c'était et comment c'est devenu, et comment tout cela est venu à nous.
Dans les graphiques en trois dimensions, dès le tout début de sa vie, diverses approches d'affichage à l'écran ont été mises en œuvre, jusqu'à ce qu'il devienne clair que la reproduction des mécanismes de la réalité donne des résultats plus réalistes, pour ainsi dire.
À peu près la même histoire s'est produite avec l'animation squelettique des personnages, qui a "enterré" le sommet.
Si nous modélisons la réalité, alors utilisons ses lois et son architecture, automatisant les constantes et transférant une partie du travail vers le logiciel. Les rendus s'efforcent de plus en plus de fonctionner comme notre réalité fonctionne, chaque génération de fer introduisant de nouvelles approches qui vous permettent d'abandonner les contrefaçons.
Les rendus hors ligne sont des rendus qui ne fonctionnent pas en temps réel, par exemple, Vray ou Arnold.
Pour une raison quelconque, probablement, cela rétrécit le vol de la fantaisie et coupe les pousses de stylisation, mais c'est probablement quoi.
D'un autre côté, les trucs et les contrefaçons passent à un nouveau niveau, qui est également un progrès.
Dans le monde réel qui nous entoure, le champ électromagnétique est la base d'une interaction à une échelle supérieure à l'atome et inférieure à la planète. Tout ce que nous voyons et pouvons toucher nous est accessible grâce à lui. L'homme est un être imparfait, nous ne pouvons pas voir la plus grande partie du spectre électromagnétique, mais avec lui il y a beaucoup de subtilités que nous utilisons en vertu de la compréhension. Tout ce que nous voyons autour de nous, c'est la lumière et ses caprices. Belle entrée, et surtout, évidente, non?
La grande majorité des gens sont des trichromates, mais il existe un petit pourcentage de mutants tétrachromatiques qui distinguent plus de nuances et voient le monde plus diversifié. Et le plus souvent, ce sont des femmes.
En PBR, la lumière est devenue moins conventionnelle qu'auparavant. BxDF décrit non seulement comment il atteint la surface, mais aussi comment il en est réfléchi, compte tenu des caractéristiques des matériaux. Cela vous permet de décrire plus précisément la scène et de transmettre le résultat, le plus près possible de la réalité.
L'un des principaux changements apportés par PBR est la polyvalence des matériaux dans n'importe quel éclairage. Les matériaux correctement configurés seront toujours corrects dans n'importe quelle scène.
Dans la génération précédente de rendus, la microsurface et la nature de l'évasement, les types de matériaux conducteur / isolant n'étaient pas pris en compte; la réflexion diffuse portait une ombre partielle et même des reflets peints; il n'y avait pas de valeurs de réflexion du monde réel; Les matériaux n'étaient universels pour aucune scène et aucun éclairage.
À propos de la substance
Il en existe deux types:
- conducteurs ou métaux - conducteurs ;
- isolateurs ou diélectriques, c'est-à-dire non métalliques - isolants .
La classification est tirée du monde réel (avec simplifications) et essaie de suivre le nom.
Les conducteurs conduisent le courant électrique, ont un réseau cristallin et d'autres "joies" du cours de physique de l'école. Ils n'ont pas de réflexion diffuse et de diffusion souterraine, leur surface ne diffuse pas la lumière, elle lui est imperméable, mais en absorbe une partie, réfléchissant des ondes de longueurs spécifiques - un éclat de couleur.
Cependant, le courant n'est pas important pour PBR. La peau est également conductrice de courant, mais en PBR, elle n'est pas métallique, ce qui signifie qu'elle n'est pas conductrice.
Les isolants diffusent la lumière, elle pénètre leur surface; ils ont une réflexion diffuse et une diffusion souterraine, des reflets de lumière blanche.
Les deux types de matériaux ont un effet Fresnel.
À propos des pipelines
Traditionnellement, nous avons deux pipelines pour les matériaux et leur préparation: spéculaire et métal . Habituellement, il est entendu que dans le spéculaire, il existe une carte d'image miroir correspondante, tandis que dans la métallité, ce n'est pas le cas, mais il existe un masque de métallicité, et cela peut être fait.
Bien sûr, tout n'est pas si simple ici.
Le pipeline spéculaire a vraiment une carte spéculaire , qui contrôle l'intensité et la couleur du brillant sur F0 , dont les valeurs sont entièrement entre les mains de l'artiste, et n'a pas de constantes intégrées dans le shader. Fresnel est parfois contrôlé séparément, l' albédo ne contrôle que la couleur, le brillant / la rugosité contrôle la nature des reflets, tout est simple ici.
La métallité n'a pas de carte d'intensité de brillance distincte; ces valeurs sont cousues dans des shaders à 2-5% pour les diélectriques et 70-100% pour les conducteurs. La relation des cartes ici est légèrement plus élevée: l' albédo , la métallité et la rugosité des cartes affectent la couleur, l'intensité et la nature de la réflexion spéculaire au total. Il y a une carte de moins dans ce pipeline, et compte tenu de la possibilité de regrouper les cartes en niveaux de gris dans un RVB, ces matériaux occupent moins de mémoire système.
Le choix des rendus modernes est presque entièrement tombé sur la métalité en raison de son efficacité et d'une plus grande automatisation, car de tels shaders se chargent des calculs de Fresnel corrects. Bien que spéculaire donne plus de contrôle, ce contrôle est souvent redondant et prend plus de temps et d'efforts avec des résultats similaires. Par conséquent, nous parlerons spécifiquement du pipeline metalness en général.

Différences pipelines et cartes. Wes McDermott et allégorithmique.
À propos de BRDF et GGX
La base de la différence entre PBR de la génération précédente dans le changement de BxDF. BxDF est une fonction de distribution X bidirectionnelle , qui ressemble à peu près à une fonction de capacité X à deux faisceaux . Et cette famille de fonctions a plusieurs capacités: c'est au moins la réflectance , la transmission et la diffusion - réflexion, transmission et dispersion, respectivement (dans la littérature et les articles spécialisés, l'artiste rencontre plus souvent la version BRDF).
Ces fonctions décrivent le comportement du faisceau lorsqu'il interagit avec la surface: comment il se disperse (c'est-à-dire qu'il pénètre dans la couche supérieure et revient), il est mis en miroir ou traverse un matériau transparent.
Dans notre histoire, BxDF est étroitement lié à la théorie des microfacets , qui a également beaucoup d'implémentations, souvent nommées d'après les noms des auteurs: Cook-Torrance, Ashikhmin-Shirley, GGX et ainsi de suite. GGX n'est qu'une des implémentations de la théorie des microfacets - la théorie des microsurfaces, qui est utilisée presque partout. Il présente un modèle simplifié de la microsurface, qui en conjonction avec BxDF imite la réaction à la lumière pour tous les types d'interaction.
La facette peut également être traduite par un «visage», ce qui est également logique. Dans une théorie simplifiée, une surface est un ensemble de petits visages.
GGX n'est pas décrypté du tout, l'ensemble des lettres est tiré des variables utilisées dans les formules (ou le nom de famille de quelqu'un est encombré - l'histoire le cache). Les artistes peuvent voir ce terme dans les réglages des paramètres de rugosité / brillance .
Par exemple, l'un des G est la fonction d'occultation-masquage bidirectionnelle, une fonction d'auto-ombrage / masquage à deux faisceaux.

Microsurface et son effet sur la réflexion spéculaire. Wes McDermott et allégorithmique.
Économies d'énergie
La conservation de l'énergie est également l'une des constantes fondamentales du PBR et cela signifie que la surface ne peut pas renvoyer plus de lumière qu'elle n'en reçoit. En particulier, l' albédo et la réflexion spéculaire s'additionnent, et si le spéculaire est plus brillant, l' albédo est moins brillant, et vice versa. En général, c'est une chose automatisée dans les moteurs, il est parfois possible de l'activer et de la désactiver, par exemple, dans le Marmoset Toolbag.
À propos de Fresnel
Augustin-Jean Fresnel (Augustin-Jean Fresnel), un physicien français du XIXe siècle, créateur de la théorie des ondes de la lumière et des tas d'autres choses cool, a décrit l'effet du nom lui-même, qui consiste dans le fait que le niveau de lumière réfléchie par une surface dépend directement de l'angle de vue de cette surface. À angle droit, c'est-à-dire F0 , nous obtenons le niveau minimum de lumière réfléchie spéculairement disponible pour le matériau. Et plus l'angle est grand, plus nous attraperons de lumière, approchant 100%.
Selon cet effet, tout matériau a un éclat, en principe, tout brille, il suffit de trouver le bon angle.
Lorsque nous parlons de l'intensité du brillant en général, nous entendons toujours le brillant sur F0 - c'est ce qui est contrôlé par l'artiste à travers les paramètres albédo / rugosité / métal .

Schéma de l'effet Fresnel. Wes McDermott et allégorithmique.
À propos de la réflexion diffuse
Albedo. Diffuse Couleur de base.

Schéma d'interaction en réflexion diffuse. Wes McDermott et allégorithmique.
C'est la lumière qui tombe sur la surface et qui est partiellement absorbée par elle, et partiellement réfléchie, se dispersant de manière aléatoire dans les couches supérieures et renvoyant à l'observateur la couleur de cette même surface. Parfois, dans ce cas, ils disent qu'elle est peinte dans la couleur de la surface, mais nous parlons de correction physique, donc cela vaut la peine de répéter - la lumière ne peint pas, la partie du spectre qui n'a pas été absorbée et non perdue nous revient. La partie de la lumière visible qui est absorbée par la surface dans le monde réel va dans l'énergie thermique, et en PBR cela peut également être pris en compte, mais cela dépend beaucoup du shader utilisé et dans ce cas est secondaire.

Absorption de la lumière et retour à l'observateur uniquement des ondes non absorbées. Wes McDermott et allégorithmique.
Le comportement du matériau lors d'une réflexion diffuse est déterminé par la carte d' albédo , ou couleur de base , voire diffus à certains endroits. La différence dans ces noms provient de la tradition et des différents pipelines de développement de moteurs, mais le comportement est le même partout - en tout cas, il devrait l'être. La couleur doit être capturée sur la carte de l'albédo, à quoi elle ressemblerait à angle droit par rapport à la surface de la caméra et à un éclairage 100% blanc. Sans ombres, pénombre, éblouissement et tout ce qui n'est pas coincé dans la définition de "couleur pure". C'est la principale différence entre la réflexion diffuse actuelle dans PBR et la génération précédente de moteurs de rendu, où le terme diffus est également utilisé, mais d'une manière légèrement différente.
Une photographie d'un objet avec un filtre de polarisation sous un éclairage direct capture son albédo , par exemple. La polarisation supprime l'éblouissement.
Il semblerait qu'il n'y ait plus rien à dire sur la couleur, mais il y a encore des subtilités.
La carte de réflexion diffuse affecte le rendu des métaux purs dans le pipeline de métallité, colorant le reflet dans la couleur correspondante. De plus, la carte d' albédo affecte directement la réflectance spéculaire des métaux, vous permettant de la faire varier en combinaison avec une carte de métallité . C'est une conception assez délicate, mais en général, cela ressemble à ceci: lorsque nous fabriquons le matériau de l'isolant, nous dessinons un masque de métal noir et le shader attribue un brillant à F0 de 4%. Lorsque nous effectuons des transitions dans la métallité jusqu'au blanc, c'est-à-dire le métal pur, la luminosité de la carte de l' albédo affecte l'intensité de sa luminosité. Plus la couleur de l' albédo est brillante, plus la brillance est intense, ce qui approche une valeur de 100%. Nous n'avons aucun contrôle sur le niveau de brillance de l'isolant. On suppose que la différence de 2 à 4% n'est pas critique et est masquée par la rugosité , ou bien ajustée par réflexion spéculaire , si nécessaire et possible.
Cet exemple est décrit en tenant compte des shaders UE4, du Marmoset Toolbag et des produits Substance. Mais dans l'ensemble, cela fonctionne partout.
L'effet artistique de la couleur de surface ne doit pas être sous-estimé. Souvent, cela échappe à l'attention des artistes, et ils font du plastique noir noir pour le rendre «comme dans la vie». Mais il n'y a généralement pas de couleurs monolithiques dans la réalité, et les variations de couleur sont presque toujours présentes dans le matériau, cela doit être compris et utilisé.
La réflexion diffuse est décrite par une carte RVB, ou en termes de moteurs, par un tableau de Vector3, ce qui est logique, on parle de couleur.
Validation PBR
Étant donné que PBR s'efforce d'obtenir des paramètres et des caractéristiques réels, les valeurs de la luminosité de l' albédo doivent être validées et réduites à des plages de valeurs réelles, mais elles ne peuvent pas descendre en dessous de 30 à 50 sRGB et dépasser 240 pour les diélectriques. Dans le cas des métaux purs, la valeur de 240 peut augmenter à 255, car ce n'est pas la valeur de la réflexion diffuse, mais la valeur de la réflectance spéculaire .
Mais, bien sûr, il y a des subtilités ici.
Par exemple, l'une des substances les plus sombres du monde ordinaire est le charbon. La valeur de luminosité de l' albédo , traduite en sRGB, est de 50, ce qui est proche de la limite du minimum que PBR peut se permettre pour les diélectriques. Les valeurs ci-dessous sont trop sombres et peuvent ne pas sembler correctes dans différentes conditions d'éclairage.
Il n'y a pas si longtemps, certaines personnes se sont tendues et ont créé un matériau qui absorbe 99% de la lumière et ressemble à un trou noir dans l'espace.
Pourquoi est-ce important?
Parce que les réflexions diffuses et spéculaires fonctionnent par paires. Les valeurs d'albédo qui sont trop sombres affecteront la différence entre l' albédo lui-même et la réflectance spéculaire , et les artistes devront «tordre» la lumière pour normaliser l'éblouissement sur F0 et la réflexion diffuse, ce qui entraînera une surexposition de toute la scène, et les matériaux deviendront finalement universels et ne s'appliqueront qu'à un spécifique l'éclairage.
Pourquoi cela n'a-t-il pas d'importance?
Parce que cela dépend de la composition. Si la présentation d'un modèle séparé est rendue, et qu'il n'y a pas d'éclairage global et de réflexion de réflexion dans la scène, mais qu'il y a un éclairage HDR, vous pouvez en général faire des valeurs en dehors de 30-50 sRGB. Et il y a aussi une bête «artistique» semi-mythique. "Ce qui importe le plus, ce n'est pas l'exactitude physique", dit-il, "mais la perception." Et ici, il est possible et parfois nécessaire de violer des lois difficiles à établir.
Il s'agit d'une question très controversée concernant l'admissibilité de la violation des lois PBR et de la réalité correspondante. Quelque part, il joue entre les mains de la perception, et quelque part, il est nécessaire de maintenir toutes les normes. Les exemples et la discussion dépassent le cadre de ce texte.
En général, le maintien de la limite de luminosité de l' albédo reste dans la conscience de l'artiste ou de son chef d'art, et une grande partie du travail en PBR qui existe aujourd'hui ne passe pas cette validation à la limite inférieure, ce qui ne les empêche pas d'être qualitatifs et corrects dans un look inexpérimenté. La différence ne devient visible que si vous vérifiez les valeurs et tirez jusqu'à la limite inférieure, ou si un modèle exécuté séparément est placé dans une scène avec le bon éclairage.
Mais même si nous ne nous soucions pas de la validation, n'utilisez pas de couleur noire pure à 0 sRGB pour les diélectriques.
La validation PBR est fournie par divers outils dans les moteurs et les éditeurs. Par exemple, dans Substance Painter, il existe un filtre qui fonctionne au-dessus de la pile entière de couches, vérifiant les valeurs.

Validation PBR dans Substance Painter. Wes McDermott et allégorithmique.

Graphique des valeurs d'intensité pour certains matériaux. Données extraites de Sébastien Lagarde et DONTDNOD.
À propos de la réflexion du miroir
Réflexion spéculaire
Spéculaire est un mot latin qui se traduit par «miroir».

Schéma de l'interaction de la lumière dans la réflexion spéculaire. Wes McDermott et allégorithmique.
Il s'agit de la partie du flux lumineux réfléchie par la surface selon la loi de l'angle d'incidence et renvoyée à l'observateur dans son intégralité. La réflectance spéculaire , ou réflexion spéculaire, est un éblouissement, et elle est très étroitement liée aux caractéristiques de la microsurface. On le trouve dans les deux pipelines, mais il est directement contrôlé dans le pipeline spéculaire et indirectement dans la métallité .
Le fait est que le contrôle direct de la luminosité est une chose très vile. Nous nous souvenons des conducteurs et des isolateurs, mais peu d'artistes sans table devant leurs yeux se souviendront des valeurs d'intensité exactes, et il y a aussi des exceptions sous forme de pierres précieuses. En ayant accès à ce paramètre de shader, il est très facile de s'éloigner des valeurs physiquement correctes quelque part dans le plan astral, de briser toute la gamme visuelle et même de préparer du matériel sur nos épaules et la mémoire de la carte vidéo est une autre carte.
De plus, les mesures des valeurs du monde réel s'inscrivent dans un petit cadre qui peut être automatisé, ce qu'ils ont fait dans la métallicité , après avoir sélectionné le contrôle direct et la nécessité d'y penser également.
Dans un pipeline spéculaire , le paramètre spéculaire est contrôlé par une carte en niveaux de gris dans les valeurs 0-255, une couleur linéaire ou un paramètre scalaire.
Le paramètre scalaire ici est la valeur définie pour l'espace bidimensionnel projeté sur le modèle. En d'autres termes, lorsque vous déplacez le curseur dans Marmoset pour spéculaire, il s'agit du paramètre scalaire.
Dans un pipeline de métal , il n'y a généralement pas de contrôle direct de l'intensité de la luminosité via le paramètre spéculaire. 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 , .
Que lire
Étant donné que cet article n'est pas un guide ou un manuel détaillé, mais plutôt un mémo, pour une étude détaillée du sujet, vous pouvez lire les documents sur les liens ci-dessous.
Présentation GGX, un tas de théorie et de mathématiques
Guides PBR allégorithmiques:
https://academy.substance3d.com/courses/the-pbr-guide-part-1
https://academy.substance3d.com/courses/the-pbr-guide-part-2
Théorie de Marmoset
Théorie du moteur de filament
Description et implémentation de PBR dans 3dCoat
Documentation UE4
Présentation de Sébastien Lagarde
S'il n'est pas clair qui est Sebastian Lagarde, alors voici une présentation détaillée sur Frostbite
Documentation Unity
Intro fixe, merci pour le conseil à zhovner .