Rendu physiquement basé (Rendu basé sur la physique (PBR)) les textures vous permettent de représenter un ombrage et une lumière réalistes en utilisant plusieurs types d'images de texture, ou cartes , sur un seul objet.Combiner plusieurs cartes de texture peut simuler plus précisément la couleur, la rugosité et la réflectivité dans n'importe quel environnement d'éclairage et peut améliorer les éléments visuels de vos ressources et de votre environnement.


Diverses applications et workflows sont disponibles pour créer des textures PBR.Vous pouvez les utiliser pendant les phases de modélisation et de texturation de la créationsd'objets 3D personnalisés, à condition que Roblox Studio supporte les cartes de texture spécifiques que vous utilisez.
Ce guide fournit des instructions sur la configuration de vos objets maillés pour utiliser les cartes de texture PBR, et décrit les cas d'utilisation et les meilleures pratiques communes pour les cartes de texture PBR de Roblox soutenues.Lors de la création de vos propres surfaces, voir références matérielles pour les valeurs matérielles communes, les comparaisons d'images et les exemples de vêtements.
Activer l'apparence de surface
Vous pouvez ajouter des textures PBR à n'importe quelle MeshPart en ajoutant un objet SurfaceAppearance qui remplace la texture attribuée initiale.En général, vous ne pouvez pas modifier les propriétés SurfaceAppearance des scripts pendant une expérience car le moteur nécessite un prétraitement pour afficher ces graphiques.Semblable à l'ajout d'une texture de base, chaque carte d'image de texture doit se référer à l'ID d'image téléchargée approprié.
Pour activer l'apparence de la surface pour un MeshPart :
Dans la fenêtre Explorateur, passez la souris sur le MeshPart et cliquez sur le bouton ⊕.
Insérez un SurfaceAppearance du menu contextuel.
Lorsque vous êtes prêt à ajouter des cartes de texture à l'objet SurfaceAppearance, vous pouvez cliquer sur chaque propriété de carte dans la fenêtre Propriétés et entrer un ID de ressource.
Cartes de texture
Studio prend actuellement en charge 4 types de cartes de texture PBR : couleur , normal , rugosité et métallicité .Chacune de ces cartes correspond à un aspect important de l'apparence de la surface de l'objet.Les cartes de texture ne modifient que l'apparence visuelle et n'affectent pas la géométrie de l'objet MeshPart.
Voir les exemples suivants pour une vue d'ensemble des cartes de texture soutenues par Roblox et des ressources supplémentaires :
La propriété ColorMap définit les données de couleur de la surface, y compris toute transparence présente sur la carte.Voir couleur (albedo) pour plus d'informations.



Couleur (albedo)
La couleur ou l'albedo détermine la couleur de votre texture et se compose principalement d'informations de couleur avec peu ou pas d'informations sur l'éclairage ou la texture.Pour une personnalisation supplémentaire, vous pouvez également ajouter transparence dans votre texture d'albédo en ajoutant de l'opacité à votre carte d'image.
Modes alpha
Pour les objets qui nécessitent des sections partielles ou complètes de transparence, comme de l'herbe, des feuilles, des lacets ou des autocollants comme de la saleté ou du grunge, vous pouvez utiliser différents modes alpha pour appliquer la transparence à votre carte de couleur .Si votre format d'image de carte de couleur prend en charge les canaux alpha, vous pouvez appliquer une carte alpha grayscale où 0.0 est transparente et 1.0 est opaque.De même, lors de l'utilisation d'un format d'image tel qu'un .png , toute opacité sur la carte des couleurs s'applique comme transparence sur la contenu.
Vous pouvez appliquer la transparence dans deux comportements différents en définissant les valeurs suivantes AlphaMode :
- Superposition — Superposez le ColorMap sur le maillage sous-jacent MeshPart.Color .Les cartes de couleur en utilisant superposition révèlent la couleur de base du maillage partout où la transparence est présente.C'est la paramètrepar défaut.
- Transparence — Supprime le maillage visible en fonction de la transparence dans le ColorMap .Cela rend le maillage transparent et ne révèle pas la couleur du maillage original chaque fois que la transparence est présente.
Superposition
Vous pouvez utiliser superposition pour révéler des sections de la couleur originale du maillage.Puisque les zones transparentes de la carte des couleurs exposent la couleur sous-jacente, vous pouvez concevoir une carte de texture unique qui révèle partiellement ou entièrement la propriété du maillage Color pour les tons de peau personnalisés ou d'autres situations avec des couleurs uniques.
L'exemple suivant montre comment le mode superposition fonctionne en utilisant une référence de sphère blanche :



