Difference between revisions of "Les matériaux PBR"
((Removed reference to PBRLowEndGraphicsSettingText.png until we can update it with the latest version in the release viewer.)) |
|||
(49 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{multi-lang|1= | {{multi-lang|1=PBR_Materials|2=/fr}} | ||
'''Physically Based Rendering''' | |||
{{note|1=Cette page est activement mise à jour avec du nouveau contenu et des liens au fur et à mesure de la publication des matériaux PBR GLTF et des nouvelles fonctionnalités associées. Les contributions à cette page peuvent provenir aussi bien des résidents de Second Life que des membres du personnel..}} | |||
[[Category:glTF]] | [[Category:glTF]] | ||
Line 11: | Line 14: | ||
Parce que le fait de lier les mathématiques pour simuler des matériaux dans des espaces virtuels à la façon dont ils se comportent dans le monde réel rend les choses plus immédiatement reconnaissables, le PBR est devenue la base de la création de mondes imaginaires au cours de la dernière décennie. La brillance métallique des armures exosquelettiques dans les films de super-héros est produite par un flux de travail PBR, tout comme la brillance du plastique des jouets ou le scintillement de la glace dans les classiques de l'animation. Aujourd'hui, nous nous apprêtons à apporter cette qualité normalisée au sein même de Second Life. | Parce que le fait de lier les mathématiques pour simuler des matériaux dans des espaces virtuels à la façon dont ils se comportent dans le monde réel rend les choses plus immédiatement reconnaissables, le PBR est devenue la base de la création de mondes imaginaires au cours de la dernière décennie. La brillance métallique des armures exosquelettiques dans les films de super-héros est produite par un flux de travail PBR, tout comme la brillance du plastique des jouets ou le scintillement de la glace dans les classiques de l'animation. Aujourd'hui, nous nous apprêtons à apporter cette qualité normalisée au sein même de Second Life. | ||
L'introduction du PBR dans Second Life implique la mise à jour des calculs de base sur la façon dont la lumière est représentée et interagit avec le monde de Second Life. L'objectif est d'intégrer ces changements tout en modifiant le moins possible tout ce qui existe actuellement dans Second Life | L'introduction du PBR dans Second Life implique la mise à jour des calculs de base sur la façon dont la lumière est représentée et interagit avec le monde de Second Life. L'objectif est d'intégrer ces changements tout en modifiant le moins possible la façon dont tout ce qui existe actuellement dans Second Life (conçu avant l'introduction du PBR) s'affiche. Bien que la préservation de l'intention créative et de l'attrait esthétique des objets que les utilisateurs apprécient depuis plus de deux décennies dans Second Life soit toujours une priorité, Second Life est une plateforme en constante évolution et, pour continuer dans cette voie, certains changements sont inévitables. | ||
Enfin, bien que nous essayions de reproduire les réflexions et les propriétés des matériaux du monde réel, Second Life doit fonctionner sur une grande variété d'appareils, ce qui oblige à prendre des raccourcis. Les reflets ne sont pas parfaits, comme l'ont souvent espéré et demandé depuis longtemps les résidents. Si l'ajout d'un système de réflexion nous rapproche des rêves de miroirs sans distorsion pour nos avatars dans Second Life, les miroirs ne sont malheureusement pas encore, pour l'instant, réalisables en raison des calculs nécessaires à la réalisation de réflexions parfaites. Veuillez consulter la note dans la [[#Understanding_and_Assisting_the_New_Reflections_System|section ci-dessous]] pour plus d'informations. | Enfin, bien que nous essayions de reproduire les réflexions et les propriétés des matériaux du monde réel, Second Life doit fonctionner sur une grande variété d'appareils, ce qui oblige à prendre des raccourcis. Les reflets ne sont pas parfaits, comme l'ont souvent espéré et demandé depuis longtemps les résidents. Si l'ajout d'un système de réflexion nous rapproche des rêves de miroirs sans distorsion pour nos avatars dans Second Life, les miroirs ne sont malheureusement pas encore, pour l'instant, réalisables en raison des calculs nécessaires à la réalisation de réflexions parfaites. Veuillez consulter la note dans la [[#Understanding_and_Assisting_the_New_Reflections_System|section ci-dessous]] pour plus d'informations. | ||
== Qu'est-ce que cela signifie pour les résidents ? == | == Qu'est-ce que cela signifie pour les résidents ? == | ||
[[File:PrePostPBR.png | thumb | right | La lampe sur cette capture d'écran utilise Blinn-Phong (matériaux SL classiques), et a été créée avant l'intégration de PBR dans SL ; elle montre certaines des différences visuelles par rapport au contenu existant. L'environnement utilisé pour la capture d'écran est le préréglage par défaut de la visionneuse pour Midi (notez que la visionneuse PBR dispose d'un nouveau préréglage pour Midi). | [[File:PrePostPBR.png | thumb | right | La lampe sur cette capture d'écran utilise [[PBR_Materials#Nomenclature_changes|Blinn-Phong]] (matériaux SL classiques), et a été créée avant l'intégration de PBR dans SL ; elle montre certaines des différences visuelles par rapport au contenu existant. L'environnement utilisé pour la capture d'écran est le préréglage par défaut de la visionneuse pour Midi (notez que la visionneuse PBR dispose d'un nouveau préréglage pour Midi). | ||
]] | ]] | ||
=== | === Changement concernant le contenu existant === | ||
Le changement le plus important est de loin l'ajout d'un système de réflexion environnemental à Second Life. Pour la plupart des objets existants, ce changement ne devrait pas avoir d'impact drastique et immédiatement observable. Certains objets déjà présents dans votre inventaire peuvent apparaître plus réfléchissants avec la nouvelle configuration graphique, et ces reflets devraient être plus réalistes et immersifs dans votre environnement actuel. En règle générale, plus un objet était "brillant" auparavant, plus il captera les reflets de l'environnement et plus la différence visuelle sera importante. | Le changement le plus important est de loin l'ajout d'un système de réflexion environnemental à Second Life. Pour la plupart des objets existants, ce changement ne devrait pas avoir d'impact drastique et immédiatement observable. Certains objets déjà présents dans votre inventaire peuvent apparaître plus réfléchissants avec la nouvelle configuration graphique, et ces reflets devraient être plus réalistes et immersifs dans votre environnement actuel. En règle générale, plus un objet était "brillant" auparavant, plus il captera les reflets de l'environnement et plus la différence visuelle sera importante. | ||
Un autre changement notable est l'ajout de [https://fr.wikipedia.org/wiki/Mappage_ton_local Mappage ton local] à la visionneuse. Le mappage des tons est un moyen de représenter une image avec une gamme dynamique native plus élevée que celle que l'écran peut supporter | Un autre changement notable est l'ajout de [https://fr.wikipedia.org/wiki/Mappage_ton_local Mappage ton local] à la visionneuse. Le mappage des tons est un moyen de représenter une image avec une gamme dynamique native plus élevée que celle que l'écran peut supporter. Le mappage des tons est une exigence de facto des pipelines PBR. Cela signifie que les couleurs dans Second Life apparaîtront généralement plus saturées avec moins de détails perdus dans les ombres et les hautes lumières. | ||
[https://modelviewer.dev/examples/color.html Cliquez ici pour obtenir des informations complémentaires sur le sujet.] | |||
Le procédé de mappage des tons utilisé s'appelle '''Academy Color Encoding System ('''aka''' "ACES")''', et peut être étudié [https://www.oscars.org/science-technology/sci-tech-projects/aces ici] et [https://docs.nvidia.com/gameworks/index.html#devices/shield-hdr-dev-guide/hdr-dev-guide-nvidia-shield.htm là]. | |||
Le | Le contenu de [[PBR_Materials#Nomenclature_changes|Blinn-Phong]] utilisant les paramètres Spéculaire peut sembler différent si les objets n'ont jamais été vus sous un éclairage local, car la visionneuse PBR permet à l'environnement (soleil ''et'' ciel) de contribuer aux reflets spéculaires. Ainsi, si l'objet reçoit des réflexions spéculaires bleues du ciel, ces réflexions sont teintées et peuvent sembler bizarres. Cet effet est le même que dans les visionneuses précédentes, comme si l'objet était éclairé par une lumière locale bleue. | ||
=== Suppression de l'option graphique du mode d'éclairage avancé (ALM) === | === Suppression de l'option graphique du mode d'éclairage avancé (ALM) === | ||
Les options | Les options '''Graphiques > Paramètres avancés''' ont également été modifiées. Le changement le plus notable est la suppression des options "Shaders atmosphériques", "Éclairage local" et "Éclairage avancé". | ||
Pour les utilisateurs de machines bas de gamme qui dépendent fortement de ces options pour naviguer dans Second Life avec un taux de rafraîchissement acceptable, nous recommandons les paramètres suivants : | Pour les utilisateurs de machines bas de gamme qui dépendent fortement de ces options pour naviguer dans Second Life avec un taux de rafraîchissement acceptable, nous recommandons les paramètres suivants : | ||
*{{code|Eau transparente : | *{{code|Eau transparente : Désactivée}} | ||
*{{code|Occulusion ambiante : | *{{code|Occulusion ambiante : Désactivée}} | ||
*{{code|Ombres : | *{{code|Ombres : Aucunes}} | ||
*{{code|Screen Space Reflections : | *{{code|Screen Space Reflections : Désactivée}} | ||
*{{code|Reflection Detail : | *{{code|Reflection Detail : Static Only}} | ||
*{{code|Reflection Coverage: | *{{code|Reflection Coverage: Manual only}} | ||
Le paramètre {{code|Éclairage local}} a été remplacé par des mises à jour des options du curseur '''Monde > Improve graphics speed... > Graphics settings''' "Quality & Speed". Ainsi, les utilisateurs de matériel bas de gamme doivent s'assurer que le curseur graphique " Qualité et vitesse " est réglé à un niveau approprié pour leur matériel. | |||
== Qu'est-ce que cela signifie pour les créateurs ? == | == Qu'est-ce que cela signifie pour les créateurs ? == | ||
=== Changements de nomenclature === | === Changements de nomenclature === | ||
Le projet PBR représente un grand pas vers l'intégration des techniques de rendu standard utilisées dans l'industrie des jeux. De ce fait, la nomenclature de certains éléments a changé, par exemple, ce qui était appelé | Le projet PBR représente un grand pas vers l'intégration des techniques de rendu standard utilisées dans l'industrie des jeux. De ce fait, la nomenclature de certains éléments a changé, par exemple, ce qui était appelé [[:Category:Materials|Matériaux]] est maintenant appelé ''' Blinn-Phong '''. Cela ne représente aucune modification des techniques de rendu sous-jacentes (en dehors de celles mentionnées ci-dessus) ; et en tant que tel, Blinn-Phong "n'est pas" identique aux flux de travail PBR Spec/Gloss, vus dans certains moteurs de jeu tels que Unity. | ||
=== Importation de matériaux PBR à partir d'un logiciel externe : === | === Importation de matériaux PBR à partir d'un logiciel externe : === | ||
Les créateurs qui travaillent avec des outils externes tels que Blender, Adobe Substance Painter, Cinema4D, 3D-Coat, ou qui ont utilisé les moteurs de jeu Unreal ou Godot, devraient déjà connaître l'utilisation des jeux de textures PBR. En fait, certains créateurs ont utilisé des outils qui utilisent des flux de travail PBR pour créer du contenu pour Second Life et ont ensuite été contraints de sacrifier la qualité visuelle pour convertir ces informations dans le système de matériaux Blinn | Les créateurs qui travaillent avec des outils externes tels que Blender, Adobe Substance Painter, Cinema4D, 3D-Coat, ou qui ont utilisé les moteurs de jeu Unreal ou Godot, devraient déjà connaître l'utilisation des jeux de textures PBR. En fait, certains créateurs ont utilisé des outils qui utilisent des flux de travail PBR pour créer du contenu pour Second Life et ont donc ensuite été contraints de sacrifier la qualité visuelle pour convertir ces informations dans le système de matériaux Blinn-Phong existant de Second Life. | ||
Second Life adopte le modèle PBR "Metallic / Roughness" et, dans le cadre de son engagement permanent à utiliser des normes Open Source chaque fois que cela est possible, le format de fichier glTF 2.0 a été choisi comme format de téléchargement pour les matériaux PBR. L'un des principaux objectifs de la mise en œuvre des matériaux PBR est d'assurer une plus grande continuité entre les applications de création de contenu et Second Life, et d'obtenir un comportement plus cohérent du contenu une fois qu'il est placé dans le monde. | |||
=== Utiliser des matériaux importés dans Second Life === | === Utiliser des matériaux importés dans Second Life === | ||
Pour les personnes qui construisent exclusivement dans Second Life, l'ajout de PBR signifie également qu'il y aura un nouveau | [[File:Editing_Material.jpg|thumb|right|Material Editing]] | ||
Pour les personnes qui construisent exclusivement dans Second Life, l'ajout de PBR signifie également qu'il y aura un nouveau [[LlGetInventoryType|Inventory Type]] appelé "Matériau". Ces nouveaux "matériaux" peuvent être achetés sur la place du marché et échangés comme n'importe quelle autre objet autorisé dans Second Life. | |||
Les matériaux PBR se présentent sous la forme d'un paquet de textures | Les matériaux PBR se présentent sous la forme d'un paquet de textures. Ils se présentent comme une seule entité et sont appliqués en une seule fois. Pour modifier la teinte, la transparence ou d'autres paramètres similaires du matériau, vous devez modifier Matériau dans la fenêtre "Editing Material". | ||
{{KBcaution|Les mesh | {{KBcaution|Les mesh chargés après la publication du PBR auront un aspect légèrement différent (et plus précis dans l'éditeur de votre choix) en raison d'un changement dans la manière dont Second Life gère les éléments des mesh (auparavant, des données nécessaires pour une génération précise des tangentes étaient supprimées au moment du chargement - ce n'est plus le cas). Cela signifie qu'un matériau PBR appliqué à un mesh chargé avant le lancement du PBR (28 Novembre 2023) peut paraître incorrect; un simple rechargement du mesh résoudra le problème. '''Ce n'est pas obligatoire, mais recommandé.'''}} | ||
L'application de matériaux existants fonctionne de la même manière que les textures existantes | L'application de matériaux existants fonctionne de la même manière que les textures existantes. Vous disposez de deux moyens pour ce faire : | ||
==== Glisser-déposer ==== | ==== Glisser-déposer ==== | ||
Il suffit de glisser-déposer sur la face d'une prim ou d'un mesh. | Il suffit de glisser-déposer sur la face d'une prim ou d'un mesh. Par exemple, si vous avez un matériau de sol carrelé et que vous le placez sur un cube, la face de ce cube ressemblera désormais à un sol carrelé et réfléchira la lumière comme le ferait un sol carrelé avec toutes les qualités matérielles contenues dans le matériau. | ||
[[File:DragAndDrop_Mat_Wiki.png | thumb | none | | [[File:DragAndDrop_Mat_Wiki.png | thumb | none | Fonctionnalité de Glisser/Déposer.]] | ||
==== Passer à PBR et sélectionner à partir de l'inventaire ==== | ==== Passer à PBR et sélectionner à partir de l'inventaire ==== | ||
Vous pouvez également sélectionner une face du prim ou du mesh auquel vous souhaitez appliquer votre matériau puis choisir le menu déroulant "Blinn-Phong" et le changer en "PBR Metallic Roughness", puis sélectionner " Choisir un élément de votre inventaire " et l'appliquer. | Vous pouvez également sélectionner une face du prim ou du mesh auquel vous souhaitez appliquer votre matériau puis choisir le menu déroulant "Blinn-Phong" et le changer en "PBR Metallic Roughness", puis sélectionner " Choisir un élément de votre inventaire " et l'appliquer. | ||
[[File: | [[File:PBRSelectorV3.png |left | thumb | none | Démonstration du menu déroulant.]] | ||
[[File:Material_Dropdown.jpg|thumb|none|Menu déroulant à partir de v7.0.1.689]] | |||
<br clear=all> | |||
==== Transformations de textures ==== | |||
Avec les matériaux PBR, les transformations de texture fonctionnent d'une manière légèrement différente des transformations de Blinn-Phong. Blinn-Phong (et OpenGL) a l'origine de la texture dans le coin inférieur gauche de la texture, alors que les matériaux glTF (et Vulkan) ont l'origine de la texture dans le <b>coin supérieur gauche</b>. | |||
Cela signifie que les matériaux PBR réagissent différemment (ils sont inversés sur l'axe Y (glTF v)) que les matériaux Blinn-Phong. | |||
Pour une solution simple permettant de convertir une transformation de texture Blinn-Phong en une transformation de texture PBR, veuillez vous reporter à [https://community.secondlife.com/forums/topic/507448-lsl-math-for-gltf-transformation/?do=findComment&comment=2678959 ce fil de discussion]. | |||
Pour plus d'informations, [https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#images voir ici] et [https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_texture_transform ici]. | |||
=== Media-on-a-Prim === | === Media-on-a-Prim === | ||
Les médias sur les primitives continueront à largement fonctionner de la même façon qu'avant le lancement du PBR. Lors de l'utilisation d'un MOAP sur la face d'une primitive avec une texture PBR, il fonctionnera comme si la texture du média avait la priorité sur les couches '''Couleur de base''' et '''Émissive'''. Notez que la couche Émissive est ignorée, mais que la couleur de celle-ci ne l'est pas (donc, pour désactiver la couche émissive, vous pouvez mettre la couleur émissive en noir <0,0,0>). | Les médias sur les primitives continueront à largement fonctionner de la même façon qu'avant le lancement du PBR. Lors de l'utilisation d'un MOAP sur la face d'une primitive avec une texture PBR, il fonctionnera comme si la texture du média avait la priorité sur les couches '''Couleur de base''' et '''Émissive'''. Notez que la couche Émissive est ignorée, mais que la couleur de celle-ci ne l'est pas (donc, pour désactiver la couche émissive, vous pouvez mettre la couleur émissive en noir <0,0,0>). | ||
== Tutoriels == | == Outils & Tutoriels == | ||
Comme le système PBR est nouveau, on s'attend à ce que les utilisateurs existants ne sachent pas très bien comment tout cela fonctionne. C'est pourquoi Linden Lab et des tiers | Comme le système PBR est nouveau, on s'attend à ce que les utilisateurs existants ne sachent pas très bien comment tout cela fonctionne. C'est pourquoi Linden Lab et des tiers proposent des tutoriels et des vidéos d'information : | ||
*'''[https://www.youtube.com/watch?v=JtjGf06B8ZA Second Life University - PBR Materials]''' | *'''[https://www.youtube.com/watch?v=JtjGf06B8ZA Second Life University - PBR Materials]''' | ||
*'''[https://www.youtube.com/watch?v=BJ1eRTlWDYk Second Life University - How to create PBR Materials]''' | *'''[https://www.youtube.com/watch?v=BJ1eRTlWDYk Second Life University - How to create PBR Materials]''' | ||
*'''[https://substance3d.adobe.com/tutorials/courses/pbrguide Allegorithmic (Adobe) PBR Guide]''' | *'''[https://substance3d.adobe.com/tutorials/courses/pbrguide Allegorithmic (Adobe) PBR Guide]''' | ||
Les tutoriels ci-dessus requièrent une connaissance et un accès à Substance Painter d'Adobe (logiciel sur abonnement chez Adobe ou à l'achat sur Steam). Voici quelques liens pour des outils open source et des tutoriels vidéo trouvés sur Google en tapant "Blender", "glTF" ( nécessite Blender 3.3) | |||
*'''[https://materialmaker.org Material Maker software]''' | |||
*'''[https://aiaicapta.in/gltf-packer/ glTF Packer]''' | |||
*'''[https://armorpaint.org Armorpaint]''' | |||
*'''[https://armorlab.org Armorlab]''' | |||
*'''[https://youtu.be/KTPdNUGwIGc glTF Blender Tutorial]''' | |||
*'''[https://youtu.be/p7OPRoT6FkY Exporting glTF Alpha Textures]''' | |||
== Textures PBR et visionneuses obsolètes == | == Textures PBR et visionneuses obsolètes == | ||
Il convient de mentionner que pendant la période d'adoption d'un nouveau système, une grande partie des résidents de Second Life voient le monde par l'intermédiaire de visionneuses tierces et de solutions de visionnage mobiles qui n'auront pas été mises à jour pour être en mesure de voir le nouveau contenu. Toute personne visualisant un matériau PBR sur une visionneuse qui ne peut pas l'afficher verra la texture non PBR "sous-jacente". Par défaut, il s'agit d'une boîte en pin ou d'une texture complètement vierge. Ceux qui souhaitent que leur contenu soit visible par le plus grand nombre de personnes possible pourraient envisager de créer une texture Diffuse (avec un éclairage créé, le genre qui est facilement généré avec des outils comme le "Baked Lighting Filter" de Substance Painter) et de l'appliquer comme une simple texture à l'objet sur lequel ils placent le matériau PBR, avant d'appliquer le matériau PBR. Bien qu'il s'agisse d'une étape supplémentaire dans la création de contenu et que cela complique quelque peu les choses, si vous souhaitez que votre contenu soit apprécié de tous, cela vaut la peine d'envisager d'ajouter cette étape supplémentaire à votre flux de travail. Les personnes qui conçoivent des matériaux PBR destinés à la distribution et à la vente pourraient également envisager de proposer une texture "Diffuse de secours" pour accompagner le matériau PBR, spécifiquement pour les personnes qui ne peuvent pas voir le contenu PBR. | Il convient de mentionner que pendant la période d'adoption d'un nouveau système, une grande partie des résidents de Second Life voient le monde par l'intermédiaire de visionneuses tierces et de solutions de visionnage mobiles qui n'auront pas été mises à jour pour être en mesure de voir le nouveau contenu. Toute personne visualisant un matériau PBR sur une visionneuse qui ne peut pas l'afficher verra la texture non PBR "sous-jacente". Par défaut, il s'agit d'une boîte en pin ou d'une texture complètement vierge. Ceux qui souhaitent que leur contenu soit visible par le plus grand nombre de personnes possible pourraient envisager de créer une texture Diffuse (avec un éclairage créé, le genre qui est facilement généré avec des outils comme le "Baked Lighting Filter" de Substance Painter) et de l'appliquer comme une simple texture à l'objet sur lequel ils placent le matériau PBR, avant d'appliquer le matériau PBR. Bien qu'il s'agisse d'une étape supplémentaire dans la création de contenu et que cela complique quelque peu les choses, si vous souhaitez que votre contenu soit apprécié de tous, cela vaut la peine d'envisager d'ajouter cette étape supplémentaire à votre flux de travail. Les personnes qui conçoivent des matériaux PBR destinés à la distribution et à la vente pourraient également envisager de proposer une texture "Diffuse de secours" pour accompagner le matériau PBR, spécifiquement pour les personnes qui ne peuvent pas voir le contenu PBR. | ||
{{KBcaution|Une fois qu'un matériau PBR est appliqué, les textures Blinn-Phong ne peuvent pas être mises à jour. Pour y remédier, supprimez le matériau PBR, modifiez les textures Blinn-Phong, puis appliquez à nouveau le matériau PBR.}} | |||
== Comprendre et aider le nouveau système de réflexion == | == Comprendre et aider le nouveau système de réflexion == | ||
Les créateurs qui travaillent à l'échelle d'une maison ou qui produisent des objets que l'on peut traverser peuvent mieux contrôler l'éclairage dans leurs créations en prenant le temps de bien comprendre le nouvel ensemble d'outils qui influencent les réflections de l'environnement. Il existe un nouveau type de volume qui peut être créé et ajouté aux ensembles d'objets liés spécifiquement pour les scènes comportant ce type d'espaces. Ces volumes définissent une zone personnalisée dans laquelle les réflexions sont calculées, en remplacement de la configuration par défaut. Les " sphères de réflexion " doivent être placées de manière à ce que " le plus petit nombre de sphères remplisse le plus grand espace possible avec un minimum de chevauchement ". Une sphère par pièce est un bon point de référence pour un espace de vie général tel qu'une maison. Si plusieurs sphères sont présentes dans une zone donnée, elles peuvent provoquer des artefacts visuels et avoir un impact négatif sur les performances (également connu sous le nom de "viewer lag" ou "retard de visualisation"). '''''Ne fixez pas les sphères de réflexion à de petites créations telles que des meubles ou des objets décoratifs.''''' Les petits objets tels que les tables, les chaises, les instruments de musique, les bâtons de bougie, etc. doivent utiliser la réflexion du volume de la pièce dans laquelle ils sont placés. Ils ne devraient pas en avoir un ajouté. Il est "vivement" recommandé de laisser " modifiable " tout objet contenant une sphère de réflexion, de manière à ce que le propriétaire de l'objet puisse ajuster le positionnement de la sphère ou même l'enlever s'il le souhaite. | Les créateurs qui travaillent à l'échelle d'une maison ou qui produisent des objets que l'on peut traverser peuvent mieux contrôler l'éclairage dans leurs créations en prenant le temps de bien comprendre le nouvel ensemble d'outils qui influencent les réflections de l'environnement. Il existe un nouveau type de volume qui peut être créé et ajouté aux ensembles d'objets liés spécifiquement pour les scènes comportant ce type d'espaces. Ces volumes définissent une zone personnalisée dans laquelle les réflexions sont calculées, en remplacement de la configuration par défaut. Les " sphères de réflexion " doivent être placées de manière à ce que " le plus petit nombre de sphères remplisse le plus grand espace possible avec un minimum de chevauchement ". Une sphère par pièce est un bon point de référence pour un espace de vie général tel qu'une maison. Si plusieurs sphères sont présentes dans une zone donnée, elles peuvent provoquer des artefacts visuels et avoir un impact négatif sur les performances (également connu sous le nom de "viewer lag" ou "retard de visualisation"). '''''Ne fixez pas les sphères de réflexion à de petites créations telles que des meubles ou des objets décoratifs.''''' Les petits objets tels que les tables, les chaises, les instruments de musique, les bâtons de bougie, etc. doivent utiliser la réflexion du volume de la pièce dans laquelle ils sont placés. Ils ne devraient pas en avoir un ajouté. Il est "vivement" recommandé de laisser " modifiable " tout objet contenant une sphère de réflexion, de manière à ce que le propriétaire de l'objet puisse ajuster le positionnement de la sphère ou même l'enlever s'il le souhaite. | ||
{{Enote|Les | {{Enote|Les sondes de réflexion ne sont pas conçues pour être utilisées avec des miroirs planaires, et leur aspect sera incorrect si elles sont utilisées à cette fin. Les miroirs planaires ont été mentionnés comme devant faire l'objet de futurs travaux, mais ils ne font pas directement partie du champ d'application du projet PBR.}} | ||
<!-- This image has been removed from public view as it is factually incorrect; as it references the blue tint on the floor as originating from the ocean, and not the sky. Note that the public project viewer currently also has a bug wherein the sky contribution on objects is too powerful; this has since been fixed however a public build containing the fix is yet to be released. [[File:ProblePlacementDemo_v.png | right | A visual demonstration of how manual probes interact with the surrounding environment and enhance it.]] --> | <!-- This image has been removed from public view as it is factually incorrect; as it references the blue tint on the floor as originating from the ocean, and not the sky. Note that the public project viewer currently also has a bug wherein the sky contribution on objects is too powerful; this has since been fixed however a public build containing the fix is yet to be released. [[File:ProblePlacementDemo_v.png | right | A visual demonstration of how manual probes interact with the surrounding environment and enhance it.]] --> | ||
== Quand est-il recommandé de créer une | == Quand est-il recommandé de créer une sonde de réflexion ? == | ||
Les | Les sondes placées manuellement permettent d'éliminer les parasites et les éclairages indésirables des sphères placées automatiquement, qui peuvent perturber ou troubler l'image. Si vous regardez l'image de la pièce d'une maison, sur le côté gauche, vous pouvez voir une teinte bleue sur le sol, qui correspond à la lumière bleue réfléchie par le ciel. La sonde remplissant la moitié de la pièce bloque ce phénomène, et lorsqu'elle est étendue pour remplir complètement la pièce en dépassant légèrement l'épaisseur des murs, (copie de l'image ci-dessous) le problème est résolu. La sonde ne doit pas nécessairement faire partie de l'ensemble d’objets liés du reste de la pièce pour fonctionner ; cependant, une fois qu'elle est placée, il est possible de l'ajouter à l'ensemble d’objets liés comme n'importe quelle autre primitive. | ||
=== Construction d'un volume de réflexion ( | === Construction d'un volume de réflexion ( aka Sphère de réflexion ) === | ||
Commencer par la fenêtre Construire ''(Ctrl+3)'' en rezzant une primitive de base. Sous l'onglet <code>Attributs</code>, en bas, cochez la case intitulée <code>Reflection Probe</code>. | Commencer par la fenêtre Construire ''(Ctrl+3)'' en rezzant une primitive de base. Sous l'onglet <code>Attributs</code>, en bas, cochez la case intitulée <code>Reflection Probe</code>. | ||
[[File:ProbeUI.jpg | thumb | none | Manual Probe Creation UI.]] | [[File:ProbeUI.jpg | thumb | none | Manual Probe Creation UI.]] | ||
* Reflection Probe : L'activation de cette option crée un volume d'échantillonnage par réflexion dans la boîte de délimitation de la prim. | * <code>Reflection Probe</code> : L'activation de cette option crée un volume d'échantillonnage par réflexion dans la boîte de délimitation de la prim. | ||
* Liste déroulante boîte / sphère: Choisissez si vous souhaitez que cet échantillonneur projette des reflets dans un volume en forme de boîte ou dans un volume sphérique. | * <code>Liste déroulante boîte / sphère</code> : Choisissez si vous souhaitez que cet échantillonneur projette des reflets dans un volume en forme de boîte ou dans un volume sphérique. | ||
* Dynamique : | * <code>Dynamique</code> : Permet de capturer dans le reflet des objets skinnés (par exemple des avatars, des animesh, etc.). | ||
* Ambiance : Affecte le niveau d'éclairage des objets situés dans le volume, comme s'ils étaient frappés par une lumière réfléchie provenant d'une illumination indirecte simulée. | * <code>Ambiance</code> : Affecte le niveau d'éclairage des objets situés dans le volume, comme s'ils étaient frappés par une lumière réfléchie provenant d'une illumination indirecte simulée. Voir [[PBR_Materials#Fine-Tuning_Reflection_Sample_Volumes|"Fine-Tuning Reflection Sample Volumes"]] pour plus d'informations. | ||
* Near Clip : Parfois, il y a un obstacle important au centre du volume que vous souhaitez utiliser comme source de reflets. Supposons, par exemple, qu'il y ait une grande structure architecturale au milieu de la pièce, telle qu'une colonne | * <code>Near Clip</code> : Parfois, il y a un obstacle important au centre du volume que vous souhaitez utiliser comme source de reflets. Supposons, par exemple, qu'il y ait une grande structure architecturale au milieu de la pièce, telle qu'une colonne. Si la source est placée à l'intérieur de la colonne, elle reflétera la surface interne de la colonne au lieu de la pièce dans laquelle elle est placée. En augmentant Near Clip, le volume d'échantillonnage exclut les objets situés à n mètres du centre afin qu'ils ne soient pas inclus dans les reflets. Voir [[PBR_Materials#Fine-Tuning_Reflection_Sample_Volumes|"Fine-Tuning Reflection Sample Volumes"]] pour plus d'informations. | ||
Sélectionnez une forme de probe appropriée à votre scène. Par exemple, si vous voulez créer une source de reflets qui couvre une pièce, sélectionnez une forme <code>Box</code>, ou pour d'autres objets une forme <code>Sphere</code> est recommandée. | Sélectionnez une forme de probe appropriée à votre scène. Par exemple, si vous voulez créer une source de reflets qui couvre une pièce, sélectionnez une forme <code>Box</code>, ou pour d'autres objets une forme <code>Sphere</code> est recommandée. | ||
Line 106: | Line 135: | ||
=== Ajustement des volumes d'échantillons de réflexion === | === Ajustement des volumes d'échantillons de réflexion === | ||
Les volumes d'échantillons ne réagissent pas aux changements de paramètres de la primitive | {{KBwarning|Les volumes d'échantillons ne réagissent pas aux changements de paramètres de la primitive. Les options telles que "Creux", « Biseautage" ou « Inclinaison" ne modifient pas le comportement de la zone d'échantillonnage.}} | ||
* | |||
Cela dit, il peut cependant être utile de visualiser le <code>near clip</code> comme le creusement du volume de l'échantillon de réflexion, mais le creux et le near clip ne sont en aucun cas liés et il s'agit là d'une simple commodité. Les volumes du reflection probe ne réagissent qu'aux changements d'échelle et de position ; cependant, les différents volumes du reflection probe se comportent différemment lorsqu'ils sont redimensionnés. | |||
* Sondes <code>Boîtes</code> : Elles sont affectées par la position et l'échelle non uniforme. | |||
Exemple : Si je crée un reflection probe dans une boîte et que je la mets à l'échelle (10 m, 30 m, 10 m), le volume entier sera affecté par le probe. | Exemple : Si je crée un reflection probe dans une boîte et que je la mets à l'échelle (10 m, 30 m, 10 m), le volume entier sera affecté par le probe. | ||
* | * Sondes <code>Sphère</code> : Elles ne sont affectées que par la position et l'échelle '''uniforme''', sinon la plus petite dimension est utilisée. | ||
Exemple : Si je crée un probe sphérique et que je le dimensionne à 10m, 30m et 10m, le probe échantillonnera un volume sphérique de 10 mètres de diamètre au centre de la sonde. En revanche, une sphère de 30 m, 30 m et 30 m créera un volume d'échantillonnage d'une sphère de 30 mètres de diamètre. | Exemple : Si je crée un probe sphérique et que je le dimensionne à 10m, 30m et 10m, le probe échantillonnera un volume sphérique de 10 mètres de diamètre au centre de la sonde. En revanche, une sphère de 30 m, 30 m et 30 m créera un volume d'échantillonnage d'une sphère de 30 mètres de diamètre. | ||
[[File:SphereProbeErrror.jpg | thumb | none | Schéma du fonctionnement des | [[File:SphereProbeErrror.jpg | thumb | none | Schéma du fonctionnement (ou du fonctionnement que vous n'avez pas prévu) des sondes sphériques lorsque leur échelle n'est pas uniforme.]] | ||
<code>Ambiance de la sonde de réflexion</code> contrôle la façon dont la lumière ambiante (trouvée dans votre [[Environmental_Enhancement_Project#EEP_Settings_Objects|environment preset]]) affecte, ou n'affecte pas, le contenu de la sonde de réflexion, et l'intensité de l'éclairage indirect (aka Irradiance). | |||
Cette valeur est influencée par la valeur <code>Ambiance de la Sonde de Réflexion</code> trouvée dans le [[Environmental_Enhancement_Project#EEP_Settings_Objects|environment preset]] de l'utilisateur, où si la valeur d'Ambiance donnée dans le [[Environmental_Enhancement_Project#EEP_Settings_Objects|environment preset]] est plus élevée que la valeur définie par la sonde elle-même, elle hérite de la valeur d'ambiance de la [[Environmental_Enhancement_Project#EEP_Settings_Objects|environment preset]], ou bien si la valeur d'ambiance définie par la sonde est supérieure, c'est la valeur de la sonde qui est utilisée. | |||
Il existe trois modes de fonctionnement qui sont définis par la valeur <code>Ambiance de la sonde de réflexion</code>, en tandem avec ce qui précède : | |||
* '''0''' permet d'appliquer la couleur ambiante de l'environnement à pleine intensité. | |||
* Une valeur supérieure à 0 et inférieure à 1 mélange la couleur de l'environnement ambiant et l'irradiance de la sonde (éclairage indirect) dans un rapport correspondant à la valeur définie (par exemple, 0,5 correspond à une répartition 50/50). | |||
* '''1 ou plus''' bloque l'application de la couleur ambiante de l'environnement dans le volume de la sonde et l'irradiance est appliquée à pleine intensité (ou avec un multiplicateur pour les valeurs supérieures à 1). | |||
** '''4 ou plus''' fonctionne de la même manière que ci-dessus, mais seuls les éclairages indirects reçus du ciel seront multipliés à une valeur supérieure à 4. Les lumières locales sont bloquées à 4,0. | |||
=== Placement de sondes de réflexion complexes === | |||
Il peut arriver que vous souhaitiez placer une sonde de réflexion dans une zone où les types de sonde de réflexion (sphère ou boîte) ne sont pas adaptés à la forme de la zone. Par exemple, une sonde Box placée dans un grenier a une forme triangulaire, ce qui entraîne un "débordement de la sonde" : le volume d'influence affecte une zone plus grande que nécessaire et déborde donc sur le toit extérieur, ce qui n'est pas souhaitable. | |||
Dans ce cas, il peut être nécessaire de placer plusieurs sondes afin de mélanger les volumes d'échantillons pour obtenir le résultat souhaité. Dans l'exemple de la chambre du loft, il est préférable de commencer par trois sondes en boîte, qui couvrent le sol et chaque côté du toit. Ensuite, utilisez une sonde supplémentaire comme "remplissage" pour couvrir l'espace entre les 3 sondes. Il peut être nécessaire de faire pivoter la sonde de remplissage principale afin d'obtenir la couverture la plus large possible. S'il n'est pas possible de combler l'espace entre les 3 sondes avec cette sonde de remplissage, vous pouvez ajouter d'autres sondes en caisson pour servir de "remplissage secondaire". | |||
[TODO: Put photo examples of the above here!] | |||
Il est également possible d'utiliser des sondes sphériques pour obtenir le même résultat. Les sondes sphériques ont un mélange beaucoup plus doux que les sondes en forme de boîte, ce qui permet d'obtenir les meilleurs résultats dans des conditions de débordement important. | |||
=== Cas d'utilisation non pris en charge === | |||
{{KBwarning|Ne tentez pas de faire ce qui est listé ci-dessous. Ces utilisations sont susceptibles d'être désactivées volontairement ou de cesser de fonctionner lors de futures mises à jour. }} | |||
Vous pouvez être tenté d'utiliser les sondes de réflexion de la manière suivante, mais ces cas d'utilisation sont soit intentionnellement désactivés, soit entraînent un comportement non garanti, et peuvent fonctionner aujourd'hui, mais pas dans le futur. '''Vous avez été prévenu.''' | |||
'''En aucune circonstance, vous ne devez :''' | |||
* Porter une sonde de réflexion. Cela ne fonctionne pas à dessein. (Les sondes de réflexion sont une propriété de la scène, pas un objet ou un avatar individuel). | |||
* Attachez une sonde de réflexion à un objet physique, par exemple un véhicule. Cela ne fonctionne pas à dessein. (Comme ci-dessus, les sondes de réflexion font partie de la scène et non d'un objet individuel. De par leur conception, les sondes de réflexion ne sont pas mises à jour en temps réel, si bien que l'objet aurait toujours des réflexions incorrectes). | |||
== PBR Material Composition == | == PBR Material Composition == | ||
Line 127: | Line 185: | ||
===Occlusion [R] / Roughness [G] / Metalness [B]=== | ===Occlusion [R] / Roughness [G] / Metalness [B]=== | ||
Cette texture est composée de 3 images en niveaux de gris sans rapport entre elles, stockées dans 3 canaux de couleur différents d'une texture RVB. | Cette texture est composée de 3 images en niveaux de gris sans rapport entre elles, stockées dans 3 canaux de couleur différents d'une texture RVB. | ||
<br />[R]: (Ambient) Occlusion est une donnée d'éclairage, '''supprimant''' la nécessité d'incorporer les ombres à la couche de couleur de base. | <br />[R]: (Ambient) Occlusion est une donnée d'éclairage, '''supprimant''' la nécessité d'incorporer les ombres à la couche de couleur de base. Notez que "blanc" (<1,1,1>) signifie qu'aucune occlusion n'est appliquée, et que "noir" (<0,0,0>) applique une occlusion totale. | ||
<br />[G]: Les données relatives à la rugosité (Roughness) vont de 0 à 1,0, mais la plage réelle des surfaces physiques va d'environ 0,05 à 0,985. Aucune surface n'est parfaitement lisse ou complètement rugueuse. Plus une surface est rugueuse, moins elle se comporte comme un miroir. | <br />[G]: Les données relatives à la rugosité (Roughness) vont de 0 à 1,0, mais la plage réelle des surfaces physiques va d'environ 0,05 à 0,985. Aucune surface n'est parfaitement lisse ou complètement rugueuse. Plus une surface est rugueuse, moins elle se comporte comme un miroir. | ||
<br />[B]: Les valeurs de métallicité (Metalness) sont essentiellement noires ou blanches. Soit le matériau est un métal conducteur comme le cuivre, soit il s'agit d'un non-métal comme le tissu. 0,0 correspond à un matériau non métallique, 1,0 à un matériau métallique. Il n'y a pratiquement pas de matériaux avec des valeurs de métallicité grises. | <br />[B]: Les valeurs de métallicité (Metalness) sont essentiellement noires ou blanches. Soit le matériau est un métal conducteur comme le cuivre, soit il s'agit d'un non-métal comme le tissu. 0,0 correspond à un matériau non métallique, 1,0 à un matériau métallique. Il n'y a pratiquement pas de matériaux avec des valeurs de métallicité grises. | ||
Line 166: | Line 224: | ||
*'''[http://wiki.polycount.com/wiki/PBR Polycount Wiki]''' | *'''[http://wiki.polycount.com/wiki/PBR Polycount Wiki]''' | ||
** Il ne s'agit pas vraiment d'une bibliothèque en soi, mais de liens vers d'autres bibliothèques. '''Voir la section Nuanciers'''. | ** Il ne s'agit pas vraiment d'une bibliothèque en soi, mais de liens vers d'autres bibliothèques. '''Voir la section Nuanciers'''. | ||
=== Liste de bibliothèques de ressources PBR === | |||
*'''[https://ambientcg.com/ ambientCG]''' | |||
** Propose des HDRi sous licence CC0, des matériaux Metal-Rough et des fichiers .sbar (matériaux Substance Painter). | |||
*'''[https://polyhaven.com/ Poly Haven]''' | |||
** Propose des HDRi sous licence CC0, des matériaux Metal-Rough et des modèles. | |||
== Téléchargement de matériaux == | == Téléchargement de matériaux == | ||
Il existe deux méthodes différentes pour créer des ressources matérielles PBR : | Il existe deux méthodes différentes pour créer des ressources matérielles PBR : | ||
=== Méthode 1 : Chargement direct d'un fichier glTF === | === Méthode 1 : Chargement direct d'un fichier glTF === | ||
La méthode la plus pratique pour créer un matériau entièrement nouveau consiste à télécharger directement un fichier glTF depuis votre ordinateur. | La méthode la plus pratique pour créer un matériau entièrement nouveau consiste à télécharger directement un fichier glTF depuis votre ordinateur. | ||
Il est accessible via <code>Construire > Charger > Material</code> | Il est accessible via <code>Construire > Charger > Material...</code> | ||
[[File:PBRBuildMenu.jpg | thumb | none | Chargement PBR dans le menu principal de construction. ]] | [[File:PBRBuildMenu.jpg | thumb | none | Chargement PBR dans le menu principal de construction. ]] | ||
Sélectionnez un fichier .GLB ou .GLTF sur votre ordinateur et ouvrez-le : | Sélectionnez un fichier .GLB ou .GLTF sur votre ordinateur et ouvrez-le : | ||
La fenêtre suivante s'affichera : | La fenêtre suivante s'affichera : | ||
[[File:PBRMatMenu.jpg | thumb | none | Présentation de l'interface de création et de modification des matériaux PBR.]] | |||
Toutes les propriétés modifiables des matériaux que la plupart des créateurs connaissent sont intégrées dans la fenêtre verticalement dimensionnable du matériau lors du chargement. | |||
En cliquant sur "Save", vous payez les frais de chargement et créez les ressources matérielles en utilisant le nom de fichier local. L'utilisation de "Enregistrer sous..." offre une fenêtre pour nommer tous les matériaux avec des noms uniques dans Second Life. Il y a une limite de 63 caractères pour les noms des objets de l'inventaire, mais le flotteur de nommage pour le chargement des matériaux <b>n'a pas de restriction de longueur</b> | |||
Les textures seront chargées dans le dossier Textures par défaut de l'inventaire (NoMod, NoCopy, Transfer) avec un "type" ajouté au nom donné. (p. ex. nom du bien (Base color), nom du bien (Normal), nom du bien (Roughness metallic)). En nommant l'objet, gardez à l'esprit que la partie entre parenthèses est incluse dans la limite des 63 caractères du nom. L'objet PBR est chargé (Mod, NoCopy, Transfer) dans le dossier Material de l'inventaire avec le texte ajouté (Material). Actuellement, le fait de nommer l'objet glTF à partir de Save as... n'ajoute PAS (Material) au nom de l'inventaire. L'enregistrement à partir du fichier nommé localement le fera. | |||
L'objectif d'un matériau étant d'être une unité facilement échangeable, toutes les propriétés des primitives avec lesquelles la plupart des utilisateurs sont familiers sont désormais intégrées dans l'interface utilisateur du matériau lui-même. Il s'agit de la teinte, de la transparence et du comportement émissif. Une fois que vous avez ajusté ces paramètres aux valeurs souhaitées, cliquez sur "Enregistrer" pour payer les frais de téléchargement et créer votre ressource matérielle. | L'objectif d'un matériau étant d'être une unité facilement échangeable, toutes les propriétés des primitives avec lesquelles la plupart des utilisateurs sont familiers sont désormais intégrées dans l'interface utilisateur du matériau lui-même. Il s'agit de la teinte, de la transparence et du comportement émissif. Une fois que vous avez ajusté ces paramètres aux valeurs souhaitées, cliquez sur "Enregistrer" pour payer les frais de téléchargement et créer votre ressource matérielle. | ||
{{KBcaution|Chaque texture individuelle utilisée pour composer l'objet matériel est facturée séparément. (par exemple, si vous avez 4 textures (Couleur de base, Métallique Rugosité, Émissive, Normale), vous devez payer 4 fois. Si vous n'avez qu'une texture normale et une texture rugosité-métallique, vous serez facturé deux fois, etc.)}} | |||
=== Méthode 2 : Modifier un fichier vierge. Créer des matériaux PBR sans fichier glTF === | === Méthode 2 : Modifier un fichier vierge. Créer des matériaux PBR sans fichier glTF === | ||
Line 208: | Line 280: | ||
=== Création de variantes de couleurs === | === Création de variantes de couleurs === | ||
Après avoir chargé le premier matériau de votre projet, si vous êtes propriétaire d'un magasin et que vous souhaitez proposer plusieurs palettes de couleurs pour votre création, comme le font de nombreux créateurs de vêtements et de meubles, '''il est important de ne pas charger un nouveau fichier glTF pour chaque variante de votre matériau'''. Pour la plupart des variantes de matériaux, seule la couleur de base change. Les textures d'occlusion, de rugosité, de métallicité, d'émissivité et de normale restent inchangés. Comme ces données ont déjà été chargées une fois, si nous chargeons un deuxième fichier glTF, elles seront dupliquées. Le fait d'avoir plusieurs copies de la même texture, avec des UUID différents, signifie qu'elles encombreront la bande passante de téléchargement et la mémoire de la carte vidéo (sans parler de votre inventaire). C'est très mauvais pour Second Life. C'est pourquoi il est recommandé, lorsque vous créez des variantes de texture, de charger séparément les copies supplémentaires de la texture de la couleur de base. Ouvrez ensuite votre nouveau matériau en mode modification, choisissez la texture de couleur de base et remplacez-la par l'une des textures de couleur de base que vous venez de charger, puis cliquez sur "Enregistrer sous". Cela créera une deuxième copie de votre matériau qui utilisera toutes les couches de texture correctes sans les dupliquer inutilement et sans causer de latence supplémentaire. | Après avoir chargé le premier matériau de votre projet, si vous êtes propriétaire d'un magasin et que vous souhaitez proposer plusieurs palettes de couleurs pour votre création, comme le font de nombreux créateurs de vêtements et de meubles, '''il est important de ne pas charger un nouveau fichier glTF pour chaque variante de votre matériau'''. Pour la plupart des variantes de matériaux, seule la couleur de base change. Les textures d'occlusion, de rugosité, de métallicité, d'émissivité et de normale restent inchangés. Comme ces données ont déjà été chargées une fois, si nous chargeons un deuxième fichier glTF, elles seront dupliquées. Le fait d'avoir plusieurs copies de la même texture, avec des UUID différents, signifie qu'elles encombreront la bande passante de téléchargement et la mémoire de la carte vidéo (sans parler de votre inventaire). C'est très mauvais pour Second Life. C'est pourquoi il est recommandé, lorsque vous créez des variantes de texture, de charger séparément les copies supplémentaires de la texture de la couleur de base. Ouvrez ensuite votre nouveau matériau en mode modification, choisissez la texture de couleur de base et remplacez-la par l'une des textures de couleur de base que vous venez de charger, puis cliquez sur "Enregistrer sous". Cela créera une deuxième copie de votre matériau qui utilisera toutes les couches de texture correctes sans les dupliquer inutilement et sans causer de latence supplémentaire. | ||
{{KBtip|Vous pouvez également éviter de charger des textures supplémentaires en chargeant une variante de couleur blanche, puis en utilisant le paramètre Teinte de la couleur de base!}} | |||
== Paramètre double face : Utilisations et dangers == | == Paramètre double face : Utilisations et dangers == | ||
Line 213: | Line 287: | ||
Example:: | Example:: | ||
*LeafTextures_DoubleSided | |||
*LeafTextures_SingleSided | |||
Lors de la conception d'un contenu de maillage destiné à être utilisé avec le paramètre de matériau double face, il est également "fortement recommandé de séparer les triangles sur lesquels vous avez l'intention d'utiliser le matériau double face dans une "face" de maillage distincte", afin de ne pas rendre involontairement les parties du maillage qui ont déjà des triangles conçus pour représenter la partie interne de l'objet une deuxième fois. | Lors de la conception d'un contenu de maillage destiné à être utilisé avec le paramètre de matériau double face, il est également "fortement recommandé de séparer les triangles sur lesquels vous avez l'intention d'utiliser le matériau double face dans une "face" de maillage distincte", afin de ne pas rendre involontairement les parties du maillage qui ont déjà des triangles conçus pour représenter la partie interne de l'objet une deuxième fois. | ||
== Scripts LSL == | |||
La documentation relative à l'interface LSL avec les matériaux glTF se trouve dans les pages suivantes : | |||
*[[GLTF Overrides]] | |||
*[https://wiki.secondlife.com/wiki/Category:LSL_Material Category:LSL Material] | |||
== Paramètres recommandés pour l'application == | == Paramètres recommandés pour l'application == | ||
Line 224: | Line 304: | ||
{{KBtip|'''Le HDRi recommandé pour la création de contenu dans Second Life est disponible dans [https://github.com/Jenna-Huntsman/Second-Life-Resources/tree/main/PBR/HDRi ce dépôt Github].'''. Ce HDRi correspondra étroitement à l'éclairage des objets dans le préréglage de l'environnement PBR " Midi ".}} | {{KBtip|'''Le HDRi recommandé pour la création de contenu dans Second Life est disponible dans [https://github.com/Jenna-Huntsman/Second-Life-Resources/tree/main/PBR/HDRi ce dépôt Github].'''. Ce HDRi correspondra étroitement à l'éclairage des objets dans le préréglage de l'environnement PBR " Midi ".}} | ||
{{KBcaution|Bien que tous les efforts aient été faits pour que le HDRi recommandé corresponde le plus possible à SL, il se peut que vous deviez ajuster le paramètre "Exposition de l'environnement" dans votre programme d'édition pour obtenir des résultats 1:1 avec SL.}} | |||
<br> | |||
---- | |||
===[https://www.blender.org/ Blender]=== | ===[https://www.blender.org/ Blender]=== | ||
{{KBwarning|Les anciennes versions de Blender ont des bugs dans leurs outils d'exportation glTF qui rendent leur sortie incompatible avec Second Life. '''L'utilisation des versions 3.3 et supérieures de Blender est fortement recommandée pour éviter ces problèmes'''.}} | {{KBwarning|Les anciennes versions de Blender ont des bugs dans leurs outils d'exportation glTF qui rendent leur sortie incompatible avec Second Life. '''L'utilisation des versions 3.3 et supérieures de Blender est fortement recommandée pour éviter ces problèmes'''.}} | ||
<br> | |||
{{KBcaution|Veuillez vous assurer que vous avez correctement configuré un HDRi dans votre viewport, car sinon le rendu dans Blender et dans SL ne correspondra pas. Veuillez consulter [[PBR Materials#Recommended_Application_Settings|ici pour un HDRi de référence]]. '''Veuillez consulter [https://www.polygonartists.com/hdri-environment-maps-in-blender/ ce tutoriel].''' }} | |||
Au démarrage de votre projet : | Au démarrage de votre projet : | ||
Sous : <code>Scene > Render Properties > Color Management</code>: | Sous : <code>Scene > Render Properties > Color Management</code>: | ||
*{{code|View Transform: | *{{code|View Transform: Standard}} | ||
*{{code|Sequencer: | *{{code|Sequencer: Linear ACEScg}} | ||
Créez vos matériaux dans Blender en utilisant les nœuds de shaders BSDF et le nœud glTF Settings. Exportez-les conformément à la ''[https://docs.blender.org/manual/fr/ | Créez vos matériaux dans Blender en utilisant les nœuds de shaders BSDF et le nœud glTF Settings. Exportez-les conformément à la ''[https://docs.blender.org/manual/fr/3.6/addons/import_export/scene_gltf2.html Blender documentation officielle.]''. | ||
{{KBcaution|Second Life ne prend pas en charge les paramètres BSDF Clearcoat, Subsurface, Anisotropy ou Transmission pour le moment.}} | {{KBcaution|Second Life ne prend pas en charge les paramètres BSDF Clearcoat, Subsurface, Anisotropy ou Transmission pour le moment.}} | ||
Line 245: | Line 331: | ||
* '''[https://github.com/Jenna-Huntsman/Second-Life-Resources/blob/main/glTF%20Node%20Tree%20-%20Long%20Form.blend glTF Node Tree - Long Form.blend]''' | * '''[https://github.com/Jenna-Huntsman/Second-Life-Resources/blob/main/glTF%20Node%20Tree%20-%20Long%20Form.blend glTF Node Tree - Long Form.blend]''' | ||
* '''[https://github.com/Jenna-Huntsman/Second-Life-Resources/blob/main/glTF%20Node%20Tree%20-%20Short%20Form.blend glTF Node Tree - Short Form.blend]''' | * '''[https://github.com/Jenna-Huntsman/Second-Life-Resources/blob/main/glTF%20Node%20Tree%20-%20Short%20Form.blend glTF Node Tree - Short Form.blend]''' | ||
<br> | |||
---- | |||
=== [https://www.adobe.com/products/substance3d-painter.html Adobe Substance 3D Painter] === | === [https://www.adobe.com/products/substance3d-painter.html Adobe Substance 3D Painter] === | ||
{{KBcaution|Bien que Substance Painter soit généralement considéré comme stable, dans certaines situations (rares) Substance peut produire un glTF malformé qui sera rejeté par la visionneuse. Si cela se produit, importez vos matériaux dans Blender, puis exportez un glTF depuis Blender - ce problème devrait être corrigé dans une prochaine version de Substance.}} | {{KBcaution|Bien que Substance Painter soit généralement considéré comme stable, dans certaines situations (rares) Substance peut produire un glTF malformé qui sera rejeté par la visionneuse. Si cela se produit, importez vos matériaux dans Blender, puis exportez un glTF depuis Blender - ce problème devrait être corrigé dans une prochaine version de Substance.}} | ||
<br> | |||
{{KBcaution|Veuillez vous assurer que vous avez correctement configuré un HDRi dans votre fenêtre de visualisation, sinon le rendu dans Substance et dans SL ne correspondra pas. Veuillez consulter [[PBR Materials#Recommended_Application_Settings|ici pour un HDRi de référence]]. Veuillez consulter [http://y2u.be/6goXJ2CJzaM ce tutoriel].}} | |||
Lorsque vous démarrez votre projet : | Lorsque vous démarrez votre projet : | ||
*{{code|Template: | *{{code|Template: PBR - Metallic Roughness Alpha-test (starter_assets)}} | ||
OU | OU | ||
*{{code|Template: | *{{code|Template: PBR - Metallic Roughness Alpha-blend (starter_assets)}} | ||
Vérifiez les paramètres suivants : | Vérifiez les paramètres suivants : | ||
*{{code|Résolution du document : | *{{code|Résolution du document : [Définie selon vos besoins]}} | ||
*{{code|Format de map normal : | *{{code|Format de map normal : OpenGL (Y+)}} | ||
*{{code|Calculer le repère tangent par fragment: | *{{code|Calculer le repère tangent par fragment: YES}} | ||
Sous "Gestion des couleurs" : | |||
*{{code| | {{KBtip| Pour une explication plus approfondie des paramètres ci-dessous et des problèmes que vous pourriez rencontrer, consultez [https://mrlixm.github.io/blog/substance-painter-color-management/#aces-workflow cette page].}} | ||
*{{code|Gestion des couleurs : OpenColorIO}} | |||
*{{code|Configuration OpenColorIO : ACES 1.0.3}} | |||
*{{code|Espace colorimétrique sRGB standard : Utility - sRGB - Texture}} | |||
*{{code|Images 8 bit : Utility - sRGB - Texture}} | |||
*{{code|Images 16 bit : Utility - sRGB - Texture}} | |||
*{{code|Valeur par défaut de l'espace colorimétrique de matériaux : Utility - sRGB - Texture}} | |||
Lors de l'exportation : | Lors de l'exportation : | ||
*{{code|Modèle de sortie : | *{{code|Modèle de sortie : glTF PBR Metal Roughness}} | ||
*{{code|Taille : | *{{code|Taille : Basé sur la taille de chaque jeu de textures}} | ||
*{{code|Dilatation : | *{{code|Dilatation : Dilation + couleur d'arrière-plan par défaut - 8 bit}} | ||
<br> | |||
---- | |||
=== [https://www.adobe.com/products/substance3d-designer.html Adobe Substance 3D Designer] === | === [https://www.adobe.com/products/substance3d-designer.html Adobe Substance 3D Designer] === | ||
{{KBcaution|Substance Designer ''ne supporte pas la sortie glTF'', contrairement à Substance Painter.}} | {{KBcaution|Substance Designer ''ne supporte pas la sortie glTF'', contrairement à Substance Painter.}} | ||
Dans les préférences, vérifiez les paramètres '''Projet''' suivants : | Dans les préférences, vérifiez les paramètres '''Projet''' suivants : | ||
*{{code|Color Management: | *{{code|Color Management: OpenColorIO}} | ||
*{{code|OpenColorIO Configuration: | *{{code|OpenColorIO Configuration: ACES 1.0.3}} | ||
*{{code|8 bit images: | *{{code|8 bit images: Utility - sRGB - Texture}} | ||
*{{code|16 bit images: | *{{code|16 bit images: Utility - sRGB - Texture}} | ||
*{{code|Floating point images: | *{{code|Floating point images: ACES - ACEScg}} | ||
*{{code|2D and 3D View Display Default: | *{{code|2D and 3D View Display Default: sRGB}} | ||
Lors de l'exportation (Export Outputs): | Lors de l'exportation (Export Outputs): | ||
*{{code|basecolor: | *{{code|basecolor: Utility - sRGB - Texture}} | ||
*{{code|normal: | *{{code|normal: Utility - Raw}} | ||
*{{code|roughness: | *{{code|roughness: Utility - Raw}} | ||
*{{code|metallic: | *{{code|metallic: Utility - Raw}} | ||
*{{code|ambientocclusion: | *{{code|ambientocclusion: Utility - Raw}} | ||
Si vous utilisez un nœud personnalisé pour produire un [[PBR_Materials#Occlusion_.5BR.5D_.2F_Roughness_.5BG.5D_.2F_Metalness_.5BB.5D|pre-compiled ORM map]], il doit également être réglé sur Raw. | Si vous utilisez un nœud personnalisé pour produire un [[PBR_Materials#Occlusion_.5BR.5D_.2F_Roughness_.5BG.5D_.2F_Metalness_.5BB.5D|pre-compiled ORM map]], il doit également être réglé sur Raw. | ||
<br> | |||
---- | |||
=== [https://www.maxon.net/en/cinema-4d Cinema 4D] === | === [https://www.maxon.net/en/cinema-4d Cinema 4D] === | ||
Veuillez suivre la documentation fournie dans ce [https://www.bakedpixels.nl/blog/export-to-gltf-with-cinema-4d blog post]. | Veuillez suivre la documentation fournie dans ce [https://www.bakedpixels.nl/blog/export-to-gltf-with-cinema-4d blog post]. | ||
<br> | |||
---- | |||
===[https://3dcoat.com/ 3DCoat]=== | ===[https://3dcoat.com/ 3DCoat]=== | ||
{{KBwarning|Avec la version "2022-58", 3DCoat est incapable de produire un fichier glTF conforme à la spécification, et ne doit donc pas être utilisé pour Second Life. '''Utilisez-le à vos risques et périls - vous ''aurez'' des problèmes !}} | {{KBwarning|Avec la version "2022-58", 3DCoat est incapable de produire un fichier glTF conforme à la spécification, et ne doit donc pas être utilisé pour Second Life. '''Utilisez-le à vos risques et périls - vous ''aurez'' des problèmes !}} | ||
L'export glTF a été implémenté depuis la version 2020 de 3DCoat et se trouve dans <code>File >Export > Export to glTF > glTF Separate (gltf + .bin + textures)</code> | L'export glTF a été implémenté depuis la version 2020 de 3DCoat et se trouve dans <code>File >Export > Export to glTF > glTF Separate (gltf + .bin + textures)</code> | ||
<br> | |||
---- | |||
=== [https://quixel.com/mixer Quixel Mixer] === | === [https://quixel.com/mixer Quixel Mixer] === | ||
Quixel Mixer n'a pas de sortie glTF, mais il génère des textures fonctionnelles, bien qu'elles doivent être modifiées et combinées dans un logiciel de retouche photo. | Quixel Mixer n'a pas de sortie glTF, mais il génère des textures fonctionnelles, bien qu'elles doivent être modifiées et combinées dans un logiciel de retouche photo. | ||
Line 316: | Line 416: | ||
Transférez vos données dans Second Life à l'aide de [[PBR_Materials#Method_2_:_Edit_a_Blank._Create_PBR_Materials_without_a_GLTF_File|Method 2.]] | Transférez vos données dans Second Life à l'aide de [[PBR_Materials#Method_2_:_Edit_a_Blank._Create_PBR_Materials_without_a_GLTF_File|Method 2.]] | ||
<br> | |||
---- | |||
=== [https://www.autodesk.eu/products/3ds-max/overview Autodesk 3DS Max 2023] === | === [https://www.autodesk.eu/products/3ds-max/overview Autodesk 3DS Max 2023] === | ||
Autodesk vient d'ajouter la possibilité de créer des fichiers glTF en utilisant les nouvelles fonctionnalités glTF Material et glTF Export, comme indiqué dans le document suivant '''[https://help.autodesk.com/view/3DSMAX/2023/ENU/?guid=GUID-EFBB037D-C4EB-42D2-9CE1-30FCAD483C31 Autodesk's official documentation]'''. Toutes les versions antérieures du logiciel Autodesk ne disposent pas de cette fonctionnalité. | Autodesk vient d'ajouter la possibilité de créer des fichiers glTF en utilisant les nouvelles fonctionnalités glTF Material et glTF Export, comme indiqué dans le document suivant '''[https://help.autodesk.com/view/3DSMAX/2023/ENU/?guid=GUID-EFBB037D-C4EB-42D2-9CE1-30FCAD483C31 Autodesk's official documentation]'''. Toutes les versions antérieures du logiciel Autodesk ne disposent pas de cette fonctionnalité. | ||
<br> | |||
---- | |||
=== [https://www.materialmaker.org/ Material Maker] === | === [https://www.materialmaker.org/ Material Maker] === | ||
Bien que [https://www.materialmaker.org/ Material Maker] n'exporte pas directement en glTF ([https://github.com/RodZill4/material-maker/issues/479 Cela pourrait être ajouté à l'avenir]), les matériaux créés avec ce programme sont compatibles avec Second Life. | Bien que [https://www.materialmaker.org/ Material Maker] n'exporte pas directement en glTF ([https://github.com/RodZill4/material-maker/issues/479 Cela pourrait être ajouté à l'avenir]), les matériaux créés avec ce programme sont compatibles avec Second Life. | ||
Line 326: | Line 428: | ||
Chargez dans Second Life à l'aide de [[PBR_Materials#Method_2_:_Edit_a_Blank._Create_PBR_Materials_without_a_GLTF_File|Method 2.]] | Chargez dans Second Life à l'aide de [[PBR_Materials#Method_2_:_Edit_a_Blank._Create_PBR_Materials_without_a_GLTF_File|Method 2.]] | ||
<br> | |||
---- | |||
=== Adobe Photoshop === | === Adobe Photoshop === | ||
'''Bien que Photoshop ne soit pas officiellement un outil de création PBR''', les modifications apportées à l'Alpha Blending (passage de l'espace sRGB à l'espace linéaire) peuvent vous obliger à modifier vos paramètres PS pour obtenir des résultats cohérents. Lisez [http://www.kiransprojects.com/blog/2014/photoshop-blending-is-broken/ cet article] pour de plus amples informations. (Lisez la section intitulée "A Partial Solution"). Alternativement, [https://www.reddit.com/r/photoshop/comments/61clf8/how_to_fix_photoshops_incorrect_and_ugly_color/ ce post Reddit] donne également quelques options sur la façon de réaliser un mélange de manière correcte. | '''Bien que Photoshop ne soit pas officiellement un outil de création PBR''', les modifications apportées à l'Alpha Blending (passage de l'espace sRGB à l'espace linéaire) peuvent vous obliger à modifier vos paramètres PS pour obtenir des résultats cohérents. Lisez [http://www.kiransprojects.com/blog/2014/photoshop-blending-is-broken/ cet article] pour de plus amples informations. (Lisez la section intitulée "A Partial Solution"). Alternativement, [https://www.reddit.com/r/photoshop/comments/61clf8/how_to_fix_photoshops_incorrect_and_ugly_color/ ce post Reddit] donne également quelques options sur la façon de réaliser un mélange de manière correcte. | ||
<br> | |||
---- | |||
=== GIMP === | === GIMP === | ||
'''Bien que GIMP ne soit pas officiellement un outil de création PBR''', les changements apportés à l'Alpha Blending (passage de l'espace sRGB à l'espace linéaire) dans Second Life permettront aux textures créées dans GIMP d'afficher correctement leurs alphas (GIMP utilise par défaut le calcul linéaire des alphas). | '''Bien que GIMP ne soit pas officiellement un outil de création PBR''', les changements apportés à l'Alpha Blending (passage de l'espace sRGB à l'espace linéaire) dans Second Life permettront aux textures créées dans GIMP d'afficher correctement leurs alphas (GIMP utilise par défaut le calcul linéaire des alphas). | ||
== Résolution des problèmes == | |||
Si vous chargez un contenu PBR qui ne correspond pas à votre éditeur, le conseil de Linden Lab est '''d’arrêter : Remplissez un JIRA. N'essayez pas de "réparer" le contenu.''' | |||
Cela dit, il existe des mesures de correction que vous pouvez prendre vous-même : | |||
* Vérifiez que vous utilisez le préréglage PBR Linden Midday (appelé "Midday") et "non "Midday (Legacy)"". D'autres environnements peuvent ne pas correspondre au HDRi de référence, ce qui entraîne des différences visuelles. (Il s'agit d'un comportement intentionnel, et le contenu devrait pouvoir être visualisé correctement sous n'importe quel éclairage, mais à des fins de résolution de problèmes, cela peut s'avérer nécessaire). | |||
** Actuellement, il y a un bug avec le préréglage PBR Linden Midday qui résulte en une brillance bleue excessive, due à l'utilisation d'une couleur de ciel sursaturée (irréaliste), parmi d'autres problèmes. Ce problème a été corrigé dans la prochaine version de la visionneuse de maintenance glTF. | |||
* Utilisez-vous une sonde de réflexion ? Si ce n'est pas le cas, le problème se reproduit-il si une sonde de réflexion manuelle est placée sur l'objet ? | |||
** Cela est dû au fait que l'utilisation d'une sonde automatique, combinée au fait d'être en intérieur, est une source fréquente de "reflets bleus". Les sondes automatiques échantillonnent leur environnement et, combiné à un placement approximatif (et souvent incorrect), cela entraîne l'échantillonage du ciel de tous les côtés. Du coup, la lumière réfléchie par l'environnement (qui contrebalance la lumière bleue du ciel) est absente, entraînant un niveau plus élevé que prévu de contribution du ciel sur l'objet. Le placement des sondes automatiques peut être pire dans les skybox ou les plates-formes dans le ciel. | |||
* Vérifiez que les paramètres utilisés pour votre éditeur correspondent à ceux indiqués [[PBR_Materials#Recommended_Application_Settings|ici]], y compris le HDRi de référence. '''Tout''' écart par rapport à ces paramètres peut entraîner des différences visuelles entre votre éditeur et le monde virtuel. | |||
* Vérifier votre contenu par rapport à une visionneuse de référence glTF, par exemple : | |||
** [https://modelviewer.dev/editor/ Modelviewer.dev] | |||
** [https://github.khronos.org/glTF-Sample-Viewer-Release/ Khronos Sample Viewer] | |||
Si les étapes ci-dessus échouent, veuillez '''[https://jira.secondlife.com/ déposer un JIRA]'''. | |||
Un bon JIRA comprendra : | |||
* Un repère vers un lieu où le problème peut être vérifié dans le monde. | |||
* Une copie du contenu glTF, jointe au JIRA. | |||
* Des captures d'écran de la simulation dans le monde, dans une visionneuse de référence et dans l'éditeur. | |||
** Vous devez inclure des captures d'écran de l'objet à l'intérieur d'une sonde de réflexion placée manuellement, et à l'extérieur. |
Latest revision as of 03:48, 23 July 2024
Physically Based Rendering
Qu'est-ce que c'est et pourquoi est-ce utilisé ?
Le terme "Physically Based Rendering" ou "PBR" est un terme technique qui peut nécessiter une définition pour la plupart des gens, car son utilisation est propre à la composition d'images dans les logiciels informatiques. Le terme lui-même est une abréviation pour un ensemble d'algorithmes mathématiques complexes qui tentent de représenter avec précision la façon dont la lumière se reflète et interagit avec les objets dans le monde réel. Dans le monde réel, c'est le comportement de la lumière sur un morceau de métal qui nous permet, en tant qu'observateur, de reconnaître que "cet objet est en métal" sans avoir à le toucher. La façon dont un métal réfléchit la lumière diffère de celle d'un plastique poli ou d'un autre matériau, et ces différences ont été quantifiées par la science. En imitant les principes de la physique du monde réel dans le monde virtuel, il est possible de créer des espaces réalistes reconnaissables et plus immersifs, mais cela nous aide également à mieux appréhender les mondes fantastiques. Même si nous ne savons pas ce qu'est une création nouvellement imaginée, l'aspect métallique inhérent au métal et l'aspect bois vieilli inhérent au bois restent constants, ce qui facilite la compréhension intuitive de ce avec quoi nous interagissons dans un environnement virtuel.
Parce que le fait de lier les mathématiques pour simuler des matériaux dans des espaces virtuels à la façon dont ils se comportent dans le monde réel rend les choses plus immédiatement reconnaissables, le PBR est devenue la base de la création de mondes imaginaires au cours de la dernière décennie. La brillance métallique des armures exosquelettiques dans les films de super-héros est produite par un flux de travail PBR, tout comme la brillance du plastique des jouets ou le scintillement de la glace dans les classiques de l'animation. Aujourd'hui, nous nous apprêtons à apporter cette qualité normalisée au sein même de Second Life.
L'introduction du PBR dans Second Life implique la mise à jour des calculs de base sur la façon dont la lumière est représentée et interagit avec le monde de Second Life. L'objectif est d'intégrer ces changements tout en modifiant le moins possible la façon dont tout ce qui existe actuellement dans Second Life (conçu avant l'introduction du PBR) s'affiche. Bien que la préservation de l'intention créative et de l'attrait esthétique des objets que les utilisateurs apprécient depuis plus de deux décennies dans Second Life soit toujours une priorité, Second Life est une plateforme en constante évolution et, pour continuer dans cette voie, certains changements sont inévitables.
Enfin, bien que nous essayions de reproduire les réflexions et les propriétés des matériaux du monde réel, Second Life doit fonctionner sur une grande variété d'appareils, ce qui oblige à prendre des raccourcis. Les reflets ne sont pas parfaits, comme l'ont souvent espéré et demandé depuis longtemps les résidents. Si l'ajout d'un système de réflexion nous rapproche des rêves de miroirs sans distorsion pour nos avatars dans Second Life, les miroirs ne sont malheureusement pas encore, pour l'instant, réalisables en raison des calculs nécessaires à la réalisation de réflexions parfaites. Veuillez consulter la note dans la section ci-dessous pour plus d'informations.
Qu'est-ce que cela signifie pour les résidents ?
Changement concernant le contenu existant
Le changement le plus important est de loin l'ajout d'un système de réflexion environnemental à Second Life. Pour la plupart des objets existants, ce changement ne devrait pas avoir d'impact drastique et immédiatement observable. Certains objets déjà présents dans votre inventaire peuvent apparaître plus réfléchissants avec la nouvelle configuration graphique, et ces reflets devraient être plus réalistes et immersifs dans votre environnement actuel. En règle générale, plus un objet était "brillant" auparavant, plus il captera les reflets de l'environnement et plus la différence visuelle sera importante.
Un autre changement notable est l'ajout de Mappage ton local à la visionneuse. Le mappage des tons est un moyen de représenter une image avec une gamme dynamique native plus élevée que celle que l'écran peut supporter. Le mappage des tons est une exigence de facto des pipelines PBR. Cela signifie que les couleurs dans Second Life apparaîtront généralement plus saturées avec moins de détails perdus dans les ombres et les hautes lumières. Cliquez ici pour obtenir des informations complémentaires sur le sujet.
Le procédé de mappage des tons utilisé s'appelle Academy Color Encoding System (aka "ACES"), et peut être étudié ici et là.
Le contenu de Blinn-Phong utilisant les paramètres Spéculaire peut sembler différent si les objets n'ont jamais été vus sous un éclairage local, car la visionneuse PBR permet à l'environnement (soleil et ciel) de contribuer aux reflets spéculaires. Ainsi, si l'objet reçoit des réflexions spéculaires bleues du ciel, ces réflexions sont teintées et peuvent sembler bizarres. Cet effet est le même que dans les visionneuses précédentes, comme si l'objet était éclairé par une lumière locale bleue.
Suppression de l'option graphique du mode d'éclairage avancé (ALM)
Les options Graphiques > Paramètres avancés ont également été modifiées. Le changement le plus notable est la suppression des options "Shaders atmosphériques", "Éclairage local" et "Éclairage avancé".
Pour les utilisateurs de machines bas de gamme qui dépendent fortement de ces options pour naviguer dans Second Life avec un taux de rafraîchissement acceptable, nous recommandons les paramètres suivants :
Eau transparente : Désactivée
Occulusion ambiante : Désactivée
Ombres : Aucunes
Screen Space Reflections : Désactivée
Reflection Detail : Static Only
Reflection Coverage: Manual only
Le paramètre Éclairage local
a été remplacé par des mises à jour des options du curseur Monde > Improve graphics speed... > Graphics settings "Quality & Speed". Ainsi, les utilisateurs de matériel bas de gamme doivent s'assurer que le curseur graphique " Qualité et vitesse " est réglé à un niveau approprié pour leur matériel.
Qu'est-ce que cela signifie pour les créateurs ?
Changements de nomenclature
Le projet PBR représente un grand pas vers l'intégration des techniques de rendu standard utilisées dans l'industrie des jeux. De ce fait, la nomenclature de certains éléments a changé, par exemple, ce qui était appelé Matériaux est maintenant appelé Blinn-Phong . Cela ne représente aucune modification des techniques de rendu sous-jacentes (en dehors de celles mentionnées ci-dessus) ; et en tant que tel, Blinn-Phong "n'est pas" identique aux flux de travail PBR Spec/Gloss, vus dans certains moteurs de jeu tels que Unity.
Importation de matériaux PBR à partir d'un logiciel externe :
Les créateurs qui travaillent avec des outils externes tels que Blender, Adobe Substance Painter, Cinema4D, 3D-Coat, ou qui ont utilisé les moteurs de jeu Unreal ou Godot, devraient déjà connaître l'utilisation des jeux de textures PBR. En fait, certains créateurs ont utilisé des outils qui utilisent des flux de travail PBR pour créer du contenu pour Second Life et ont donc ensuite été contraints de sacrifier la qualité visuelle pour convertir ces informations dans le système de matériaux Blinn-Phong existant de Second Life.
Second Life adopte le modèle PBR "Metallic / Roughness" et, dans le cadre de son engagement permanent à utiliser des normes Open Source chaque fois que cela est possible, le format de fichier glTF 2.0 a été choisi comme format de téléchargement pour les matériaux PBR. L'un des principaux objectifs de la mise en œuvre des matériaux PBR est d'assurer une plus grande continuité entre les applications de création de contenu et Second Life, et d'obtenir un comportement plus cohérent du contenu une fois qu'il est placé dans le monde.
Utiliser des matériaux importés dans Second Life
Pour les personnes qui construisent exclusivement dans Second Life, l'ajout de PBR signifie également qu'il y aura un nouveau Inventory Type appelé "Matériau". Ces nouveaux "matériaux" peuvent être achetés sur la place du marché et échangés comme n'importe quelle autre objet autorisé dans Second Life.
Les matériaux PBR se présentent sous la forme d'un paquet de textures. Ils se présentent comme une seule entité et sont appliqués en une seule fois. Pour modifier la teinte, la transparence ou d'autres paramètres similaires du matériau, vous devez modifier Matériau dans la fenêtre "Editing Material".
Important : Les mesh chargés après la publication du PBR auront un aspect légèrement différent (et plus précis dans l'éditeur de votre choix) en raison d'un changement dans la manière dont Second Life gère les éléments des mesh (auparavant, des données nécessaires pour une génération précise des tangentes étaient supprimées au moment du chargement - ce n'est plus le cas). Cela signifie qu'un matériau PBR appliqué à un mesh chargé avant le lancement du PBR (28 Novembre 2023) peut paraître incorrect; un simple rechargement du mesh résoudra le problème. Ce n'est pas obligatoire, mais recommandé. |
L'application de matériaux existants fonctionne de la même manière que les textures existantes. Vous disposez de deux moyens pour ce faire :
Glisser-déposer
Il suffit de glisser-déposer sur la face d'une prim ou d'un mesh. Par exemple, si vous avez un matériau de sol carrelé et que vous le placez sur un cube, la face de ce cube ressemblera désormais à un sol carrelé et réfléchira la lumière comme le ferait un sol carrelé avec toutes les qualités matérielles contenues dans le matériau.
Passer à PBR et sélectionner à partir de l'inventaire
Vous pouvez également sélectionner une face du prim ou du mesh auquel vous souhaitez appliquer votre matériau puis choisir le menu déroulant "Blinn-Phong" et le changer en "PBR Metallic Roughness", puis sélectionner " Choisir un élément de votre inventaire " et l'appliquer.
Transformations de textures
Avec les matériaux PBR, les transformations de texture fonctionnent d'une manière légèrement différente des transformations de Blinn-Phong. Blinn-Phong (et OpenGL) a l'origine de la texture dans le coin inférieur gauche de la texture, alors que les matériaux glTF (et Vulkan) ont l'origine de la texture dans le coin supérieur gauche.
Cela signifie que les matériaux PBR réagissent différemment (ils sont inversés sur l'axe Y (glTF v)) que les matériaux Blinn-Phong. Pour une solution simple permettant de convertir une transformation de texture Blinn-Phong en une transformation de texture PBR, veuillez vous reporter à ce fil de discussion.
Pour plus d'informations, voir ici et ici.
Media-on-a-Prim
Les médias sur les primitives continueront à largement fonctionner de la même façon qu'avant le lancement du PBR. Lors de l'utilisation d'un MOAP sur la face d'une primitive avec une texture PBR, il fonctionnera comme si la texture du média avait la priorité sur les couches Couleur de base et Émissive. Notez que la couche Émissive est ignorée, mais que la couleur de celle-ci ne l'est pas (donc, pour désactiver la couche émissive, vous pouvez mettre la couleur émissive en noir <0,0,0>).
Outils & Tutoriels
Comme le système PBR est nouveau, on s'attend à ce que les utilisateurs existants ne sachent pas très bien comment tout cela fonctionne. C'est pourquoi Linden Lab et des tiers proposent des tutoriels et des vidéos d'information :
- Second Life University - PBR Materials
- Second Life University - How to create PBR Materials
- Allegorithmic (Adobe) PBR Guide
Les tutoriels ci-dessus requièrent une connaissance et un accès à Substance Painter d'Adobe (logiciel sur abonnement chez Adobe ou à l'achat sur Steam). Voici quelques liens pour des outils open source et des tutoriels vidéo trouvés sur Google en tapant "Blender", "glTF" ( nécessite Blender 3.3)
- Material Maker software
- glTF Packer
- Armorpaint
- Armorlab
- glTF Blender Tutorial
- Exporting glTF Alpha Textures
Textures PBR et visionneuses obsolètes
Il convient de mentionner que pendant la période d'adoption d'un nouveau système, une grande partie des résidents de Second Life voient le monde par l'intermédiaire de visionneuses tierces et de solutions de visionnage mobiles qui n'auront pas été mises à jour pour être en mesure de voir le nouveau contenu. Toute personne visualisant un matériau PBR sur une visionneuse qui ne peut pas l'afficher verra la texture non PBR "sous-jacente". Par défaut, il s'agit d'une boîte en pin ou d'une texture complètement vierge. Ceux qui souhaitent que leur contenu soit visible par le plus grand nombre de personnes possible pourraient envisager de créer une texture Diffuse (avec un éclairage créé, le genre qui est facilement généré avec des outils comme le "Baked Lighting Filter" de Substance Painter) et de l'appliquer comme une simple texture à l'objet sur lequel ils placent le matériau PBR, avant d'appliquer le matériau PBR. Bien qu'il s'agisse d'une étape supplémentaire dans la création de contenu et que cela complique quelque peu les choses, si vous souhaitez que votre contenu soit apprécié de tous, cela vaut la peine d'envisager d'ajouter cette étape supplémentaire à votre flux de travail. Les personnes qui conçoivent des matériaux PBR destinés à la distribution et à la vente pourraient également envisager de proposer une texture "Diffuse de secours" pour accompagner le matériau PBR, spécifiquement pour les personnes qui ne peuvent pas voir le contenu PBR.
Important : Une fois qu'un matériau PBR est appliqué, les textures Blinn-Phong ne peuvent pas être mises à jour. Pour y remédier, supprimez le matériau PBR, modifiez les textures Blinn-Phong, puis appliquez à nouveau le matériau PBR. |
Comprendre et aider le nouveau système de réflexion
Les créateurs qui travaillent à l'échelle d'une maison ou qui produisent des objets que l'on peut traverser peuvent mieux contrôler l'éclairage dans leurs créations en prenant le temps de bien comprendre le nouvel ensemble d'outils qui influencent les réflections de l'environnement. Il existe un nouveau type de volume qui peut être créé et ajouté aux ensembles d'objets liés spécifiquement pour les scènes comportant ce type d'espaces. Ces volumes définissent une zone personnalisée dans laquelle les réflexions sont calculées, en remplacement de la configuration par défaut. Les " sphères de réflexion " doivent être placées de manière à ce que " le plus petit nombre de sphères remplisse le plus grand espace possible avec un minimum de chevauchement ". Une sphère par pièce est un bon point de référence pour un espace de vie général tel qu'une maison. Si plusieurs sphères sont présentes dans une zone donnée, elles peuvent provoquer des artefacts visuels et avoir un impact négatif sur les performances (également connu sous le nom de "viewer lag" ou "retard de visualisation"). Ne fixez pas les sphères de réflexion à de petites créations telles que des meubles ou des objets décoratifs. Les petits objets tels que les tables, les chaises, les instruments de musique, les bâtons de bougie, etc. doivent utiliser la réflexion du volume de la pièce dans laquelle ils sont placés. Ils ne devraient pas en avoir un ajouté. Il est "vivement" recommandé de laisser " modifiable " tout objet contenant une sphère de réflexion, de manière à ce que le propriétaire de l'objet puisse ajuster le positionnement de la sphère ou même l'enlever s'il le souhaite.
Editor note: Les sondes de réflexion ne sont pas conçues pour être utilisées avec des miroirs planaires, et leur aspect sera incorrect si elles sont utilisées à cette fin. Les miroirs planaires ont été mentionnés comme devant faire l'objet de futurs travaux, mais ils ne font pas directement partie du champ d'application du projet PBR.
Quand est-il recommandé de créer une sonde de réflexion ?
Les sondes placées manuellement permettent d'éliminer les parasites et les éclairages indésirables des sphères placées automatiquement, qui peuvent perturber ou troubler l'image. Si vous regardez l'image de la pièce d'une maison, sur le côté gauche, vous pouvez voir une teinte bleue sur le sol, qui correspond à la lumière bleue réfléchie par le ciel. La sonde remplissant la moitié de la pièce bloque ce phénomène, et lorsqu'elle est étendue pour remplir complètement la pièce en dépassant légèrement l'épaisseur des murs, (copie de l'image ci-dessous) le problème est résolu. La sonde ne doit pas nécessairement faire partie de l'ensemble d’objets liés du reste de la pièce pour fonctionner ; cependant, une fois qu'elle est placée, il est possible de l'ajouter à l'ensemble d’objets liés comme n'importe quelle autre primitive.
Construction d'un volume de réflexion ( aka Sphère de réflexion )
Commencer par la fenêtre Construire (Ctrl+3) en rezzant une primitive de base. Sous l'onglet Attributs
, en bas, cochez la case intitulée Reflection Probe
.
Reflection Probe
: L'activation de cette option crée un volume d'échantillonnage par réflexion dans la boîte de délimitation de la prim.Liste déroulante boîte / sphère
: Choisissez si vous souhaitez que cet échantillonneur projette des reflets dans un volume en forme de boîte ou dans un volume sphérique.Dynamique
: Permet de capturer dans le reflet des objets skinnés (par exemple des avatars, des animesh, etc.).Ambiance
: Affecte le niveau d'éclairage des objets situés dans le volume, comme s'ils étaient frappés par une lumière réfléchie provenant d'une illumination indirecte simulée. Voir "Fine-Tuning Reflection Sample Volumes" pour plus d'informations.Near Clip
: Parfois, il y a un obstacle important au centre du volume que vous souhaitez utiliser comme source de reflets. Supposons, par exemple, qu'il y ait une grande structure architecturale au milieu de la pièce, telle qu'une colonne. Si la source est placée à l'intérieur de la colonne, elle reflétera la surface interne de la colonne au lieu de la pièce dans laquelle elle est placée. En augmentant Near Clip, le volume d'échantillonnage exclut les objets situés à n mètres du centre afin qu'ils ne soient pas inclus dans les reflets. Voir "Fine-Tuning Reflection Sample Volumes" pour plus d'informations.
Sélectionnez une forme de probe appropriée à votre scène. Par exemple, si vous voulez créer une source de reflets qui couvre une pièce, sélectionnez une forme Box
, ou pour d'autres objets une forme Sphere
est recommandée.
Déplacez la source de réflexion et redimensionnez-la si nécessaire pour qu'elle corresponde à l'usage que vous souhaitez en faire. Pour l'exemple de la pièce, redimensionnez la boîte de manière à ce qu'elle touche juste les murs, le plafond et le sol de la pièce.
Il est également recommandé de donner un nom à vos probes, afin que les autres personnes (ou vous-même plus tard) se souviennent de la raison pour laquelle il y a une grande primitive transparente au milieu de votre construction.
Si vous souhaitez revenir et modifier le volume de réflexion ultérieurement, activez les deux options suivantes Show Reflection Probe Volumes
et Select Reflection Probes
dans Construire > Options
.
Ajustement des volumes d'échantillons de réflexion
Avertissement : Les volumes d'échantillons ne réagissent pas aux changements de paramètres de la primitive. Les options telles que "Creux", « Biseautage" ou « Inclinaison" ne modifient pas le comportement de la zone d'échantillonnage. |
Cela dit, il peut cependant être utile de visualiser le near clip
comme le creusement du volume de l'échantillon de réflexion, mais le creux et le near clip ne sont en aucun cas liés et il s'agit là d'une simple commodité. Les volumes du reflection probe ne réagissent qu'aux changements d'échelle et de position ; cependant, les différents volumes du reflection probe se comportent différemment lorsqu'ils sont redimensionnés.
- Sondes
Boîtes
: Elles sont affectées par la position et l'échelle non uniforme.
Exemple : Si je crée un reflection probe dans une boîte et que je la mets à l'échelle (10 m, 30 m, 10 m), le volume entier sera affecté par le probe.
- Sondes
Sphère
: Elles ne sont affectées que par la position et l'échelle uniforme, sinon la plus petite dimension est utilisée.
Exemple : Si je crée un probe sphérique et que je le dimensionne à 10m, 30m et 10m, le probe échantillonnera un volume sphérique de 10 mètres de diamètre au centre de la sonde. En revanche, une sphère de 30 m, 30 m et 30 m créera un volume d'échantillonnage d'une sphère de 30 mètres de diamètre.
Ambiance de la sonde de réflexion
contrôle la façon dont la lumière ambiante (trouvée dans votre environment preset) affecte, ou n'affecte pas, le contenu de la sonde de réflexion, et l'intensité de l'éclairage indirect (aka Irradiance).
Cette valeur est influencée par la valeur Ambiance de la Sonde de Réflexion
trouvée dans le environment preset de l'utilisateur, où si la valeur d'Ambiance donnée dans le environment preset est plus élevée que la valeur définie par la sonde elle-même, elle hérite de la valeur d'ambiance de la environment preset, ou bien si la valeur d'ambiance définie par la sonde est supérieure, c'est la valeur de la sonde qui est utilisée.
Il existe trois modes de fonctionnement qui sont définis par la valeur Ambiance de la sonde de réflexion
, en tandem avec ce qui précède :
- 0 permet d'appliquer la couleur ambiante de l'environnement à pleine intensité.
- Une valeur supérieure à 0 et inférieure à 1 mélange la couleur de l'environnement ambiant et l'irradiance de la sonde (éclairage indirect) dans un rapport correspondant à la valeur définie (par exemple, 0,5 correspond à une répartition 50/50).
- 1 ou plus bloque l'application de la couleur ambiante de l'environnement dans le volume de la sonde et l'irradiance est appliquée à pleine intensité (ou avec un multiplicateur pour les valeurs supérieures à 1).
- 4 ou plus fonctionne de la même manière que ci-dessus, mais seuls les éclairages indirects reçus du ciel seront multipliés à une valeur supérieure à 4. Les lumières locales sont bloquées à 4,0.
Placement de sondes de réflexion complexes
Il peut arriver que vous souhaitiez placer une sonde de réflexion dans une zone où les types de sonde de réflexion (sphère ou boîte) ne sont pas adaptés à la forme de la zone. Par exemple, une sonde Box placée dans un grenier a une forme triangulaire, ce qui entraîne un "débordement de la sonde" : le volume d'influence affecte une zone plus grande que nécessaire et déborde donc sur le toit extérieur, ce qui n'est pas souhaitable.
Dans ce cas, il peut être nécessaire de placer plusieurs sondes afin de mélanger les volumes d'échantillons pour obtenir le résultat souhaité. Dans l'exemple de la chambre du loft, il est préférable de commencer par trois sondes en boîte, qui couvrent le sol et chaque côté du toit. Ensuite, utilisez une sonde supplémentaire comme "remplissage" pour couvrir l'espace entre les 3 sondes. Il peut être nécessaire de faire pivoter la sonde de remplissage principale afin d'obtenir la couverture la plus large possible. S'il n'est pas possible de combler l'espace entre les 3 sondes avec cette sonde de remplissage, vous pouvez ajouter d'autres sondes en caisson pour servir de "remplissage secondaire".
[TODO: Put photo examples of the above here!]
Il est également possible d'utiliser des sondes sphériques pour obtenir le même résultat. Les sondes sphériques ont un mélange beaucoup plus doux que les sondes en forme de boîte, ce qui permet d'obtenir les meilleurs résultats dans des conditions de débordement important.
Cas d'utilisation non pris en charge
Avertissement : Ne tentez pas de faire ce qui est listé ci-dessous. Ces utilisations sont susceptibles d'être désactivées volontairement ou de cesser de fonctionner lors de futures mises à jour. |
Vous pouvez être tenté d'utiliser les sondes de réflexion de la manière suivante, mais ces cas d'utilisation sont soit intentionnellement désactivés, soit entraînent un comportement non garanti, et peuvent fonctionner aujourd'hui, mais pas dans le futur. Vous avez été prévenu.
En aucune circonstance, vous ne devez :
- Porter une sonde de réflexion. Cela ne fonctionne pas à dessein. (Les sondes de réflexion sont une propriété de la scène, pas un objet ou un avatar individuel).
- Attachez une sonde de réflexion à un objet physique, par exemple un véhicule. Cela ne fonctionne pas à dessein. (Comme ci-dessus, les sondes de réflexion font partie de la scène et non d'un objet individuel. De par leur conception, les sondes de réflexion ne sont pas mises à jour en temps réel, si bien que l'objet aurait toujours des réflexions incorrectes).
PBR Material Composition
Les valeurs définies par le PBR sont mesurées par des capteurs optiques et d'autres outils de capture et enregistrées dans des bases de données. Ces paramètres sont ensuite intégrés dans un logiciel commercial à l'usage des créateurs de contenu. Il est toujours recommandé d'utiliser un logiciel conçu pour créer du contenu PBR ; cependant, comprendre comment les documents PBR sont assemblés peut aider à les éditer et à les compiler. Une compréhension directe de la contribution de chaque canal de couleur est essentielle pour éditer les textures PBR sans avoir recours à certains des outils les plus avancés disponibles.
Toutes les valeurs PBR sont comprises entre 0 et 1,0, bien que dans une image réelle, les valeurs soient comprises entre 0 et 255. Les matériaux PBR sont composés d'un ensemble de quatre textures spécifiques, qui sont les suivantes :
Base Color [ RGB ] + Transparence [ A ]
[RGB]: Il s'agit de la couleur non éclairée de la surface. Elle diffère de la texture "Diffuse" utilisée dans Second Life. Les textures diffuses comprennent souvent des informations de réflexion et de spécularité simulées, ainsi que des ombres d'occlusion ambiante ajoutées. Les textures de couleur de base ne bénéficient d'aucune de ces informations supplémentaires. Pour les métaux (définis par la valeur de métallicité ("metalness")), la couleur de base détermine également la couleur de réflexion spéculaire, alors que, dans les systèmes non-PBR, cette couleur est définie par la texture et la teinte spéculaires. Dans certaines applications de texturation PBR, la couleur de base est parfois également appelée " Albedo ".
[ A ]: Le canal Alpha détermine la transparence de l'ensemble du matériau.
La texture de la couleur de base doit être dépourvue d'informations sur l'éclairage.
Occlusion [R] / Roughness [G] / Metalness [B]
Cette texture est composée de 3 images en niveaux de gris sans rapport entre elles, stockées dans 3 canaux de couleur différents d'une texture RVB.
[R]: (Ambient) Occlusion est une donnée d'éclairage, supprimant la nécessité d'incorporer les ombres à la couche de couleur de base. Notez que "blanc" (<1,1,1>) signifie qu'aucune occlusion n'est appliquée, et que "noir" (<0,0,0>) applique une occlusion totale.
[G]: Les données relatives à la rugosité (Roughness) vont de 0 à 1,0, mais la plage réelle des surfaces physiques va d'environ 0,05 à 0,985. Aucune surface n'est parfaitement lisse ou complètement rugueuse. Plus une surface est rugueuse, moins elle se comporte comme un miroir.
[B]: Les valeurs de métallicité (Metalness) sont essentiellement noires ou blanches. Soit le matériau est un métal conducteur comme le cuivre, soit il s'agit d'un non-métal comme le tissu. 0,0 correspond à un matériau non métallique, 1,0 à un matériau métallique. Il n'y a pratiquement pas de matériaux avec des valeurs de métallicité grises.
Le canal alpha est ignoré, conformément aux glTF 2.0 spécifications.
Editor note: La carte d'occlusion (Occlusion map) n'est pas contrôlée par l'option "Screen Space Ambient Occlusion" dans les paramètres graphiques avancés. La carte d'occlusion est toujours activée.
Emissive [ RGB ]
Cela détermine la quantité et la couleur des zones non éclairées (ignorant les conditions de lumière ambiante) de votre matériau. Si vous donnez à un objet une couche émissive blanche, l'objet se comportera comme si l'option "Lumineux" de Blinn-Phong était cochée. Cette couche est utile pour les objets qui sont censés émettre de la lumière, par exemple une lampe de table, dont l'abat-jour semble briller lorsque la lampe est allumée. Si vous souhaitez allumer et éteindre la lampe, il est recommandé de changer la valeur de la teinte émissive en noir (ce qui désactive la couche émissive et éteint donc la lampe), puis de changer la teinte pour la couleur souhaitée afin de rallumer la lampe. Il est recommandé de laisser l'emplacement Emissive vide lorsqu'il n'est pas utilisé.
Notez que l'éclat (l'effet de post-traitement) est contrôlé par un paramètre séparé dans le flotteur de construction et ne fait intentionnellement pas partie de la fenêtre de matériau PBR. L'éclat est modulé par la couche d'émissivité, de sorte que les zones noires de la couche d'émissivité d'un objet ne brillent pas de la même manière que les couches d'émissivité de Blinn-Phong ou que le rayonnement.
Conformément aux glTF 2.0 spécifications, le canal alpha est ignoré.
Normal [ RGB ]
Les couches normales générées par votre application de création d'images et votre boîte à outils de génération de couches normales devraient être compatibles avec Second Life dans la plupart des cas. L'écueil le plus courant est l'utilisation de couches normales générées avec des canaux verts "inversés", tels que ceux utilisés pour Direct3D et Unreal Engine. Les données de texture normales redirigent la lumière dans une direction différente en fonction des vecteurs indiqués par la couleur, de sorte que si le canal vert est inversé, il semblera "pointer dans la mauvaise direction". Pour formuler le problème autrement, toutes les choses qui devraient être des bosses ressemblent à des creux, et vice versa. Si c'est le cas, vérifiez que vos paramètres ne sont pas ceux de Direct3D et essayez de le re-générer. De même, l'utilisation d'un logiciel de retouche d'images et l'inversion du canal vert, uniquement dans certains cas, constituent une solution suffisante.
Les espaces tangents des couches normales sont un sujet extrêmement technique dont la plupart des utilisateurs n'ont pas besoin de se préoccuper, car la plupart des applications modernes utilisent par défaut les paramètres corrects. Cependant, si vos couches normales semblent radicalement différentes dans Second Life, par rapport à votre application source, et que vous avez déjà confirmé qu'il ne s'agit pas d'un canal vert inversé, l'étape suivante consiste à vérifier quels sont les paramètres de l'espace tangent utilisés. Les normales PBR utilisent l'espace tangent de Mikkelsen (Souvent abrégé MikkT). Si vous n'êtes pas sûr de ce que cela signifie, utilisez pour le PBR de Second Life des flux de travail et des paramètres similaires à ceux qui sont généralement recommandés pour le moteur de jeu Godot 4.
Conformément aux glTF 2.0 spécifications, le canal bleu d'une couche normale ne peut contenir que des valeurs supérieures à 0,5 jusqu'à un maximum de 1 (255).
Conformément aux glTF 2.0 spécifications, le canal alpha est ignoré.
Bibliothèques de référence des matériaux
Comme PBR est Basé sur la physique, vous voudrez peut-être savoir comment recréer un matériau réel sous forme de PBR. Quelle couleur utiliser ? Quelle valeur de métallisation doit-il avoir ?
Heureusement, il existe des bibliothèques de référence qui peuvent vous indiquer comment recréer un matériau donné dans un flux de travail PBR.
Liste des palettes de couleurs de référence et des bibliothèques
- Physically Based
- Sélectionnez le moteur Godot, avec l'espace couleur sRGB (Linear)) et la représentation des couleurs 0-1 (selon ce que vous faites, vous devrez peut-être convertir la valeur en espace sRGB corrigé en fonction du gamma, ce qui peut être fait ici. Saisissez la valeur sur la 3ème ligne).
- Grzegorz Baran Library
- Disponible sur YouTube (format vidéo, plus ancien), ou PDF (plus à jour).
- Dontnod Entertainment Library
- Une très petite bibliothèque, mais néanmoins utile.
- Studio 397
- Une petite collection de matériaux divers.
- Polycount Wiki
- Il ne s'agit pas vraiment d'une bibliothèque en soi, mais de liens vers d'autres bibliothèques. Voir la section Nuanciers.
Liste de bibliothèques de ressources PBR
- ambientCG
- Propose des HDRi sous licence CC0, des matériaux Metal-Rough et des fichiers .sbar (matériaux Substance Painter).
- Poly Haven
- Propose des HDRi sous licence CC0, des matériaux Metal-Rough et des modèles.
Téléchargement de matériaux
Il existe deux méthodes différentes pour créer des ressources matérielles PBR :
Méthode 1 : Chargement direct d'un fichier glTF
La méthode la plus pratique pour créer un matériau entièrement nouveau consiste à télécharger directement un fichier glTF depuis votre ordinateur.
Il est accessible via Construire > Charger > Material...
Sélectionnez un fichier .GLB ou .GLTF sur votre ordinateur et ouvrez-le : La fenêtre suivante s'affichera :
Toutes les propriétés modifiables des matériaux que la plupart des créateurs connaissent sont intégrées dans la fenêtre verticalement dimensionnable du matériau lors du chargement.
En cliquant sur "Save", vous payez les frais de chargement et créez les ressources matérielles en utilisant le nom de fichier local. L'utilisation de "Enregistrer sous..." offre une fenêtre pour nommer tous les matériaux avec des noms uniques dans Second Life. Il y a une limite de 63 caractères pour les noms des objets de l'inventaire, mais le flotteur de nommage pour le chargement des matériaux n'a pas de restriction de longueur
Les textures seront chargées dans le dossier Textures par défaut de l'inventaire (NoMod, NoCopy, Transfer) avec un "type" ajouté au nom donné. (p. ex. nom du bien (Base color), nom du bien (Normal), nom du bien (Roughness metallic)). En nommant l'objet, gardez à l'esprit que la partie entre parenthèses est incluse dans la limite des 63 caractères du nom. L'objet PBR est chargé (Mod, NoCopy, Transfer) dans le dossier Material de l'inventaire avec le texte ajouté (Material). Actuellement, le fait de nommer l'objet glTF à partir de Save as... n'ajoute PAS (Material) au nom de l'inventaire. L'enregistrement à partir du fichier nommé localement le fera.
L'objectif d'un matériau étant d'être une unité facilement échangeable, toutes les propriétés des primitives avec lesquelles la plupart des utilisateurs sont familiers sont désormais intégrées dans l'interface utilisateur du matériau lui-même. Il s'agit de la teinte, de la transparence et du comportement émissif. Une fois que vous avez ajusté ces paramètres aux valeurs souhaitées, cliquez sur "Enregistrer" pour payer les frais de téléchargement et créer votre ressource matérielle.
Important : Chaque texture individuelle utilisée pour composer l'objet matériel est facturée séparément. (par exemple, si vous avez 4 textures (Couleur de base, Métallique Rugosité, Émissive, Normale), vous devez payer 4 fois. Si vous n'avez qu'une texture normale et une texture rugosité-métallique, vous serez facturé deux fois, etc.) |
Méthode 2 : Modifier un fichier vierge. Créer des matériaux PBR sans fichier glTF
Si vous disposez des textures nécessaires pour composer un matériau PBR mais que vous n'avez pas de fichier glTF, vous devrez créer un matériau à partir de l'inventaire. Assurez-vous que vos textures sont au bon format, avec les bonnes données dans les bons canaux. Cela nécessite une certaine compréhension du PBR materials fonctionnement des matériaux. Une fois que vous l'avez fait, chargez vos textures comme vous le feriez normalement.
- Trouvez le dossier "Materials" dans votre inventaire, faites un clic droit et sélectionnez "New Material" dans le menu contextuel.
- Donnez à votre nouveau matériau un nom approprié (par exemple, " Briques rouges " pour un mur de briques rouges, etc.)
- Cliquez avec le bouton droit de la souris sur votre nouveau matériau et sélectionnez "Ouvrir" dans le menu contextuel.
- Téléchargez vos textures PBR à l'aide du flux de travail standard (en général, sous
Construction > Charger > Image
). - Dans la fenêtre du matériel, sélectionnez les couches appropriées que vous venez de charger dans leurs emplacements respectifs.
Avertissement : Bien que l'on puisse être tenté de placer une texture Blinn-Phong "Diffuse" dans l'emplacement "Couleur de base" et une texture Blinn-Phong "Spéculaire" dans l'emplacement "Métallique/Rugosité", cela ne produira pas les résultats escomptés. Cependant, l'essai ne génère aucun avertissement car il n'y a aucun moyen de vérifier que vous avez mis le bon type de texture dans les entrées, et le matériau sera sauvegardé et applicable aux objets. Malheureusement, ce qui sera créé n'est pas un matériau PBR fonctionnel. Veuillez ne pas faire cela. |
- Une fois cela fait, vérifiez que les paramètres du matériau sont corrects (par exemple, la teinte de la couleur de base, le facteur M/R, la teinte émissive, etc.)
- Enregistrez votre nouveau matériel.
- SOIT : Glisser-déposer le matériau sur une primitive rezzée, OU modifiez la prim, cliquez sur le menu déroulant "Blinn-Phong", sélectionnez "PBR Metallic-Roughness", puis cliquez sur "Choose from Inventory" et sélectionnez votre nouveau matériau.
Création de variantes de couleurs
Après avoir chargé le premier matériau de votre projet, si vous êtes propriétaire d'un magasin et que vous souhaitez proposer plusieurs palettes de couleurs pour votre création, comme le font de nombreux créateurs de vêtements et de meubles, il est important de ne pas charger un nouveau fichier glTF pour chaque variante de votre matériau. Pour la plupart des variantes de matériaux, seule la couleur de base change. Les textures d'occlusion, de rugosité, de métallicité, d'émissivité et de normale restent inchangés. Comme ces données ont déjà été chargées une fois, si nous chargeons un deuxième fichier glTF, elles seront dupliquées. Le fait d'avoir plusieurs copies de la même texture, avec des UUID différents, signifie qu'elles encombreront la bande passante de téléchargement et la mémoire de la carte vidéo (sans parler de votre inventaire). C'est très mauvais pour Second Life. C'est pourquoi il est recommandé, lorsque vous créez des variantes de texture, de charger séparément les copies supplémentaires de la texture de la couleur de base. Ouvrez ensuite votre nouveau matériau en mode modification, choisissez la texture de couleur de base et remplacez-la par l'une des textures de couleur de base que vous venez de charger, puis cliquez sur "Enregistrer sous". Cela créera une deuxième copie de votre matériau qui utilisera toutes les couches de texture correctes sans les dupliquer inutilement et sans causer de latence supplémentaire.
Astuce : Vous pouvez également éviter de charger des textures supplémentaires en chargeant une variante de couleur blanche, puis en utilisant le paramètre Teinte de la couleur de base! |
Paramètre double face : Utilisations et dangers
"Double face" est une nouvelle propriété propre aux matériaux. Lorsque la case "Double face" est cochée, la surface sur laquelle ce matériau est placé est dessinée deux fois : une fois pour la partie de la surface orientée vers l'extérieur et une seconde fois pour la partie de la surface orientée vers l'intérieur, qui est normalement invisible sans matériau double face. Cette option ne doit être utilisée que pour des maillages très spécifiques qui ont été conçus pour être utilisés avec des matériaux à double face, car placer des matériaux avec ce paramètre sur des objets normaux fera simplement en sorte que la visionneuse les dessinera deux fois (et créera ainsi un temps de latence supplémentaire pour la visionneuse) sans aucun changement observable. Il est très fortement recommandé que cette option ne soit pas cochée pour tout matériau destiné à être distribué pour un usage général. C'est encore plus vrai si la permission "Modifier" est refusée. Si vous souhaitez distribuer une version d'un matériel dont la case "Double face" est cochée, veuillez inclure une deuxième copie du matériel dont la case "Double face" n'est pas cochée, avec une explication à l'intention de l'utilisateur concerné.
Example::
- LeafTextures_DoubleSided
- LeafTextures_SingleSided
Lors de la conception d'un contenu de maillage destiné à être utilisé avec le paramètre de matériau double face, il est également "fortement recommandé de séparer les triangles sur lesquels vous avez l'intention d'utiliser le matériau double face dans une "face" de maillage distincte", afin de ne pas rendre involontairement les parties du maillage qui ont déjà des triangles conçus pour représenter la partie interne de l'objet une deuxième fois.
Scripts LSL
La documentation relative à l'interface LSL avec les matériaux glTF se trouve dans les pages suivantes :
Paramètres recommandés pour l'application
Le format de fichier glTF est largement adopté et de nombreuses applications disposent d'une fonctionnalité d'exportation pour ce type de fichier. Ci-dessous se trouve une liste non exhaustive des applications les plus populaires qui exportent des fichiers glTF.
Astuce : Le HDRi recommandé pour la création de contenu dans Second Life est disponible dans ce dépôt Github.. Ce HDRi correspondra étroitement à l'éclairage des objets dans le préréglage de l'environnement PBR " Midi ". |
Important : Bien que tous les efforts aient été faits pour que le HDRi recommandé corresponde le plus possible à SL, il se peut que vous deviez ajuster le paramètre "Exposition de l'environnement" dans votre programme d'édition pour obtenir des résultats 1:1 avec SL. |
Blender
Avertissement : Les anciennes versions de Blender ont des bugs dans leurs outils d'exportation glTF qui rendent leur sortie incompatible avec Second Life. L'utilisation des versions 3.3 et supérieures de Blender est fortement recommandée pour éviter ces problèmes. |
Important : Veuillez vous assurer que vous avez correctement configuré un HDRi dans votre viewport, car sinon le rendu dans Blender et dans SL ne correspondra pas. Veuillez consulter ici pour un HDRi de référence. Veuillez consulter ce tutoriel. |
Au démarrage de votre projet :
Sous : Scene > Render Properties > Color Management
:
View Transform: Standard
Sequencer: Linear ACEScg
Créez vos matériaux dans Blender en utilisant les nœuds de shaders BSDF et le nœud glTF Settings. Exportez-les conformément à la Blender documentation officielle..
Important : Second Life ne prend pas en charge les paramètres BSDF Clearcoat, Subsurface, Anisotropy ou Transmission pour le moment. |
Pour la création de matériaux, 2 fichiers .blend d'exemple sont fournis, l'un utilisant des textures d'occlusion, de rugosité et métalliques séparées ("Long Form"), et l'autre utilisant une couche ORM pré-packagée ("Short Form").
Les fichiers ci-dessous sont destinés à être utilisés avec les versions 3.3 et supérieures de Blender.
Adobe Substance 3D Painter
Important : Bien que Substance Painter soit généralement considéré comme stable, dans certaines situations (rares) Substance peut produire un glTF malformé qui sera rejeté par la visionneuse. Si cela se produit, importez vos matériaux dans Blender, puis exportez un glTF depuis Blender - ce problème devrait être corrigé dans une prochaine version de Substance. |
Important : Veuillez vous assurer que vous avez correctement configuré un HDRi dans votre fenêtre de visualisation, sinon le rendu dans Substance et dans SL ne correspondra pas. Veuillez consulter ici pour un HDRi de référence. Veuillez consulter ce tutoriel. |
Lorsque vous démarrez votre projet :
Template: PBR - Metallic Roughness Alpha-test (starter_assets)
OU
Template: PBR - Metallic Roughness Alpha-blend (starter_assets)
Vérifiez les paramètres suivants :
Résolution du document : [Définie selon vos besoins]
Format de map normal : OpenGL (Y+)
Calculer le repère tangent par fragment: YES
Sous "Gestion des couleurs" :
Astuce : Pour une explication plus approfondie des paramètres ci-dessous et des problèmes que vous pourriez rencontrer, consultez cette page. |
Gestion des couleurs : OpenColorIO
Configuration OpenColorIO : ACES 1.0.3
Espace colorimétrique sRGB standard : Utility - sRGB - Texture
Images 8 bit : Utility - sRGB - Texture
Images 16 bit : Utility - sRGB - Texture
Valeur par défaut de l'espace colorimétrique de matériaux : Utility - sRGB - Texture
Lors de l'exportation :
Modèle de sortie : glTF PBR Metal Roughness
Taille : Basé sur la taille de chaque jeu de textures
Dilatation : Dilation + couleur d'arrière-plan par défaut - 8 bit
Adobe Substance 3D Designer
Important : Substance Designer ne supporte pas la sortie glTF, contrairement à Substance Painter. |
Dans les préférences, vérifiez les paramètres Projet suivants :
Color Management: OpenColorIO
OpenColorIO Configuration: ACES 1.0.3
8 bit images: Utility - sRGB - Texture
16 bit images: Utility - sRGB - Texture
Floating point images: ACES - ACEScg
2D and 3D View Display Default: sRGB
Lors de l'exportation (Export Outputs):
basecolor: Utility - sRGB - Texture
normal: Utility - Raw
roughness: Utility - Raw
metallic: Utility - Raw
ambientocclusion: Utility - Raw
Si vous utilisez un nœud personnalisé pour produire un pre-compiled ORM map, il doit également être réglé sur Raw.
Cinema 4D
Veuillez suivre la documentation fournie dans ce blog post.
3DCoat
Avertissement : Avec la version "2022-58", 3DCoat est incapable de produire un fichier glTF conforme à la spécification, et ne doit donc pas être utilisé pour Second Life. Utilisez-le à vos risques et périls - vous aurez des problèmes ! |
L'export glTF a été implémenté depuis la version 2020 de 3DCoat et se trouve dans File >Export > Export to glTF > glTF Separate (gltf + .bin + textures)
Quixel Mixer
Quixel Mixer n'a pas de sortie glTF, mais il génère des textures fonctionnelles, bien qu'elles doivent être modifiées et combinées dans un logiciel de retouche photo.
Exportez-les en allant dans Export Target > Custom
Préréglage des textures : Metalness Maps
Sélectionnez:
Albedo , Roughness, Normal, AO , Metalness et ( si besoin ) Emissive.
Cliquez “Export to Disk” et ouvrez le dossier dans lequel les fichiers ont été placés.
Dans ce cas, Albedo est la texture de la couleur de base (Base color).
AO , Roughness , Metalness sont combinés dans la couche ORM, conformément à cette explication.
Normal Map : Quixel génère Direct3D Normal Maps. Le canal vert doit être inversé comme suit.
Transférez vos données dans Second Life à l'aide de Method 2.
Autodesk 3DS Max 2023
Autodesk vient d'ajouter la possibilité de créer des fichiers glTF en utilisant les nouvelles fonctionnalités glTF Material et glTF Export, comme indiqué dans le document suivant Autodesk's official documentation. Toutes les versions antérieures du logiciel Autodesk ne disposent pas de cette fonctionnalité.
Material Maker
Bien que Material Maker n'exporte pas directement en glTF (Cela pourrait être ajouté à l'avenir), les matériaux créés avec ce programme sont compatibles avec Second Life.
Exportez vos matériaux en utilisant le préréglage d'exportation Godot 4 ORM.
Chargez dans Second Life à l'aide de Method 2.
Adobe Photoshop
Bien que Photoshop ne soit pas officiellement un outil de création PBR, les modifications apportées à l'Alpha Blending (passage de l'espace sRGB à l'espace linéaire) peuvent vous obliger à modifier vos paramètres PS pour obtenir des résultats cohérents. Lisez cet article pour de plus amples informations. (Lisez la section intitulée "A Partial Solution"). Alternativement, ce post Reddit donne également quelques options sur la façon de réaliser un mélange de manière correcte.
GIMP
Bien que GIMP ne soit pas officiellement un outil de création PBR, les changements apportés à l'Alpha Blending (passage de l'espace sRGB à l'espace linéaire) dans Second Life permettront aux textures créées dans GIMP d'afficher correctement leurs alphas (GIMP utilise par défaut le calcul linéaire des alphas).
Résolution des problèmes
Si vous chargez un contenu PBR qui ne correspond pas à votre éditeur, le conseil de Linden Lab est d’arrêter : Remplissez un JIRA. N'essayez pas de "réparer" le contenu.
Cela dit, il existe des mesures de correction que vous pouvez prendre vous-même :
- Vérifiez que vous utilisez le préréglage PBR Linden Midday (appelé "Midday") et "non "Midday (Legacy)"". D'autres environnements peuvent ne pas correspondre au HDRi de référence, ce qui entraîne des différences visuelles. (Il s'agit d'un comportement intentionnel, et le contenu devrait pouvoir être visualisé correctement sous n'importe quel éclairage, mais à des fins de résolution de problèmes, cela peut s'avérer nécessaire).
- Actuellement, il y a un bug avec le préréglage PBR Linden Midday qui résulte en une brillance bleue excessive, due à l'utilisation d'une couleur de ciel sursaturée (irréaliste), parmi d'autres problèmes. Ce problème a été corrigé dans la prochaine version de la visionneuse de maintenance glTF.
- Utilisez-vous une sonde de réflexion ? Si ce n'est pas le cas, le problème se reproduit-il si une sonde de réflexion manuelle est placée sur l'objet ?
- Cela est dû au fait que l'utilisation d'une sonde automatique, combinée au fait d'être en intérieur, est une source fréquente de "reflets bleus". Les sondes automatiques échantillonnent leur environnement et, combiné à un placement approximatif (et souvent incorrect), cela entraîne l'échantillonage du ciel de tous les côtés. Du coup, la lumière réfléchie par l'environnement (qui contrebalance la lumière bleue du ciel) est absente, entraînant un niveau plus élevé que prévu de contribution du ciel sur l'objet. Le placement des sondes automatiques peut être pire dans les skybox ou les plates-formes dans le ciel.
- Vérifiez que les paramètres utilisés pour votre éditeur correspondent à ceux indiqués ici, y compris le HDRi de référence. Tout écart par rapport à ces paramètres peut entraîner des différences visuelles entre votre éditeur et le monde virtuel.
- Vérifier votre contenu par rapport à une visionneuse de référence glTF, par exemple :
Si les étapes ci-dessus échouent, veuillez déposer un JIRA.
Un bon JIRA comprendra :
- Un repère vers un lieu où le problème peut être vérifié dans le monde.
- Une copie du contenu glTF, jointe au JIRA.
- Des captures d'écran de la simulation dans le monde, dans une visionneuse de référence et dans l'éditeur.
- Vous devez inclure des captures d'écran de l'objet à l'intérieur d'une sonde de réflexion placée manuellement, et à l'extérieur.