Matériaux couleur
Les matériaux de couleur constituent l’un des types de matériaux pris en charge dans Azure Remote Rendering. Ils sont utilisés pour les maillages qui ne doivent recevoir aucun type d’éclairage, mais qui apparaissent plutôt toujours à pleine luminosité. Ce peut être le cas pour les matériaux « lumineux », tels que les tableaux de bord de voiture, les ampoules, ou pour les données qui intègrent déjà l’éclairage statique, telles que les modèles obtenus par photogrammétrie.
Les matériaux de couleur sont plus avantageux à restituer que les matériaux PBR en raison de leur modèle d’ombrage plus simple. Ils prennent également en charge différents modes de transparence.
Propriétés des matériaux de couleur
Les propriétés matérielles suivantes sont exposées dans l’API de runtime, par exemple sur la classe C# ColorMaterial ou la classe C++ ColorMaterial, respectivement.
ColorFlags
: divers indicateurs de fonctionnalité peuvent être combinés dans ce masque de bits pour activer les fonctionnalités suivantes :UseVertexColor
si le maillage comprend des couleurs vertex et que cette option est activée, la couleur vertex du maillage est multipliée parAlbedoColor
etAlbedoMap
. Par défaut,UseVertexColor
est désactivé.DoubleSided
: si la bilatéralité est définie sur true, les triangles bénéficiant de ce matériau sont rendus même si la caméra regarde vers les faces arrière. Par défaut, cette option est désactivée. Voir aussi Single-sided rendering.AlphaClipped
: active les découpages durs par pixel, si la valeur alpha est inférieure à la valeur deAlphaClipThreshold
(voir ci-dessous). Cela fonctionne également pour les matériaux opaques.TransparencyWritesDepth
: si l’indicateurTransparencyWritesDepth
est défini sur le matériau et que celui-ci est transparent, les objets utilisant ce matériau contribueront également au tampon de profondeur final. Consultez la propriétéColorTransparencyMode
de matériau de couleur dans la section suivante. L’activation de cette fonctionnalité est recommandée si votre cas d’usage a besoin d’une Reprojection en phase tardive plus plausible des scènes entièrement transparentes. Pour les scènes opaques/transparentes mixtes, ce réglage peut introduire un comportement ou des artefacts de reprojection invraisemblables. Pour cette raison, le réglage par défaut et recommandé pour le cas d’usage général est de désactiver cet indicateur. Les valeurs de profondeur écrites sont extraites de la couche de profondeur par pixel de l’objet qui est le plus proche de l’appareil photo.FresnelEffect
: Cet indicateur de matériau active l’ajout de l’effet Fresnel sur le matériau respectif. L’apparence de l’effet est régie par les autres paramètres de FresnelFresnelEffectColor
etFresnelEffectExponent
expliqués ci-dessous.
AlbedoColor
: cette couleur est multipliée par d’autres couleurs, telles que les couleursAlbedoMap
ou vertex. Si la propriété transparency est activée sur un matériau, le canal alpha est utilisé pour ajuster l’opacité, avec1
pour entièrement opaque et0
pour entièrement transparent. La couleur albedo par défaut est blanc opaque.Remarque
Étant donné que les matériaux de couleur ne reflètent pas l’environnement, un matériau de couleur entièrement transparent devient invisible. Il en va différemment pour les matériaux PBR.
AlbedoMap
: une texture 2D pour les valeurs albedo par pixel.AlphaClipThreshold
: si l’indicateurAlphaClipped
est défini sur la propriétéColorFlags
, tous les pixels où la valeur albedo alpha est inférieure à la valeur deAlphaClipThreshold
ne sont pas dessinés. Le détourage alpha peut être utilisé, même sans activation de la transparence, et s’avère nettement plus rapide à rendre. Les matériaux avec détourage alpha sont cependant plus lents à rendre que les matériaux entièrement opaques. Par défaut, le détourage alpha est désactivé.TexCoordScale
etTexCoordOffset
: l’échelle est multipliée par les coordonnées de la texture UV, le décalage y est ajouté. Peut être utilisée pour étirer et décaler les textures. La valeur par défaut de l’échelle est de (1, 1) et le décalage est de (0, 0).FresnelEffectColor
: Couleur de Fresnel utilisée pour ce matériau. Important uniquement quand l’indicateur de Fresnel a été défini sur ce matériau (voir ci-dessus). Cette propriété contrôle la couleur de base de la brillance de Fresnel (consultez Effet Fresnel pour obtenir une explication complète). Seules les valeurs du canal RVB sont importantes, la valeur alpha est ignorée.FresnelEffectExponent
: Exposant de Fresnel utilisé pour ce matériau. Important uniquement quand l’indicateur de Fresnel a été défini sur ce matériau (voir ci-dessus). Cette propriété contrôle la diffusion de la brillance de Fresnel. La valeur minimale 0.01 entraîne une diffusion sur l’ensemble de l’objet. La valeur maximale 10.0 restreint la brillance uniquement aux bords les plus gracieux visibles.VertexMix
: cette valeur comprise entre0
et1
précise dans quelles proportions la couleur vertex dans un maillage contribue à la couleur finale. Avec la valeur par défaut de 1, la couleur vertex est multipliée complètement par la couleur albedo. Avec la valeur 0, les couleurs vertex sont entièrement ignorées.ColorTransparencyMode
: contrairement aux matériaux PBR, les matériaux de couleur se distinguent par différents modes de transparence :Opaque
: le mode par défaut désactive la transparence. Par contre, le détourage alpha est toujours possible et doit être préféré, s’il est suffisant.AlphaBlended
: ce mode est similaire au mode de transparence pour les matériaux PBR. Il doit être utilisé pour les matériaux transparents, tels que le verre.Additive
: ce mode est le mode de transparence le plus simple et le plus avantageux. La contribution du matériau est ajoutée à l’image rendue. Ce mode peut être utilisé pour simuler des objets lumineux (mais toujours transparents), tels que les marqueurs utilisés pour mettre en évidence des objets importants.
Remplacements de matériaux de couleur pendant la conversion
Un sous-ensemble de propriétés de matériau de couleur peut être remplacé lors de la conversion du modèle via le fichier de remplacement de matériau. Le tableau suivant montre le mappage entre les propriétés de runtime documentées ci-dessus et le nom de propriété correspondant dans le fichier de remplacement :
Nom de propriété du matériau | Nom de la propriété dans le fichier de remplacement |
---|---|
ColorFlags.AlphaClipped |
alphaClipEnabled |
ColorFlags.UseVertexColor |
useVertexColor |
ColorFlags.DoubleSided |
isDoubleSided |
ColorFlags.TransparencyWritesDepth |
transparencyWritesDepth |
AlbedoColor |
albedoColor |
TexCoordScale |
textureCoordinateScale |
TexCoordOffset |
textureCoordinateOffset |
ColorTransparencyMode |
transparent |
AlphaClipThreshold |
alphaClipThreshold |
Documentation de l’API
- ColorMaterial, classe C#
- C# RenderingConnection.CreateMaterial()
- ColorMaterial, classe C++
- C++ RenderingConnection::CreateMaterial()