L'exemple suivant utilise le mode superposition pour les personnages personnalisés, révélant le ton de peau original du personnage :


Voir teint de peau personnalisé pour plus de détails sur l'optimisation d'une superposition pour la peau et les applications similaires.
透明ité transparence
Vous pouvez utiliser le mode transparence pour créer des objets complexes ou extrêmement fins, tels que des lacets ou des mailles, en enlevant les parties visibles du maillage en tant qu'alternative à la sculpture de la géométrie du maillage.Puisque cela n'affecte pas la géométrie de l'objet maillé, cela peut vous permettre de créer des objets détaillés sans l'impact de performance d'un modèlisationde maillage complexe.
L'exemple suivant montre comment une transparence partielle et complète dans ce mode élimine visuellement des sections du maillage :



Il y a deux résultats du mode mode, selon si le est réglé sur ou au moins , bien que la précision numérique puisse entraîner de petites valeurs telles que déclencher la transparence opaque.
- Lorsque l'alpha est utilisé pour couper la forme de la plupart des objets opaques avec des bords durs tels que le feuillage, le tissu de dentelle et le filet, définissez le MeshPart.Transparency à 0 .Lorsque des parties de la surface sont entièrement opaques, le moteur Roblox peut les rendre avec une occlusion basée sur la profondeur appropriée.Les surfaces opaques fonctionnent également généralement mieux avec des effets basés sur la profondeur comme DepthOfFieldEffect , la réfraction du verre et la réflection de l'eau.
- Lorsque l'alpha est utilisé pour ajouter des détails à des objets semi-transparents ou à des objets avec des graduations lisses de transparence, définissez le à au moins .Cela améliore la qualité du mélange pour des objets tels que des fenêtres sales et des plumes à bords doux, mais il ne fonctionnera pas avec tous les effets.
Masque de teinte
Vous pouvez utiliser le mode Enum.AlphaMode.TintMask pour appliquer une teinte SurfaceAppearance.Color à des zones sélectionnées d'une surface.La teinte est la plus forte là où le canal alpha est entièrement visible et non appliqué là où le canal alpha est transparent.

Coloration teintée
Vous pouvez appliquer une teinte à votre carte de couleurs en modifiant la propriété SurfaceAppearance.Color.La teinture n'affecte pas les performances et vous pouvez économiser de la mémoire en réutilisant une seule carte de couleur avec différentes teintes.Utilisez la teinture de couleur pour créer une variation de coût supplémentaire entre vos textures PBR MeshPart ou pour modifier programmatiquement les couleurs de la surface PBR en temps réel.



SurfaceAppearance.Color la teinture s'applique comme multiplicateur, donc l'apparence finale est une fonction de Color3 (couleur texel) fois SurfaceAppearance.Color .Cela signifie que la rédaction de votre original SurfaceAppearance.ColorMap en couleurs gris pâle créé l'effet de teinte le plus fort lorsque cette propriété est appliquée.
La teinture ne s'applique qu'au SurfaceAppearance.ColorMap et non au MeshPart.Color. Vous pouvez continuer à utiliser les canaux alpha lors de l'application de transparence.
Lorsque SurfaceAppearance.AlphaMode est défini sur Overlay et qu'un canal alpha est présent, la couche sous-jacente MeshPart.Color est révélée et la teinture SurfaceAppearance.Color ne s'applique qu'à la carte de couleur visible SurfaceAppearance.
Lorsque SurfaceAppearance.AlphaMode est réglé sur TintMask et qu'un canal alpha est présent, le canal alpha contrôle la quantité de SurfaceAppearance.Color teinture.La teinte est la plus forte là où le canal alpha est entièrement visible et non appliqué là où le canal alpha est transparent.

