DefaultMaterial QML Type
Permet de définir un matériau pour des objets 3D en utilisant le flux de travail spéculaire/brillant. En savoir plus...
| Import Statement: | import QtQuick3D |
| Inherits: | |
| Status: | Deprecated since 6.4 |
Ce type est obsolète depuis QtQuick3D 6.4. Il est fortement déconseillé de l'utiliser dans un nouveau code.
Propriétés
- blendMode : enumeration
- bumpAmount : real
- bumpMap : Texture
- diffuseColor : color
- diffuseLightWrap : real
- diffuseMap : Texture
- emissiveFactor : vector3d
- emissiveMap : Texture
- fresnelPower : real
- indexOfRefraction : real
- lighting : enumeration
- lineWidth : real
- normalMap : Texture
- opacity : real
- opacityChannel : enumeration
- opacityMap : Texture
- pointSize : real
- roughnessChannel : enumeration
- roughnessMap : Texture
- specularAmount : real
- specularMap : Texture
- specularModel : enumeration
- specularReflectionMap : Texture
- specularRoughness : real
- specularTint : color
- translucencyChannel : enumeration
- translucencyMap : Texture
- translucentFalloff : real
- vertexColorsEnabled : bool
Description détaillée
Préférer l'utilisation de PrincipledMaterial ou SpecularGlossyMaterial.
Avertissement : Ce matériau n'est fourni que pour des raisons de compatibilité et ne doit pas être utilisé dans un nouveau code. Il est préférable d'utiliser le site SpecularGlossyMaterial pour créer des matériaux à l'aide du flux de travail spéculaire/brillant ou le site PrincipledMaterial pour créer des matériaux à l'aide du flux de travail métal/rugosité.
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 DefaultMaterial est un matériau facile à utiliser qui vous permet de décrire votre matériau à l'aide d'un flux de travail de type spéculaire/brillant. Le matériau est sensible par défaut et peut être utilisé pour ombrer un modèle sans en modifier les propriétés.
Flux de travail spéculaire/brillant
Le matériau par défaut permet de créer des matériaux à l'aide d'un flux de travail de type spéculaire/brillant. Les principales propriétés du matériau sont contrôlées par les propriétés specular, roughness, et diffuse color.
Spéculaire
La propriété specular reflectivity décrit la quantité et la couleur spéculaire de la surface d'un objet. Pour les matériaux réfléchissants, la principale contribution à la couleur provient de cette propriété.
Brillance (rugosité)
La brillance d'une surface dépend de son caractère lisse ou irrégulier. Une surface lisse réfléchira plus intensément la lumière qu'une surface rugueuse, où la réflexion de la lumière sera plus étalée. Dans le matériau par défaut, la brillance du matériau est contrôlée par la propriété roughness.
Couleur diffuse
La propriété diffuse color décrit la couleur de base du matériau et, contrairement à la couleur de base de PrincipledMaterial, la couleur diffuse ne contient aucune information sur la réflectance du matériau. Cependant, pour les surfaces réfléchissantes, la couleur diffuse doit être réglée sur une teinte noire, car cela permet à la couleur spéculaire de contribuer.
Documentation sur les propriétés
blendMode : enumeration
Cette propriété détermine comment les couleurs du modèle rendu se fondent avec celles qui se trouvent derrière lui.
| Constante | Description |
|---|---|
DefaultMaterial.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 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 et qu'il n'y a pas de cartes de texture dans le matériau avec des pixels semi-transparents, alors le modèle est traité comme opaque, ce qui signifie qu'il est rendu avec le test de profondeur et l'écriture de la 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é. |
DefaultMaterial.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 de surprise. |
DefaultMaterial.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 Qt Quick Architecture 3D.
bumpAmount : real
Cette propriété contrôle la quantité de déplacement simulé pour bumpMap ou normalMap. La valeur par défaut est 0, ce qui désactive l'effet de bosse. La plage est de [0, 1].
bumpMap : Texture
Cette propriété définit une texture en niveaux de gris pour simuler un déplacement géométrique fin sur la surface du matériau. Les pixels plus clairs indiquent les régions surélevées. L'ampleur de l'effet est contrôlée par la propriété bumpAmount.
Remarque : les cartes de bosses n'affectent pas la silhouette d'un modèle.
diffuseColor : color
Cette propriété détermine la couleur diffuse (albédo) du matériau. En réglant la couleur diffuse sur une teinte noire, on obtient un matériau purement spéculaire (métaux ou miroirs, par exemple).
diffuseLightWrap : real
Cette propriété détermine le degré d'enveloppement de la lumière pour la carte de translucidité. Une valeur de 0 n'enveloppera pas du tout la lumière, tandis qu'une valeur de 1 enveloppera la lumière tout autour de l'objet.
diffuseMap : Texture
Cette propriété définit une texture à appliquer au matériau. L'utilisation d'une texture avec transparence permet également d'appliquer le canal alpha en tant que carte d'opacité.
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 : la définition du mode d'éclairage sur DefaultMaterial.NoLighting signifie que 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.
Voir aussi emissiveFactor.
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 0, ce qui désactive l'effet de fresnel.
indexOfRefraction : real
Cette propriété détermine quels angles de réflexion sont affectés par fresnelPower. La valeur par défaut est 1.45. La valeur doit être supérieure ou égale à 1.0.
Remarque : aucun matériau connu dans le monde n'a un ior supérieur à 3.0.
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 DefaultMaterial.FragmentLighting
Lorsque vous utilisez DefaultMaterial.FragmentLighting, l'éclairage diffus et spéculaire est calculé pour chaque pixel rendu. Certains effets (tels que Fresnel ou bump map) nécessitent DefaultMaterial.FragmentLighting pour fonctionner.
Lorsque vous utilisez DefaultMaterial.NoLighting, aucun éclairage n'est calculé. Ce mode est (comme on peut s'y attendre) très rapide et très efficace lorsque l'on utilise des cartes d'images qui n'ont pas besoin d'être ombrées par l'éclairage.
| Constante | Description |
|---|---|
DefaultMaterial.NoLighting | Aucun éclairage n'est calculé. |
DefaultMaterial.FragmentLighting | L'éclairage par fragment est calculé. |
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.
Remarque : contrairement à la plupart des autres propriétés matérielles, la largeur des lignes est intégrée dans un objet du pipeline graphique, de la même manière que blendMode. Par conséquent, une valeur différente nécessite la création d'un nouvel objet du pipeline, ce qui peut s'avérer coûteux (en termes de performances et d'utilisation des ressources) si la propriété est fréquemment modifiée pour de nombreuses valeurs différentes. Par exemple, il est possible d'animer cette propriété, mais cela doit être évité.
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. L'importance de l'effet est contrôlée par la propriété bumpAmount.
Remarque : les cartes de normalité n'affectent pas la silhouette d'un modèle.
opacity : real
Cette propriété permet de diminuer l'opacité de ce matériau, indépendamment du modèle. La valeur par défaut est 1.0. La plage est de [0.0, 1.0].
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.
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.R.
| 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. Si la texture contient plusieurs canaux (RGBA), le canal correct peut être défini à l'aide de la propriété roughnessChannel.
specularAmount : real
Cette propriété contrôle l'intensité de la spécularité (reflets). La valeur par défaut est 0, ce qui désactive la spécularité. La plage de valeurs est de [0.0, 1.0].
Remarque : cette propriété n'affecte pas l'image specularReflectionMap, mais influe sur la quantité de reflets provenant de la scène SceneEnvironment::lightProbe.
Remarque : à moins que votre maillage ne soit en haute résolution, vous devrez peut-être utiliser DefaultMaterial.FragmentLighting pour obtenir de bons reflets spéculaires des lumières de la scène.
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.
specularModel : enumeration
Cette propriété détermine les fonctions utilisées pour calculer les reflets spéculaires des lumières de la scène.
| Constante | Description |
|---|---|
DefaultMaterial.Default | L'éclairage spéculaire utilise le modèle d'éclairage par défaut. |
DefaultMaterial.KGGX | L'éclairage spéculaire utilise le modèle d'éclairage GGX. |
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.
specularRoughness : 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é, adoucissent les reflets spéculaires et rendent les réflexions plus floues. La plage de valeurs est [0.0, 1.0]. La valeur par défaut est 0.
specularTint : color
Cette propriété définit une couleur utilisée pour ajuster les réflexions spéculaires. Utilisez le blanc pour ne pas avoir d'effet
translucencyChannel : enumeration
Cette propriété définit le canal de texture utilisé pour lire la valeur de translucidité sur translucencyMap. 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. |
translucencyMap : Texture
Cette propriété définit une texture en niveaux de gris qui contrôle la quantité de lumière qui peut traverser le matériau par l'arrière.
translucentFalloff : real
Cette propriété définit l'importance de la chute de la translucidité en fonction de l'angle des normales de l'objet par rapport à la source lumineuse.
vertexColorsEnabled : bool
Lorsque cette propriété est activée, le matériau utilise les couleurs des vertex du maillage. Ces couleurs seront multipliées par toutes les autres couleurs spécifiées pour le matériau.
© 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.