Que recherchez-vous ?
Engine & platform

Travailler avec un ombrage basé sur la physique : Une approche pratique

ERLAND KÖRNER / UNITY TECHNOLOGIESSenior Technical Artist
Feb 18, 2015|8 Min
Travailler avec un ombrage basé sur la physique : Une approche pratique
Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.

Tout au long du développement de Unity 5, nous avons utilisé notre projet Viking Village en interne comme terrain d'essai pour les flux de travail d'ombrage et d'éclairage.

Si vous utilisez la version bêta de Unity 5, vous pouvez télécharger le package Viking Village depuis l'Asset Store pour découvrir comment assembler et illuminer une scène dans Unity 5. Nous présentons également ci-dessous quelques-uns de nos enseignements.

Création d'un environnement modèle

Afin de vous assurer que votre configuration de textures et de shaders se comporte correctement, nous vous recommandons d'utiliser une scène simple avec différentes configurations d'éclairage. Il peut s'agir de skyboxes différentes, de lumières, etc. - tout ce qui contribue à l'éclairage de votre modèle.

Lorsque vous ouvrez Unity 5, vous remarquerez que toute nouvelle scène vide possède un ciel procédural ainsi que des paramètres d'ambiance et de réflexion par défaut. Il s'agit là d'un bon point de départ.

lightcond5fr640x480loop

Pour notre environnement modèle, nous avons utilisé :

  • Rendu de la caméra HDR
  • Quelques sondes à réflexion diffuse (pour les réflexions localisées sur les objets)
  • Un groupe de sondes lumineuses
  • Un ensemble de textures de ciel et de matériaux HDR, ainsi que des ciels procéduraux. Le ciel fourni avec ce projet a été conçu sur mesure pour Unity par Bob Groothuis, auteur de Dutch Skies 360.
  • Lumières directionnelles blanc cassé avec intensité adaptée et couleur du ciel HDR

Ajustement des panoramas de la texture du ciel

La plupart des textures de ciel incluent le soleil (ainsi que les éruptions, etc.), de sorte que la lumière du soleil est réfléchie par les surfaces. Cela peut entraîner trois problèmes :

1) La lumière directionnelle que vous utilisez pour représenter le soleil doit correspondre à la direction exacte du soleil peint sur la skybox ou il y aura de multiples points chauds spéculaires sur le matériau.

2) Le soleil réfléchi et le point chaud spéculaire se chevauchent, ce qui provoque des reflets spéculaires intenses.

3) Le reflet du soleil n'est pas masqué lorsque la surface est dans l'ombre et il devient trop brillant dans l'obscurité.

image11
Le soleil est effacé de la texture du ciel et rajouté à l'aide d'une lumière directionnelle et d'un reflet de lentille.

Par conséquent, la lumière du soleil, les éclats, les rayons du soleil et les valeurs HDR doivent être supprimés de la texture du ciel et réappliqués à l'aide des lumières directionnelles.

Création de matériaux d'ombrage à base physique


Pour éviter les approximations liées à l'émulation de matériaux réels, il est utile de suivre une référence connue et fiable. Le nuanceur standard prend en charge à la fois la couleur spéculaire et le flux de travail métallique. Ils définissent tous deux la couleur des reflets qui partent
la surface. Dans le flux de travail spéculaire, la couleur est spécifiée directement, tandis que dans le flux de travail métallique, la couleur est dérivée d'une combinaison de la couleur diffuse et de la valeur métallique définie dans les contrôles du nuanceur standard.

Pour le projet Viking Village, nous avons utilisé le flux de travail de couleur spéculaire du nuanceur standard. Notre scène d'étalonnage, que vous pouvez télécharger à partir de l'Asset Store, comprend des tableaux d'étalonnage pratiques. Nous avons régulièrement consulté les tableaux lorsque
la conception de nos matériaux.

Lorsque vous abordez les matériaux, vous pouvez choisir entre ce que nous appelons les flux de travail spéculaires et métalliques, chacun ayant son propre ensemble de valeurs et un tableau de référence. Dans le flux de travail spéculaire, vous choisissez la couleur de la lumière réfléchie directement, dans le flux de travail métallique, vous choisissez si le matériau se comporte comme un métal lorsqu'il est éclairé.