Ordinaire
La normale ou surface ajoute de la profondeur de texture à votre surface et se comporte de manière similaire à une carte de hauteur .Par resultats, l'effet peut disparaître ou s'intensifier en fonction de l'angle de vision et de l'environnement d'éclairage.Lorsqu'une carte normale n'est pas présente, la valeur est définie à 0.0 .
Dans la figure suivante, vous pouvez passer d'une référence de maillage à une référence de carte pour les comparaisons des valeurs de carte normales :



Les canaux R , G et B de l'image correspondent respectivement aux composants X , Y et Z du force vectoriellede surface local.Une image uniforme de couleur [127, 127, 255] se traduit par une carte normale complètement plate.Roblox ne prend en charge que le format OpenGL - Espace tangentiel normal des cartes.
Les cartes normales affectent de manière significative la surface visuelle d'un maillage et peuvent accentuer les coutures difficiles dans votre texture.Lorsque cela est possible, gardez vos coutures de texture cachées pour éviter les problèmes visuels avec votre maillage.
Rugosité
rugosité , ou microsurface , les cartes déterminent comment la lumière est répartie sur la surface de votre modèlisation.Lorsque la rugosité est à 0.0, la surface ne diffuse pas du tout de lumière, ce qui entraîne une réflection et une brillance beaucoup plus aiguisées et plus lumineuses sur votre matériau.À 1.0 , la lumière et les réflexions se répartissent de manière égale sur le modèle ce qui donne une surface mate moins réfléchissante.
La rugosité peut avoir un impact sur la réflectivité d'un objet à différents angles, appelée l'effet Fresnel .Voir fresnel pour plus de détails et les meilleures pratiques pour maintenir un comportement réfléchissant cohérent.
La figure suivante montre des comparaisons de différentes valeurs de rugosité de la carte :



Fresnel
Fresnel fait référence à la quantité de réflexion d'une surface par rapport à l'angle de vision actuel.La transformation Fresnel du studio vise à une précision du monde physique, bien que vous puissiez obtenir une contribution spéculaire inattendue à certains angles même avec des surfaces rugueuses.Dans certains cas, vous pouvez compenser en rendant votre carte de rugosité plus rugueuse autour de 0.1 plus rugueuse pour obtenir une réponse d'éclairage cohérente avec vos matériaux.
Bien que Roblox rende cet effet d'éclairage avec précision, la luminosité et la réflectivité d'une surface peuvent ne pas répondre de manière cohérente entre votre logiciel de création de contenu de texture, tel que Substance Painter, et Studio.Voir exemples de vêtements pour les différences de rendu entre les applications.
Métallicité
Métallicité détermine la réflectivité d'une surface.Les valeurs de métallicité se situent entre 0.0 et 1.0.Roblox définit la valeur par défaut à 0.0 si une carte de métallicité n'est pas présente.
Voir la figure suivante pour les comparaisons de différentes valeurs de carte de métallicité :



Les différents rendus PBR utilisent différents workflows pour le traitement de la réflectivité.Studio ne utilise que le flux de travail de la métallicité qui détermine si un matériau est un non métal ou un métal , parfois appelé un isolant ou un conducteur .
Dans la plupart des cas, vous devez définir cette valeur à 0.0 (non métallique) ou 1.0 (métallique).Vous pouvez utiliser des valeurs de métallicité partielles lors de la création de surfaces plus inhabituelles avec des propriétés réfléissantes modérées, comme la soie ou le satin.Cette pratique peut subtilement contrefaire les réflexions dans le matériau pour mettre en évidence la couleur de la carte couleur/réflectance sur les couleurs reflétées dans l'environnement.