Sur cette page

Fog QML Type

Définit les paramètres de brouillard pour une scène. En savoir plus…

Import Statement: import QtQuick3D
Since: Qt 6.5
Inherits:

QtObject

Propriétés

Description détaillée

Lorsque la propriété « fog » d'un « SceneEnvironment » est définie sur un objet « Fog » valide, ces propriétés sont utilisées pour configurer le rendu du brouillard.

Scène avec effet de brouillard

Le brouillard simple fourni par ce type est implémenté par les matériaux. Il ne s’agit pas d’un effet de post-traitement, ce qui signifie qu’il n’implique pas de passes de rendu supplémentaires traitant la texture avec la sortie de la propriété « View3D », mais qu’il est plutôt implémenté dans le shader de fragment pour chaque objet rendable (sous-maillage de l’ Model) à l’aide d’un « PrincipledMaterial » ou d’un « shaded CustomMaterial ».

Le brouillard est configuré à l’aide d’un certain nombre de propriétés :

Par exemple, l’extrait de code suivant active le brouillard de profondeur (mais pas celui de hauteur) en utilisant les paramètres de brouillard par défaut :

environment: SceneEnvironment {
    backgroundMode: SceneEnvironment.Color
    clearColor: theFog.color
    fog: Fog {
        id: theFog
        enabled: true
        depthEnabled: true
    }
}

Au lieu de définir l’objet Fog en ligne, il est également possible de référencer un objet Fog via ` id`. Et comme ` ExtendedSceneEnvironment ` hérite de toutes les propriétés de son type parent ` SceneEnvironment`, le brouillard peut également être utilisé avec ` ExtendedSceneEnvironment ` :

Fog {
    id: theFog
    enabled: true
    depthEnabled: true
}
environment: ExtendedSceneEnvironment {
    fog: theFog
}

Voir également Qt Quick 3D - Exemple simple de brouillard et Qt Quick 3D - Exemple d’effets de scène.

Documentation sur les propriétés

color : color

La couleur du brouillard. La valeur par défaut est « #8099b3 »

Scène avec un brouillard bleu légèrement désaturé

La même scène avec une couleur plus bleutée :

Scène avec un brouillard bleu

Voir aussi density.

density : real

Permet de contrôler l'intensité du brouillard ; concrètement, il s'agit d'un multiplicateur compris entre 0 et 1. La valeur par défaut est 1,0. Une réduction de cette valeur diminue l'intensité de l'effet de brouillard. Ne s'applique que lorsque l'option « depthEnabled » est définie sur « true ».

L'effet visuel à l'écran peut être influencé par plusieurs autres paramètres de l'option « ExtendedSceneEnvironment », tels que le « tonemapping » ou les effets « glow » et « bloom ». Une même valeur de densité peut donner des résultats différents selon les autres effets activés et leur configuration.

Exemple de scène avec la densité réglée sur « 0.95 » :

Scène avec une densité de brouillard de 95 %

La même scène avec une densité réduite à 0.15:

Scène avec une densité de brouillard de 15 %

Voir également color.

depthCurve : real

La valeur par défaut est 1,0.

Applicable uniquement lorsque l'option « depthEnabled » est définie sur « true ».

Voir également depthEnabled.

depthEnabled : bool

Détermine si le brouillard apparaît au loin. La valeur par défaut est « false ».

Voir également heightEnabled, enabled, depthNear, depthFar et depthCurve.

depthFar : real

Distance finale par rapport à la caméra. La valeur par défaut est 1000,0. Applicable uniquement lorsque la propriété « depthEnabled » est définie sur « true ».

Remarque : la scène, y compris la caméra et les modèles, doit être configurée en conséquence afin que des plages raisonnables puissent être définies à l’aide de propriétés telles que ` depthNear ` et `depthFar`. Ne vous attendez pas à ce que le brouillard puisse toujours être activé sur une scène contenant des ressources importées telles quelles, sans avoir d’abord ajusté les transformations. Par exemple, les captures d’écran présentées sur cette page avec le modèle Sponza ont été générées après avoir appliqué manuellement une échelle supplémentaire de (100, 100, 100) au composant Sponza instancié, généré par l’outil balsam à partir de la ressource source glTF. Cela a permis d’obtenir une plage Z suffisante pour obtenir de beaux résultats en ajustant les valeurs de « depthNear » et « depthFar ».

Voir également depthNear et depthEnabled.

depthNear : real

Distance initiale par rapport à la caméra. La valeur par défaut est 10,0. Applicable uniquement lorsque l'option « depthEnabled » est définie sur « true ».

Prenons par exemple cette scène, d'abord avec une valeur depthNear plus élevée.

Scène présentant une plus grande profondeur — Valeur de brouillard proche

La diminution de la valeur de depthNear a pour effet de « rapprocher » le brouillard de la caméra, car celui-ci commence désormais à une distance plus courte de celle-ci :