Le tableau des valeurs spéculaires :
UnitySpecularChart
Le tableau des valeurs métalliques :
UnityMetallicChart

Le choix entre les flux de travail spéculaire ou métallique est en grande partie une question de préférence personnelle, vous pouvez généralement obtenir le même résultat quel que soit le flux de travail que vous choisissez d'utiliser.

Outre les graphiques et les valeurs, la collecte d'échantillons de surfaces réelles est très utile. Il est très utile de trouver le type de surface que vous essayez d'imiter et d'essayer de comprendre comment elle réagit à la lumière.

Mise en place du matériel

Au début, il est souvent utile de créer une représentation simple mais modifiable des matériaux à l'aide de couleurs, de valeurs et de curseurs dérivés des tableaux d'étalonnage. Vous pouvez ensuite appliquer des textures tout en conservant le matériau d'origine comme référence pour confirmer que les caractéristiques sont préservées.

materialcompare_refl.1
Rangée du haut : non texturé. Rangée du bas : texturé. De gauche à droite : Roche, bois, os, métal.
L'approche traditionnelle de la création de textures

Les textures du Village Viking ont été créées à l'aide de méthodes manuelles traditionnelles (photos + retouches) ainsi qu'à l'aide d'images scannées de Diffuse/albedo, spéculaire, brillante et normale qui nous ont été fournies par Quixel.

Soyez prudent lorsque vous ajoutez des détails dans les canaux de texture du matériau. Par exemple, il est généralement préférable d'éviter de placer des éclairages (occlusion ambiante, ombres, etc.) dans vos textures : rappelez-vous que l'approche de rendu basée sur la physique fournit tous les éclairages dont vous avez besoin.

Naturellement, la retouche de photographies est plus exigeante que l'utilisation de données numérisées, en particulier en ce qui concerne les valeurs respectueuses du PBS. Il existe des outils d' assistance qui facilitent le processus, tels que Quixel Suite et Allegorithmic Substance Painter.

Données numérisées

Les textures numérisées calibrées par PBS ne nécessitent pas d'édition, car les données sont déjà séparées en canaux et contiennent des valeurs pour l'albédo, le spéculaire et le lissage. Il est préférable que le logiciel qui fournit les données calibrées par le PBS contienne un profil d'unité pour l'exportation. Vous pouvez toujours utiliser les tableaux de référence comme contrôle de cohérence et comme guide si vous devez calibrer les valeurs à l'aide de Photoshop ou d'un outil connexe.

Exemples de matériaux

La Scène du village viking propose une grande quantité de contenu tout en essayant de rester dans des limites raisonnables de consommation de mémoire de texture. Prenons l'exemple d'une grue en bois de 10 mètres de haut.

Notez que de nombreuses textures, en particulier les textures spéculaires et diffuses, sont homogènes et nécessitent des résolutions différentes.

image10
Exemple 1 : Cet objet grue comporte 2 matériaux : 2 textures diffuses, 1 texture spéculaire, 2 textures d'occlusion et 2 textures détaillées.
image06
Exemple 2 : L'étai du bouclier comporte 1 matériau : 1 diffuse, 1 specular-smoothness, 1 occlusion et aucune texture détaillée.
Screen-Shot-2015-02-17-at-17.12.23
A gauche : Inspecteur des grues pour les deux matériaux. L'élément le plus à droite est l'étai du bouclier.

- Texture de l'albédo : Dans le flux de travail spéculaire, elle représente la couleur de la lumière diffuse qui rebondit sur la surface. Elle ne doit pas nécessairement être très détaillée, comme le montre l'image de gauche (grue), alors que la texture de droite (bouclier) comporte des détails uniques et significatifs.

vv-albedo-texture
Extrait de la carte diffuse de la grue peinte avec des couleurs et des intensités de bois brut. Contient une quantité modeste de détails. Image de droite : Bouclier Texture diffuse avec un niveau de détail unique plus élevé (ppi).
image09
Valeur diffuse (pas de texture) pour le matériau de la grue

