Sur cette page

Fog QML Type

Spécifie les paramètres de brouillard pour une scène. Plus d'informations...

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, les 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 mis en œuvre 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 View3D, mais il est plutôt mis en œuvre dans le nuanceur de fragment pour chaque objet pouvant être rendu (sous-maille de Model) avec PrincipledMaterial ou ombré CustomMaterial.

Le brouillard est configuré par un certain nombre de propriétés :

Par exemple, l'extrait suivant active le brouillard en profondeur (mais pas en 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 par id. Et comme ExtendedSceneEnvironment hérite tout 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 de brouillard simple 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 brouillard bleu légèrement désaturé

La même scène avec une couleur plus bleue :

Scène avec brouillard bleu

Voir aussi density.

density : real

Contrôle la quantité de brouillard. En pratique, il s'agit d'un multiplicateur compris entre 0 et 1. La valeur par défaut est 1,0. La réduction de la valeur diminue l'intensité de l'effet de brouillard. Applicable uniquement lorsque depthEnabled est réglé sur true.

L'effet visuel à l'écran peut être affecté par un certain nombre d'autres paramètres de ExtendedSceneEnvironment, tels que la cartographie des tons ou l'éclat et l'efflorescence. La même valeur de densité peut donner des résultats différents en fonction des autres effets activés et de leur configuration.

Exemple de scène avec une 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 aussi color.

depthCurve : real

La valeur par défaut est 1.0.

Applicable uniquement lorsque depthEnabled a la valeur true.

Voir également depthEnabled.

depthEnabled : bool

Contrôle si le brouillard apparaît au loin. La valeur par défaut est false.

Voir aussi heightEnabled, enabled, depthNear, depthFar, et depthCurve.

depthFar : real

Distance finale de la caméra. La valeur par défaut est 1000.0. Applicable uniquement lorsque depthEnabled a la valeur true.

Remarque : la scène, y compris la caméra et les modèles, doit être configurée en conséquence, de sorte 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 objets importés tels quels, sans avoir réglé les transformations au préalable. Par exemple, les captures d'écran de 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) sur le composant Sponza instancié qui a été 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 bons résultats en ajustant les valeurs depthNear et depthFar.

Voir également depthNear et depthEnabled.

depthNear : real

Distance de départ de la caméra. La valeur par défaut est 10,0. Applicable uniquement lorsque depthEnabled est défini sur true.

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

Scène avec une profondeur plus élevéePrès de la valeur du brouillard

En diminuant la valeur de depthNear, le brouillard se rapproche effectivement de la caméra puisqu'il part d'une distance plus faible :

Scène avec une profondeur plus faiblePrès de la valeur du brouillard

Remarque : la scène, y compris la caméra et les modèles, doit être configurée en conséquence, de sorte 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 objets importés tels quels, sans régler les transformations au préalable. Par exemple, les captures d'écran de 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) sur le composant Sponza instancié qui a été généré par l'outil balsam à partir de l'actif source glTF. Cela a permis d'obtenir une plage Z suffisante pour obtenir de bons résultats en ajustant les valeurs depthNear et depthFar.

Voir également depthFar et depthEnabled.

enabled : bool

Contrôle si le 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 réglée sur true (vrai).

Voir également depthEnabled et heightEnabled.

heightCurve : real

Spécifie l'intensité du brouillard de hauteur. La valeur par défaut est 1,0. Applicable uniquement lorsque heightEnabled a la valeur true.

Voir également heightEnabled.

heightEnabled : bool

Contrôle si un brouillard de hauteur est activé. La valeur par défaut est false.

Voir aussi 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 a la valeur true (vrai).

Remarque : par défaut, la valeur est supérieure à mostIntenseY. Tant que cette valeur est vraie, 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 pointe vers le haut dans les scènes 3D de Qt Quick.

La photo montre une scène où le brouillard de hauteur est activé (pas de brouillard de profondeur) et où la valeur de leastIntenseY est réglée de manière à ce que le brouillard ne s'étende qu'autour du bas de la scène de Sponza.

Scène dont la valeur de brouillard leastIntenseY est la plus faible

En augmentant la valeur de leastIntenseY, le brouillard se répand plus haut puisqu'il commence à une position Y plus élevée dans la scène. (rappelez-vous que l'axe Y pointe vers le haut)

Scène avec une valeur de brouillard leastIntenseY plus élevée

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 raisonnables 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 objets importés tels quels, sans régler les transformations au préalable. Par exemple, les captures d'écran de cette page avec le modèle Sponza sont générées après avoir appliqué manuellement une échelle supplémentaire de (100, 100, 100) sur le composant Sponza instancié qui a été généré par l'outil balsam à partir de l'actif source glTF.

Voir également mostIntenseY et heightEnabled.

mostIntenseY : real

Spécifie la position (coordonnée Y) où le brouillard est le plus intense. La valeur par défaut est 0. Applicable uniquement lorsque heightEnabled est défini comme vrai.

Remarque : par défaut, la valeur est inférieure à leastIntenseY. Tant que cette valeur est vraie, 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 pointe vers le haut dans les scènes 3D de Qt Quick.

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 raisonnables 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 objets importés tels quels, sans régler les transformations au préalable. Par exemple, les captures d'écran de cette page avec le modèle Sponza sont générées après avoir appliqué manuellement une échelle supplémentaire de (100, 100, 100) sur le composant Sponza instancié qui a été généré par l'outil balsam à partir de la 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 transmitEnabled est défini sur true.

transmitEnabled : bool

Contrôle 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.