Scène avec une profondeur réduite Valeur de brouillard proche

Remarque : la scène, y compris la caméra et les modèles, doit être configurée en conséquence, afin que des plages raisonnables puissent être définies par des propriétés telles que depthNear et depthFar. Ne vous attendez pas à ce que le brouillard puisse toujours être activé sur une scène contenant des éléments importés tels quels, sans avoir d’abord ajusté les transformations. Par exemple, les captures d’écran présentées sur cette page avec le modèle Sponza ont été générées après avoir appliqué manuellement une échelle supplémentaire de (100, 100, 100) au composant Sponza instancié, généré par l’outil balsam à partir du ressource source glTF. Cela a permis d’obtenir une plage Z suffisante pour obtenir de beaux résultats en ajustant les valeurs de depthNear et de depthFar.

Voir également depthFar et depthEnabled.

enabled : bool

Détermine si un effet de brouillard est appliqué à la scène. La valeur par défaut est « false ».

L'activation du brouillard de profondeur ou de hauteur n'a aucun effet si cette valeur n'est pas définie sur « true ».

Voir également depthEnabled et heightEnabled.

heightCurve : real

Définit l'intensité du brouillard de hauteur. La valeur par défaut est 1,0. Applicable uniquement lorsque l'option « heightEnabled » est définie sur « true ».

Voir également heightEnabled.

heightEnabled : bool

Détermine si le brouillard de hauteur est activé. La valeur par défaut est « false ».

Voir également depthEnabled, enabled, leastIntenseY, mostIntenseY et heightCurve.

leastIntenseY : real

Spécifie la position (coordonnée Y) où le brouillard est le moins intense. La valeur par défaut est 10,0. Applicable uniquement lorsque ` heightEnabled ` est défini sur `true`.

Remarque : par défaut, cette valeur est supérieure à « mostIntenseY ». Tant que c'est le cas, le brouillard est rendu de haut en bas. Lorsque cette valeur est inférieure à « mostIntenseY », le brouillard est rendu de bas en haut.

Remarque : l’axe Y est orienté vers le haut dans les scènes 3D d’ Qt Quick.

L'image ci-contre montre une scène avec le brouillard de hauteur activé (pas de brouillard de profondeur) et la valeur de `leastIntenseY` réglée de manière à ce que le brouillard ne se propage qu’au bas de la scène Sponza.

Scène présentant une valeur « leastIntenseY » inférieure pour le brouillard

Augmenter la valeur de `leastIntenseY` fait remonter le brouillard plus haut, car il commence désormais effectivement à une position Y plus élevée dans la scène. (rappelez-vous que l’axe Y pointe vers le haut)

Scène présentant une valeur « leastIntenseY » plus élevée pour le brouillard

Remarque : comme pour le brouillard de profondeur, la scène doit être configurée en conséquence, de sorte que des plages de coordonnées Y pertinentes puissent être définies par leastIntenseY et mostIntenseY. Ne vous attendez pas à ce que le brouillard puisse toujours être activé sur une scène contenant des éléments importés tels quels, sans ajuster au préalable leurs transformations. Par exemple, les captures d’écran présentées sur cette page avec le modèle Sponza ont été générées après avoir appliqué manuellement une échelle supplémentaire de (100, 100, 100) au composant Sponza instancié, généré par l’outil balsam à partir de la ressource source glTF.

Voir également mostIntenseY et heightEnabled.

mostIntenseY : real

Spécifie la position (coordonnée Y) où le brouillard est le plus dense. La valeur par défaut est 0. Applicable uniquement lorsque la propriété « heightEnabled » est définie sur « true ».

Remarque : par défaut, cette valeur est inférieure à leastIntenseY. Tant que c’est le cas, le brouillard est rendu de haut en bas. Lorsque cette valeur est supérieure à leastIntenseY, le brouillard est rendu de bas en haut.

Remarque : l’axe Y est orienté vers le haut dans les scènes 3D d’ Qt Quick.

Remarque : comme pour le brouillard de profondeur, la scène doit être configurée en conséquence, afin que des plages de coordonnées Y pertinentes puissent être définies par leastIntenseY et mostIntenseY. Ne vous attendez pas à ce que le brouillard puisse toujours être activé sur une scène contenant des éléments importés tels quels, sans avoir d’abord ajusté les transformations. Par exemple, les captures d'écran d'exemple présentées sur cette page avec le modèle Sponza ont été générées après avoir appliqué manuellement une échelle supplémentaire de (100, 100, 100) au composant Sponza instancié, généré par l'outil balsam à partir du ressource source glTF.

Voir également leastIntenseY et heightEnabled.

transmitCurve : real

Intensité de l'effet de transmission de la lumière. La valeur par défaut est 1,0. Applicable uniquement lorsque l'option « transmitEnabled » est définie sur « true ».

transmitEnabled : bool

Détermine si le brouillard a un effet de transmission de la lumière. La valeur par défaut est « false ».

© 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.