- spéculaire : Les non-métaux (isolants) sont comparativement sombres et en niveaux de gris, tandis que les valeurs des métaux sont brillantes et peuvent être colorées (rappelez-vous que la rouille, l'huile et la saleté sur un métal ne sont pas métalliques). Specular (spéculaire) pour la surface du bois ne bénéficiant pas d'une texture spéculaire, une valeur a été utilisée au lieu d'entrer une carte.

image07
Valeurs spéculaires de la grue pour le bois.
Screen-Shot-2015-02-17-at-17.40.23
Carte spéculaire de la grue pour le métal (sans utiliser le nuanceur métallique). C'est vrai : Bouclier Texture spéculaire.

- La douceur est un élément clé des matériaux PBS. Il apporte des variations, des imperfections et des détails aux surfaces et aide à représenter leur état et leur âge. Dans le cas de la grue, il s'est avéré que l'aspect lisse était relativement constant sur toute la surface et a donc été remplacé par une valeur. Cela a permis d'obtenir un gain raisonnable de mémoire de texture.

image05
Valeurs de lissage de la grue pour le bois. Aucune texture n'est nécessaire !
Screen-Shot-2015-02-17-at-17.51.13
Carte de lissage de la grue pour le métal (sans utiliser le shader métallique). C'est vrai : Shield Smoothness map with mixed metal and wood surfaces.Crane Smoothness map for metal (not using metallic shader). C'est vrai : Carte de lissage du bouclier avec des surfaces mixtes en métal et en bois.

- L'occlusion indique le degré d'exposition des différents points de la surface à la lumière de l'environnement. L'occlusion ambiante fait ressortir les détails de la surface et la profondeur en atténuant la lumière ambiante et les reflets dans les zones où il y a peu de lumière indirecte. N'oubliez pas qu'il est également possible d'utiliser SSAO (Screen Space Ambient Occlusion) dans votre scène. L'utilisation de SSAO et d'AO peut entraîner un double assombrissement de certaines zones, auquel cas vous pouvez envisager de traiter la carte AO comme une carte de cavité.


Une carte d'OA qui mettrait l'accent sur les fissures et les plis profonds peut être la meilleure option si le jeu utilise SSAO et/ou l'Occlusion Ambiante en mode lumière.

image01
1 Lightmapped AO, 2 : Texture d'occlusion, 3 : Occlusion diffuse, 4 : Effet d'image SSAO

Textures secondaires et résolution


Les textures secondaires peuvent être utilisées pour augmenter le niveau de détail ou apporter des variations au sein du matériau. Ils peuvent être masqués à l'aide de la propriété Masque de détail.

En raison de la faible résolution de la texture primaire diffuse du bois dans l'exemple de la grue, le jeu de textures secondaires est crucial. Il permet d'ajouter des détails fins à la surface finale. Dans le cas présent, les cartes détaillées sont en mosaïque et ont une résolution raisonnablement faible. Ils sont répétés sur de nombreuses autres surfaces en bois, ce qui permet d'économiser une grande partie de la mémoire des textures.

image20
Les cartes secondaires d'albédo et de normalité compensent la faible résolution de la carte principale diffuse et normale. Ces deux textures réduisent la mémoire texturale globale en étant largement "superposées" et carrelées sur les surfaces en bois dans tout le village. Soyez prudent lorsque vous fournissez des informations sur l'éclairage à une carte détaillée diffuse, car cela a un effet similaire à celui de l'ajout de telles informations à une carte diffuse primaire.
image16
Surface en bois de grue avec (à gauche) et sans (à droite) cartes de texture secondaires.

Ces flux de travail nous ont certainement aidés à concevoir le projet Viking Village. Nous espérons que vous les trouverez également utiles et nous nous réjouissons de lire vos commentaires !

Remerciements


Le projet Viking Village a été lancé en partenariat avec l'équipe créative de Quixel, développeur de la technologie de capture de surface HDR et de la bibliothèque de textures Quixel Megascans prête pour PBS.

Un grand merci aux très talentueux Emmanuel "Manu" Tavares et Plamen "Paco" Tamnev pour avoir donné vie à cette scène.

Téléchargez le projet dans l'Asset Store. Sachez qu'il est optimisé pour Unity 5.0.0 RC2.