PrincipledMaterial QML Type
Permet de définir un matériau pour des objets 3D à l'aide du flux de travail métal/rugosité. Plus d'informations...
| Import Statement: | import QtQuick3D |
| Inherits: |
Propriétés
- alphaCutoff : real
- alphaMode : enumeration
- attenuationColor : color
- attenuationDistance : real
- baseColor : color
- baseColorChannel : enumeration
(since 6.8) - baseColorMap : Texture
- baseColorSingleChannelEnabled : bool
(since 6.8) - blendMode : enumeration
- clearcoatAmount : real
- clearcoatChannel : enumeration
- clearcoatFresnelBias : real
- clearcoatFresnelPower : real
- clearcoatFresnelScale : real
- clearcoatFresnelScaleBiasEnabled : real
- clearcoatMap : Texture
- clearcoatNormalMap : Texture
- clearcoatNormalStrength : real
- clearcoatRoughnessAmount : real
- clearcoatRoughnessChannel : enumeration
- clearcoatRoughnessMap : Texture
- emissiveChannel : enumeration
(since 6.8) - emissiveFactor : vector3d
- emissiveMap : Texture
- emissiveSingleChannelEnabled : bool
(since 6.8) - fresnelBias : real
- fresnelPower : real
- fresnelScale : real
- fresnelScaleBiasEnabled : real
- heightAmount : real
- heightChannel : enumeration
- heightMap : Texture
- indexOfRefraction : real
- invertOpacityMapValue : real
(since 6.8) - lighting : enumeration
- lineWidth : real
- maxHeightMapSamples : int
- metalness : real
- metalnessChannel : enumeration
- metalnessMap : Texture
- minHeightMapSamples : int
- normalMap : Texture
- normalStrength : real
- occlusionAmount : real
- occlusionChannel : enumeration
- occlusionMap : Texture
- opacity : real
- opacityChannel : enumeration
- opacityMap : Texture
- pointSize : real
- roughness : real
- roughnessChannel : enumeration
- roughnessMap : Texture
- specularAmount : real
- specularChannel : enumeration
(since 6.8) - specularMap : Texture
- specularReflectionMap : Texture
- specularSingleChannelEnabled : bool
(since 6.8) - specularTint : real
- thicknessChannel : enumeration
- thicknessFactor : real
- thicknessMap : Texture
- transmissionChannel : enumeration
- transmissionFactor : real
- transmissionMap : Texture
- vertexColorAlphaMask : enumeration
(since 6.8) - vertexColorBlueMask : enumeration
(since 6.8) - vertexColorGreenMask : enumeration
(since 6.8) - vertexColorRedMask : enumeration
(since 6.8) - vertexColorsEnabled : bool
(since 6.5) - vertexColorsMaskEnabled : bool
(since 6.8)
Description détaillée
Avant qu'un modèle puisse être rendu dans une scène, il doit être associé à au moins un matériau décrivant la manière dont le maillage doit être ombré. Le PrincipledMaterial est un matériau PBR de type métal/rugosité qui vise à être un matériau facile à utiliser avec un ensemble minimal de paramètres. En plus d'avoir peu de paramètres, toutes les valeurs d'entrée sont strictement normalisées entre 0 et 1 et ont des valeurs par défaut raisonnables, ce qui signifie que même sans changer aucune valeur, le matériau peut être utilisé pour ombrer un modèle. Pour une introduction sur la façon dont les différentes propriétés du matériau de principe affectent l'ombrage d'un modèle, voir l'exemple du matériau de principe.
Flux de travail Métal/Rugosité
Le matériau de base est ce que l'on appelle un matériau métal/rugosité, ce qui signifie essentiellement que les principales caractéristiques du matériau sont contrôlées par les propriétés metallness, roughness et base color.
Métallicité
Les matériaux du monde réel sont classés en deux catégories principales : les métaux et les diélectriques (non-métaux). Dans le matériau de principe, la catégorie à laquelle appartient un matériau est déterminée par la valeur metalness. Si la valeur metalness est fixée à 0, le matériau est diélectrique, tandis que tout ce qui est supérieur à 0 est considéré comme un métal. En réalité, les métaux ont une valeur metalness de 1, mais des valeurs entre 0 et 1 sont possibles et sont généralement utilisées pour les métaux à réflectance réduite. Par exemple, pour rendre la corrosion, ou un phénomène similaire, sur un matériau, la valeur metalness du matériau doit être réduite pour donner à la sortie des propriétés plus proches de celles d'un matériau diélectrique. Étant donné que la valeur metalness affecte la réflectance du matériau, il peut être tentant d'utiliser la métallicité pour ajuster la brillance, mais réfléchissez d'abord au type de matériau que vous souhaitez décrire. L'augmentation de la valeur metalness pour donner à un matériau diélectrique un aspect plus poli introduira des propriétés qui ne sont pas exactes pour un matériau diélectrique. Il convient donc de se demander s'il ne serait pas plus approprié d'ajuster, par exemple, la valeur roughness à la place.
Rugosité
La valeur roughness d'un matériau décrit l'état de la surface d'un objet. Une valeur roughness faible signifie que l'objet a une surface lisse et qu'il est donc plus réfléchissant qu'un matériau dont la valeur roughness est plus élevée.
Couleur de base
Le site base color d'un matériau métal/rugosité contient à la fois des données diffuses et spéculaires. La mesure dans laquelle la couleur de base est interprétée comme l'une ou l'autre est principalement dictée par la valeur metalness. Par exemple, dans le cas d'un matériau dont la valeur de métallicité est de 1, la majeure partie de la couleur de base sera interprétée comme une couleur spéculaire, tandis que la couleur diffuse sera une teinte noire. L'inverse se produirait pour un matériau avec une valeur de métallicité de 0. Ceci est bien sûr un peu simplifié, mais donne une idée approximative de la façon dont les valeurs base color et metalness interagissent. Pour ceux qui sont plus familiers avec le flux de travail spéculaire/brillant, il y a une différence claire qui mérite d'être notée, à savoir que les données de couleur des deux matériaux ne sont pas directement compatibles, puisque dans un flux de travail spéculaire/brillant material, la couleur diffuse et la couleur spéculaire proviennent d'entrées séparées.
Documentation sur les propriétés
alphaCutoff : real
La propriété alphaCutoff peut être utilisée pour spécifier la valeur de coupure lors de l'utilisation de Mask alphaMode. Les fragments dont la valeur alpha est inférieure au seuil seront rendus totalement transparents (0.0 pour tous les canaux de couleur). Lorsque la valeur alpha est égale ou supérieure à la valeur de coupure, la couleur n'est en aucun cas affectée.
La valeur par défaut est 0,5.
Voir également alphaMode.
alphaMode : enumeration
Cette propriété spécifie comment la valeur de la couleur alpha de baseColor et le canal alpha de base color map sont utilisés.
Note : Le test de coupure alpha ne prend en compte que l'alpha de la couleur de base. opacity et Node::opacity ne sont pas pris en compte.
Remarque : lors de l'échantillonnage d'une carte de couleurs de base, la valeur alpha effective est l'alpha échantillonné multiplié par l'alpha de baseColor.
| Constante | Description |
|---|---|
PrincipledMaterial.Default | Aucun test n'est appliqué, la valeur alpha effective est transmise telle quelle. Notez qu'une valeur alpha de baseColor ou baseColorMap inférieure à 1.0 n'implique pas automatiquement un mélange alpha. L'objet contenant le matériau peut toujours être traité comme opaque si aucune autre propriété pertinente (telle qu'une opacité inférieure à 1, la présence d'une carte d'opacité ou une valeur blendMode autre que celle par défaut) ne déclenche le traitement de l'objet comme semi-transparent. Pour garantir que le mélange alpha s'effectue indépendamment de toute autre propriété d'objet ou de matériau, définissez plutôt Blend. |
PrincipledMaterial.Blend | Aucun test de coupure n'est appliqué, mais le mélange alpha est garanti. L'objet doté de ce matériau ne sera donc jamais traité comme opaque par le moteur de rendu. |
PrincipledMaterial.Opaque | Aucun test de coupure n'est appliqué et l'objet rendu est supposé être totalement opaque, ce qui signifie que les valeurs alpha de la couleur du sommet, de la couleur de base et de la carte des couleurs de base sont ignorées et remplacées par une valeur de 1,0. Ce mode ne garantit pas que le mélange alpha ne se produise pas. Si des propriétés pertinentes (telles qu'une opacité inférieure à 1, une carte d'opacité ou une adresse blendMode non définie par défaut) l'indiquent, l'objet sera toujours traité comme semi-transparent par le pipeline de rendu, tout comme avec le mode alpha de Default. |
PrincipledMaterial.Mask | Un test basé sur alphaCutoff est appliqué. Si la valeur alpha effective est inférieure à alphaCutoff, le fragment devient totalement transparent et est rejeté (avec toutes les conséquences que cela implique : le tampon de profondeur n'est pas écrit pour ce fragment). Dans le cas contraire, la valeur alpha est portée à 1,0, de sorte que le fragment devient totalement opaque. En ce qui concerne le mélange alpha, le comportement de ce mode est identique à celui de Opaque, quel que soit le résultat du test de coupure. Cela signifie que les notes de mise en œuvre de la couverture alpha de la spécification glTF 2 sont respectées. Les objets avec des tests de coupure alpha peuvent également projeter des ombres puisqu'ils se comportent comme des objets opaques par défaut, à moins que les propriétés pertinentes (telles qu'une opacité inférieure à 1, une carte d'opacité ou une adresse blendMode autre que celle par défaut) n'impliquent le contraire (auquel cas la projection d'ombres ne sera pas possible). |
Voir également alphaCutoff et blendMode.
attenuationColor : color
Cette propriété définit la couleur que les lumières blanches prennent en raison de l'absorption lorsqu'elles atteignent la distance d'atténuation. La valeur par défaut est Qt.White
attenuationDistance : real
Cette propriété définit la densité du milieu, c'est-à-dire la distance moyenne parcourue par la lumière dans le milieu avant d'interagir avec une particule. La valeur est donnée dans l'espace mondial. La valeur par défaut est +infinity.
baseColor : color
Cette propriété définit la couleur de base du matériau. Selon le type de matériau spécifié (métal ou diélectrique), les canaux diffus et spéculaires seront définis de manière appropriée. Par exemple, un matériau diélectrique aura une couleur diffuse égale à la couleur de base, tandis que sa couleur spéculaire, en fonction de la quantité spéculaire, aura une couleur spéculaire brillante. Pour les métaux, les canaux diffus et spéculaires seront mélangés à partir de la couleur de base et auront un canal diffus sombre et un canal spéculaire proche de la couleur de base.
Voir également baseColorMap et alphaMode.
baseColorChannel : enumeration [since 6.8]
Cette propriété définit le canal de texture utilisé pour lire la valeur baseColor à partir de baseColorMap. Pour utiliser un seul canal de texture comme couleur, vous devez activer le canal baseColorSingleChannelEnabled. La valeur par défaut est Material.R.
| Constante | Description |
|---|---|
Material.R | Lecture de la valeur du canal de texture R. |
Material.G | Lire la valeur du canal G de la texture. |
Material.B | Lire la valeur du canal B de la texture. |
Material.A | Lire la valeur du canal A de la texture. |
Cette propriété a été introduite dans Qt 6.8.
baseColorMap : Texture
Cette propriété définit la texture utilisée pour définir la couleur de base du matériau.
Voir également baseColor et alphaMode.
baseColorSingleChannelEnabled : bool [since 6.8]
Lorsque cette propriété est activée, le matériau utilise la valeur unique de baseColorChannel à partir de baseColorMap comme valeur RVB et utilise 1.0 comme valeur alpha. La valeur par défaut est false.
Cette propriété a été introduite dans Qt 6.8.
blendMode : enumeration
Cette propriété détermine comment les couleurs du modèle rendu se mélangent avec celles qui se trouvent derrière lui.
| Constante | Description |
|---|---|
PrincipledMaterial.SourceOver | Mode de fusion par défaut. Les objets opaques occultent les objets situés derrière eux. Ce mode par défaut ne garantit pas à lui seul le mélange alpha dans le pipeline de rendu pour les modèles qui utilisent ce matériau, mais rend la décision dépendante d'un certain nombre de facteurs : si l'opacité totale de l'objet et du matériau est 1.0, qu'il n'y a pas de carte d'opacité dans le matériau et que alphaMode n'est pas fixé à une valeur qui impose le mélange alpha, alors le modèle est traité comme opaque, ce qui signifie qu'il est rendu avec le test de profondeur et l'écriture de profondeur activés, avec d'autres objets opaques, avec le mélange désactivé. Dans le cas contraire, le modèle est traité comme semi-transparent et est rendu après les objets opaques, avec d'autres objets semi-transparents dans l'ordre inverse de la distance de leur centre par rapport à la caméra, avec l'alpha blending activé. |
PrincipledMaterial.Screen | Les couleurs sont mélangées à l'aide d'une multiplication inversée, ce qui produit un résultat plus clair. Ce mode de fusion est indépendant de l'ordre ; si vous utilisez des objets semi-opaques et que vous constatez que les visages ou les modèles sont triés différemment, l'utilisation de la fusion d'écran est un moyen d'obtenir des résultats sans effet d'éclatement. |
PrincipledMaterial.Multiply | Les couleurs sont mélangées à l'aide d'un multiplicateur, ce qui donne un résultat plus sombre. Ce mode de fusion est également indépendant de l'ordre. |
Voir également alphaMode et Qt Quick Architecture 3D.
clearcoatAmount : real
Cette propriété définit l'intensité de la couche de vernis.
La valeur par défaut est 0.0
clearcoatChannel : enumeration
Cette propriété définit le canal de texture utilisé pour lire la valeur de la quantité de vernis à partir de clearcoatMap. La valeur par défaut est Material.R.
| Constante | Description |
|---|---|
Material.R | Lecture de la valeur dans le canal de texture R. |
Material.G | Valeur lue dans le canal G de la texture. |
Material.B | Lire la valeur dans le canal B de la texture. |
Material.A | Valeur lue dans le canal A de la texture. |
clearcoatFresnelBias : real
Cette propriété permet de repousser les réflexions frontales (en regardant directement la surface) tout en conservant les réflexions observées à des angles rasants. Pour pouvoir modifier le matériau, vous devez activer clearcoatFresnelScaleBiasEnabled. La valeur par défaut est 0.0.
clearcoatFresnelPower : real
Cette propriété diminue les réflexions frontales (en regardant directement la surface) tout en conservant les réflexions observées à des angles rasants. La valeur par défaut est 5.0.
clearcoatFresnelScale : real
Cette propriété met à l'échelle les réflexions frontales (en regardant directement la surface) tout en conservant les réflexions observées à des angles rasants. Pour pouvoir modifier le matériau, vous devez activer clearcoatFresnelScaleBiasEnabled. La valeur par défaut est 1.0.
clearcoatFresnelScaleBiasEnabled : real
En fixant la valeur à true, le matériau prendra en compte l'échelle de Fresnel de la couche claire et le biais de Fresnel de la couche claire. La valeur par défaut est false.
clearcoatMap : Texture
Cette propriété définit une texture utilisée pour déterminer l'intensité de la couche de vernis. La valeur declearcoatAmount sera multipliée par la valeur lue dans cette texture.
clearcoatNormalMap : Texture
Cette propriété définit une texture utilisée pour déterminer la cartographie normale appliquée à la couche de vernis.
clearcoatNormalStrength : real
Cette propriété contrôle la quantité de déplacement simulé pour le site clearcoatNormalMap.
clearcoatRoughnessAmount : real
Cette propriété définit la rugosité de la couche de vernis. La valeur par défaut est 0.0
clearcoatRoughnessChannel : enumeration
Cette propriété définit le canal de texture utilisé pour lire la rugosité du vernis sur clearcoatRoughnessMap. La valeur par défaut est Material.G.
| Constante | Description |
|---|---|
Material.R | Valeur lue dans le canal de texture R. |
Material.G | Valeur lue dans le canal G de la texture. |
Material.B | Lire la valeur dans le canal de texture B. |
Material.A | Valeur lue dans le canal A de la texture. |
clearcoatRoughnessMap : Texture
Cette propriété définit une texture utilisée pour déterminer la rugosité de la couche de vernis. La valeur declearcoatRoughnessAmount sera multipliée par la valeur lue dans cette texture.
emissiveChannel : enumeration [since 6.8]
Cette propriété définit le canal de texture utilisé pour lire la valeur émissive à partir de emissiveMap. Pour utiliser un seul canal de texture comme couleur, vous devez activer la propriété emissiveSingleChannelEnabled. La valeur par défaut est Material.R.
| Constante | Description |
|---|---|
Material.R | Lecture de la valeur du canal R de la texture. |
Material.G | Lire la valeur du canal G de la texture. |
Material.B | Lire la valeur du canal B de la texture. |
Material.A | Lire la valeur du canal A de la texture. |
Cette propriété a été introduite dans Qt 6.8.
emissiveFactor : vector3d
Cette propriété détermine la couleur de l'auto-illumination pour ce matériau. Si une carte émissive est définie, les composantes x, y et z sont utilisées comme facteurs (multiplicateurs) pour les canaux R, G et B de la texture, respectivement. La valeur par défaut est (0, 0, 0), ce qui signifie qu'il n'y a pas de contribution émissive du tout.
Remarque : si le mode d'éclairage est défini sur DefaultMaterial.NoLighting, le facteur émissif n'a pas d'effet sur la scène.
emissiveMap : Texture
Cette propriété définit une texture RVB à utiliser pour spécifier l'intensité de la couleur émissive.
emissiveSingleChannelEnabled : bool [since 6.8]
Lorsque cette propriété est activée, le matériau utilise la valeur unique de emissiveChannel à partir de emissiveMap comme valeur RVB. La valeur par défaut est false.
Cette propriété a été introduite dans Qt 6.8.
fresnelBias : real
Cette propriété permet de repousser les réflexions frontales (en regardant directement la surface) tout en conservant les réflexions observées à des angles rasants. Pour pouvoir modifier le matériau, vous devez activer fresnelScaleBiasEnabled. La valeur par défaut est 0.0.
fresnelPower : real
Cette propriété diminue les réflexions frontales (en regardant directement la surface) tout en conservant les réflexions observées à des angles rasants. La valeur par défaut est 5.0.
fresnelScale : real
Cette propriété met à l'échelle les réflexions frontales (en regardant directement la surface) tout en conservant les réflexions observées à des angles rasants. Pour pouvoir modifier le matériau, vous devez activer fresnelScaleBiasEnabled. La valeur par défaut est 1.0.
fresnelScaleBiasEnabled : real
En fixant la valeur à true, le matériau prendra en compte l'échelle de Fresnel et le biais de Fresnel. La valeur par défaut est false.
heightAmount : real
Cette propriété contient le facteur utilisé pour modifier les valeurs de la texture heightMap. La valeur doit être comprise entre 0.0 et 1.0. La valeur par défaut est 0.0, ce qui signifie que le déplacement en hauteur sera désactivé, même si une carte de hauteur est définie.
heightChannel : enumeration
Cette propriété définit le canal de texture utilisé pour lire la valeur de hauteur sur heightMap. La valeur par défaut est Material.R.
| Constante | Description de la constante |
|---|---|
Material.R | Lecture de la valeur du canal R de la texture. |
Material.G | Lire la valeur dans le canal G de la texture. |
Material.B | Lire la valeur dans le canal B de la texture. |
Material.A | Valeur lue dans le canal A de la texture. |
heightMap : Texture
Cette propriété définit une texture utilisée pour déterminer la hauteur à laquelle la texture sera déplacée lors du rendu grâce à l'utilisation de la cartographie parallaxe. Les valeurs sont censées être linéaires de 0,0 à 1,0, où 0,0 signifie aucun déplacement et 1,0 signifie un déplacement maximal.
indexOfRefraction : real
Cette propriété définit l'indice de réfraction du matériau. La valeur par défaut de 1.5 est la valeur idéale pour des matériaux tels que le plastique ou le verre, mais d'autres matériaux tels que l'eau, l'asphalte, le saphir ou le diamant nécessitent une valeur ajustée pour être plus réalistes. Pour les matériaux réalistes, l'indice de réfraction doit généralement se situer entre 1.0 et 3.0
Voici quelques exemples d'indices de réfraction de matériaux courants :
| Matériau | Indice de réfraction |
|---|---|
| Air | 1.0 |
| Eau | 1.33 |
| Verre | 1.55 |
| Saphir | 1.76 |
| Diamant | 2.42 |
Note : Aucun matériau connu dans le monde n'a un ior supérieur à 3.0.
invertOpacityMapValue : real [since 6.8]
Cette propriété inverse la valeur d'opacité de l'image opacityMap. La valeur par défaut est false.
Cette propriété a été introduite dans Qt 6.8.
lighting : enumeration
Cette propriété définit la méthode d'éclairage utilisée lors de la création de ce matériau.
La valeur par défaut est PrincipledMaterial.FragmentLighting
Lorsque vous utilisez PrincipledMaterial.FragmentLighting, l'éclairage diffus et spéculaire est calculé pour chaque pixel rendu. Certains effets (tels qu'une carte de Fresnel ou une carte normale) nécessitent PrincipledMaterial.FragmentLighting pour fonctionner.
Lorsque vous utilisez PrincipledMaterial.NoLighting, aucun éclairage n'est calculé. Ce mode est (comme on peut s'y attendre) très rapide et très efficace lorsque des cartes d'images sont utilisées et qu'il n'est pas nécessaire qu'elles soient ombrées par l'éclairage. Toutes les autres propriétés d'ombrage, à l'exception des valeurs baseColor, des valeurs alpha et des couleurs des vertex, seront ignorées.
| Constante | Valeur |
|---|---|
PrincipledMaterial.NoLighting | |
PrincipledMaterial.FragmentLighting |
lineWidth : real
Cette propriété détermine la largeur des lignes rendues, lorsque la géométrie utilise un type primitif de lignes ou de bandes de lignes. La valeur par défaut est 1.0. Cette propriété n'est pas pertinente pour le rendu d'autres types de géométrie, tels que les maillages triangulaires.
Attention : Les largeurs de ligne autres que 1 peuvent ne pas être prises en charge au moment de l'exécution, en fonction de l'API graphique sous-jacente. Si c'est le cas, la demande de modification de la largeur est ignorée. Par exemple, aucune des API suivantes ne prend en charge les lignes larges : Direct3D, Metal, OpenGL avec des contextes de profil de base.
maxHeightMapSamples : int
Cette propriété définit le nombre maximum d'échantillons utilisés pour effectuer la cartographie d'occlusion parallexe à l'aide de heightMap. La valeur maxHeightMapSamples est le nombre d'échantillons de heightMap utilisés lorsque l'on regarde parallèlement à une surface. La valeur par défaut est 32.
Le nombre réel d'échantillons utilisés pour chaque fragment sera compris entre minHeightMapSamples et maxHeightMapSamples en fonction de l'angle de la caméra par rapport à la surface rendue.
Remarque : cette valeur ne doit être ajustée que pour affiner les matériaux à l'aide de heightMap dans le cas où des artefacts indésirables sont présents.
metalness : real
La propriété de métallicité définit la métallicité du matériau. La valeur est normalisée, 0,0 signifiant que le matériau est un matériau diélectrique (non métallique) et une valeur de 1,0 signifiant que le matériau est un métal.
Remarque : en principe, les matériaux sont soit des diélectriques avec une métallicité de 0, soit des métaux avec une métallicité de 1. Les valeurs de métallicité entre 0 et 1 sont toujours autorisées et donneront un matériau qui est un mélange entre les différents modèles.
La plage est de [0.0, 1.0]. La valeur par défaut est 0.
metalnessChannel : enumeration
Cette propriété définit le canal de texture utilisé pour lire la valeur de la métallicité sur metalnessMap. La valeur par défaut est Material.B.
| Constante | Description |
|---|---|
Material.R | Lecture de la valeur dans le canal R de la texture. |
Material.G | Valeur lue dans le canal G de la texture. |
Material.B | Lire la valeur dans le canal B de la texture. |
Material.A | Valeur lue dans le canal A de la texture. |
metalnessMap : Texture
Cette propriété définit une texture à utiliser pour fixer le degré de métallisation des différentes parties du matériau.
minHeightMapSamples : int
Cette propriété définit le nombre minimum d'échantillons utilisés pour effectuer la cartographie d'occlusion parallexe à l'aide de heightMap. La valeur minHeightMapSamples correspond au nombre d'échantillons de heightMap utilisés lorsque l'on regarde directement une surface (lorsque la vue de la caméra est perpendiculaire au fragment). La valeur par défaut est 8.
Le nombre réel d'échantillons utilisés pour chaque fragment sera compris entre minHeightMapSamples et maxHeightMapSamples en fonction de l'angle de la caméra par rapport à la surface rendue.
Remarque : cette valeur ne doit être ajustée que pour affiner les matériaux à l'aide d'un site heightMap dans le cas où des artefacts indésirables sont présents.
normalMap : Texture
Cette propriété définit une image RVB utilisée pour simuler un déplacement géométrique fin à la surface du matériau. Les canaux RVB indiquent les écarts normaux XYZ.
Remarque : les cartes de normalité n'affectent pas la silhouette d'un modèle.
normalStrength : real
Cette propriété contrôle la quantité de déplacement simulé pour le site normalMap.
occlusionAmount : real
Cette propriété contient le facteur utilisé pour modifier les valeurs de la texture occlusionMap. La valeur doit être comprise entre 0,0 et 1,0. La valeur par défaut est 1.0
occlusionChannel : enumeration
Cette propriété définit le canal de texture utilisé pour lire la valeur d'occlusion sur occlusionMap. La valeur par défaut est Material.R.
| Constante | Description de la constante |
|---|---|
Material.R | Lecture de la valeur du canal R de la texture. |
Material.G | Lire la valeur dans le canal G de la texture. |
Material.B | Lire la valeur dans le canal B de la texture. |
Material.A | Valeur lue dans le canal A de la texture. |
occlusionMap : Texture
Cette propriété définit une texture utilisée pour déterminer la quantité de lumière que les différentes zones du matériau doivent recevoir. Les valeurs sont censées être linéaires de 0,0 à 1,0, où 0,0 signifie qu'il n'y a pas d'éclairage et 1,0 signifie que l'effet de l'éclairage est laissé inchangé.
Voir également occlusionAmount.
opacity : real
Cette propriété réduit l'opacité de ce seul matériau, indépendamment du modèle.
opacityChannel : enumeration
Cette propriété définit le canal de texture utilisé pour lire la valeur d'opacité sur opacityMap. La valeur par défaut est Material.A.
| Constante | Description de la constante |
|---|---|
Material.R | Lecture de la valeur du canal R de la texture. |
Material.G | Lire la valeur dans le canal G de la texture. |
Material.B | Lire la valeur dans le canal B de la texture. |
Material.A | Valeur lue dans le canal A de la texture. |
opacityMap : Texture
Cette propriété définit une texture utilisée pour contrôler l'opacité différemment selon les parties du matériau.
pointSize : real
Cette propriété détermine la taille des points rendus, lorsque la géométrie utilise un type primitif de points. La valeur par défaut est 1.0. Cette propriété n'est pas pertinente pour le rendu d'autres types de géométrie, tels que les maillages triangulaires.
Attention : Les tailles de point autres que 1 peuvent ne pas être prises en charge au moment de l'exécution, en fonction de l'API graphique sous-jacente. Par exemple, la définition d'une taille différente de 1 n'a aucun effet avec Direct 3D.
roughness : real
Cette propriété contrôle la taille des reflets spéculaires générés par les lumières et la clarté des reflets en général. Des valeurs plus élevées augmentent la rugosité, en adoucissant les reflets spéculaires et en rendant les réflexions plus floues. La plage de valeurs est [0.0, 1.0]. La valeur par défaut est 0.
roughnessChannel : enumeration
Cette propriété définit le canal de texture utilisé pour lire la valeur de rugosité sur roughnessMap. La valeur par défaut est Material.G.
| Constante | Description |
|---|---|
Material.R | Lecture de la valeur à partir du canal de texture R. |
Material.G | Valeur lue dans le canal G de la texture. |
Material.B | Lire la valeur dans le canal B de la texture. |
Material.A | Valeur lue dans le canal A de la texture. |
roughnessMap : Texture
Cette propriété définit une texture permettant de contrôler la rugosité spéculaire du matériau.
specularAmount : real
Cette propriété permet de contrôler l'intensité de la spécularité (reflets et lumières).
La plage de valeurs est [0.0, 1.0]. La valeur par défaut est 1.0.
Remarque : cette propriété n'a aucun effet sur les métaux non diélectriques.
Remarque : cette propriété n'affecte pas l'image specularReflectionMap, mais influe sur la quantité de reflets provenant d'une scène SceneEnvironment::lightProbe.
specularChannel : enumeration [since 6.8]
Cette propriété définit le canal de texture utilisé pour lire la valeur de la couleur spéculaire à partir de specularMap. Pour utiliser un seul canal de texture comme couleur, vous devez activer la propriété specularSingleChannelEnabled. La valeur par défaut est Material.R.
| Constante | Description |
|---|---|
Material.R | Lecture de la valeur du canal R de la texture. |
Material.G | Lire la valeur du canal G de la texture. |
Material.B | Lire la valeur du canal B de la texture. |
Material.A | Lire la valeur du canal A de la texture. |
Cette propriété a été introduite dans Qt 6.8.
specularMap : Texture
Cette propriété définit une texture RVB permettant de moduler la quantité et la couleur de la spécularité sur la surface du matériau. Ces valeurs sont multipliées par la valeur specularAmount.
Remarque : la carte spéculaire sera ignorée si le matériau n'est pas diélectrique.
specularReflectionMap : Texture
Cette propriété définit une texture utilisée pour les reflets spéculaires sur le matériau.
Cette propriété est généralement utilisée pour réaliser une cartographie de l'environnement : lorsque le modèle est tourné, la carte apparaît comme si elle reflétait l'environnement. Pour que cela fonctionne comme prévu, l'adresse mappingMode de la texture doit être définie sur Texture.Environment. Les cartes de réflexion spéculaire sont un moyen facile d'ajouter un aspect de haute qualité à un coût relativement faible.
Remarque : l'association d'un site light probe au site SceneEnvironment, et donc l'utilisation d'un éclairage basé sur l'image, permet d'obtenir des effets de réflexion environnementale similaires. Les sondes lumineuses constituent toutefois une solution différente sur le plan conceptuel et potentiellement plus coûteuse en termes de performances. Chaque approche a ses propres usages, et le choix de celle à utiliser doit être fait au cas par cas. En ce qui concerne la texture définie pour la propriété, specularReflectionMap présente un avantage, car elle ne présente aucune limitation et prend en charge tous les types de textures, y compris celles dont les données proviennent d'une sous-scène Qt Quick via sourceItem.
Remarque : les images nettes donnent à votre matériau un aspect très brillant ; plus vous brouillez votre image, plus votre matériau paraît doux.
Voir également Texture::mappingMode.
specularSingleChannelEnabled : bool [since 6.8]
Lorsque cette propriété est activée, le matériau utilise la valeur unique de specularChannel à partir de specularMap comme valeur RVB. La valeur par défaut est false.
Cette propriété a été introduite dans Qt 6.8.
specularTint : real
Cette propriété définit la part de la couleur de base qui contribue aux réflexions spéculaires.
Remarque : cette propriété ne s'applique qu'aux matériaux diélectriques.
thicknessChannel : enumeration
Cette propriété définit le canal de texture utilisé pour lire la quantité d'épaisseur à partir de transmissionMap. La valeur par défaut est Material.G.
| Constante | Description de la constante |
|---|---|
Material.R | Lecture de la valeur du canal R de la texture. |
Material.G | Lire la valeur dans le canal G de la texture. |
Material.B | Lire la valeur dans le canal B de la texture. |
Material.A | Valeur lue dans le canal A de la texture. |
thicknessFactor : real
Cette propriété définit l'épaisseur du volume sous la surface. Contrairement à de nombreuses autres propriétés de PrincipledMaterial, la valeur définie dans thicknessFactor est une valeur comprise entre 0,0 et +infini pour l'épaisseur dans l'espace de coordonnées du modèle. Une valeur de 0,0 signifie que le matériau est à parois minces. La valeur par défaut est 0.0
thicknessMap : Texture
Cette propriété définit une texture utilisée pour définir l'épaisseur d'un volume de matériau. La valeur de thicknessFactor sera multipliée par la valeur lue dans cette texture.
transmissionChannel : enumeration
Cette propriété définit le canal de texture utilisé pour lire le pourcentage de transmission sur transmissionMap. La valeur par défaut est Material.R.
| Constante | Description de la constante |
|---|---|
Material.R | Lecture de la valeur du canal de texture R. |
Material.G | Valeur lue dans le canal G de la texture. |
Material.B | Lire la valeur dans le canal de la texture B. |
Material.A | Valeur lue dans le canal A de la texture. |
transmissionFactor : real
Cette propriété définit le pourcentage de lumière transmise à travers la surface du matériau. La valeur par défaut est 0.0
transmissionMap : Texture
Cette propriété définit une texture utilisée pour déterminer le pourcentage de lumière transmise à travers la surface. La valeur de transmissionFactor sera multipliée par la valeur lue dans cette texture.
vertexColorAlphaMask : enumeration [since 6.8]
Cette propriété définit le canal alpha de la couleur du sommet utilisé comme masque de spécification. La valeur est une combinaison bit à bit de drapeaux. La valeur par défaut est PrincipledMaterial.NoMask.
| Constante | Description |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Cette propriété a été introduite dans Qt 6.8.
vertexColorBlueMask : enumeration [since 6.8]
Cette propriété définit le canal bleu de la couleur du vertex utilisé comme masque de spécification. La valeur est une combinaison bit à bit de drapeaux. La valeur par défaut est PrincipledMaterial.NoMask.
| Constante | Description |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Cette propriété a été introduite dans Qt 6.8.
vertexColorGreenMask : enumeration [since 6.8]
Cette propriété définit le canal vert de la couleur du vertex utilisé comme masque de spécification. La valeur est une combinaison bit à bit de drapeaux. La valeur par défaut est PrincipledMaterial.NoMask.
| Constante | Description |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Cette propriété a été introduite dans Qt 6.8.
vertexColorRedMask : enumeration [since 6.8]
Cette propriété définit le canal rouge de la couleur du vertex utilisé comme masque de spécification. La valeur est une combinaison bit à bit de drapeaux. La valeur par défaut est PrincipledMaterial.NoMask.
| Constante | Description |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Cette propriété a été introduite dans Qt 6.8.
vertexColorsEnabled : bool [since 6.5]
Lorsque cette propriété est activée, le matériau utilise les couleurs des vertex du maillage. Celles-ci seront multipliées par toutes les autres couleurs spécifiées pour le matériau. La valeur par défaut est true.
Cette propriété a été introduite dans Qt 6.5.
vertexColorsMaskEnabled : bool [since 6.8]
Lorsque cette propriété est activée, le matériau utilise les couleurs des vertex du maillage comme masque de diverses propriétés, par exemple RoughnessAmount, SpecularAmount, ... . La valeur par défaut est false.
Cette propriété a été introduite dans Qt 6.8.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.