Fog QML Type
Especifica los ajustes de niebla para una escena. Más...
| Import Statement: | import QtQuick3D |
| Since: | Qt 6.5 |
| Inherits: |
Propiedades
- color : color
- density : real
- depthCurve : real
- depthEnabled : bool
- depthFar : real
- depthNear : real
- enabled : bool
- heightCurve : real
- heightEnabled : bool
- leastIntenseY : real
- mostIntenseY : real
- transmitCurve : real
- transmitEnabled : bool
Descripción detallada
Cuando la propiedad fog de un SceneEnvironment se establece en un objeto Fog válido, las propiedades se utilizan para configurar el renderizado de la niebla.

La niebla simple proporcionada por este tipo es implementada por los materiales. No es un efecto de post-procesado, lo que significa que no implica pases de render adicionales procesando la textura con la salida del View3D, sino que se implementa en el fragment shader para cada objeto renderizable (submalla de Model) con un PrincipledMaterial o sombreado CustomMaterial.
La niebla se configura mediante una serie de propiedades:
- Ajustes generales: color y density
- Ajustes de niebla de profundidad: depthEnabled, depthNear, depthFar, depthCurve
- Ajustes de niebla de altura: heightEnabled, leastIntenseY, mostIntenseY, heightCurve
- Ajustes de transmisión de color: transmitEnabled, transmitCurve
Por ejemplo, el siguiente fragmento activa la niebla de profundidad (pero no la de altura) utilizando los parámetros de niebla predeterminados:
environment: SceneEnvironment {
backgroundMode: SceneEnvironment.Color
clearColor: theFog.color
fog: Fog {
id: theFog
enabled: true
depthEnabled: true
}
}En lugar de definir el objeto Niebla en línea, también es posible hacer referencia a un objeto Niebla mediante id. Y puesto que ExtendedSceneEnvironment hereda todo de su tipo padre SceneEnvironment, la niebla puede utilizarse también con ExtendedSceneEnvironment:
Fog {
id: theFog
enabled: true
depthEnabled: true
}
environment: ExtendedSceneEnvironment {
fog: theFog
}Ver también Qt Quick 3D - Ejemplo de Niebla Simple y Qt Quick 3D - Ejemplo de Efectos de Escena.
Documentación de propiedades
color : color
El color de la niebla. El valor por defecto es "#8099b3".

La misma escena con el color cambiado para que sea más azulado:

Véase también density.
density : real
Controla la cantidad de niebla, en la práctica es un multiplicador en el rango 0-1. El valor por defecto es 1.0. Reducir el valor disminuye la fuerza del efecto de niebla. Sólo es aplicable cuando depthEnabled tiene el valor verdadero.
El efecto visual en pantalla puede verse afectado por otros ajustes de ExtendedSceneEnvironment, como el mapeado de tonos o el resplandor y el bloom. El mismo valor de densidad puede dar resultados diferentes dependiendo de qué otros efectos estén activados y cómo estén configurados.
Una escena de ejemplo con la densidad ajustada a 0.95:

La misma escena con la densidad reducida a 0.15:

Véase también color.
depthCurve : real
El valor por defecto es 1,0.
Aplicable sólo cuando depthEnabled tiene el valor true.
Véase también depthEnabled.
depthEnabled : bool
Controla si la niebla aparece en la distancia. El valor por defecto es false.
Véase también heightEnabled, enabled, depthNear, depthFar, y depthCurve.
depthFar : real
Distancia final desde la cámara. El valor por defecto es 1000.0. Aplicable sólo cuando depthEnabled está configurado como true.
Nota: Se espera que la escena, incluyendo la cámara y los modelos, estén configurados en consecuencia, para que puedan definirse rangos sensibles mediante propiedades como depthNear y depthFar. No espere que la niebla pueda activarse siempre en una escena que contenga activos importados tal cual, sin ajustar primero las transformaciones. Por ejemplo, las capturas de pantalla de ejemplo en esta página con el modelo Sponza se generan después de aplicar manualmente una escala adicional de (100, 100, 100) en el componente Sponza instanciado que fue generado por la herramienta balsam desde el activo de origen glTF. De este modo se obtuvo un rango Z suficiente para obtener buenos resultados ajustando los valores depthNear y depthFar.
Véase también depthNear y depthEnabled.
depthNear : real
Distancia inicial desde la cámara. El valor por defecto es 10.0. Aplicable sólo cuando depthEnabled está en true.
Como ejemplo, tome esta escena, primero con un valor depthNear más alto.

Disminuyendo el valor de depthNear se consigue que la niebla "se acerque" a la cámara, ya que ahora parte de una distancia menor a la cámara:

Nota: Se espera que la escena, incluyendo la cámara y los modelos, esté configurada en consecuencia, de modo que puedan definirse rangos sensibles mediante propiedades como depthNear y depthFar. No espere que la niebla se pueda activar siempre en una escena que contenga activos importados tal cual, sin ajustar primero las transformaciones. Por ejemplo, las capturas de pantalla de ejemplo en esta página con el modelo Sponza se generan después de aplicar manualmente una escala adicional de (100, 100, 100) en el componente Sponza instanciado que fue generado por la herramienta balsam desde el activo de origen glTF. De este modo se obtuvo un rango Z suficiente para obtener buenos resultados ajustando los valores depthNear y depthFar.
Véase también depthFar y depthEnabled.
enabled : bool
Controla si se aplica niebla a la escena. El valor por defecto es false.
Activar la niebla de profundidad o de altura no tiene ningún efecto sin establecer este valor en true.
Véase también depthEnabled y heightEnabled.
heightCurve : real
Especifica la intensidad de la niebla de altura. El valor por defecto es 1.0. Sólo es aplicable cuando heightEnabled tiene el valor verdadero.
Véase también heightEnabled.
heightEnabled : bool
Controla si se activa la niebla de altura. El valor por defecto es false.
Ver también depthEnabled, enabled, leastIntenseY, mostIntenseY, y heightCurve.
leastIntenseY : real
Especifica la posición (coordenada Y) donde la niebla es menos intensa. El valor por defecto es 10.0. Aplicable sólo cuando heightEnabled es verdadero.
Nota: Por defecto el valor es mayor que mostIntenseY. Mientras esto sea cierto, la niebla se renderizará de arriba a abajo. Cuando este valor es menor que mostIntenseY, la niebla se renderiza de abajo a arriba.
Nota: El eje Y apunta hacia arriba en las escenas 3D de Qt Quick.
Aquí se muestra una escena con la niebla de altura activada (sin niebla de profundidad), y leastIntenseY ajustado a un valor para que la niebla sólo se extienda alrededor de la parte inferior de la escena Sponza.

Aumentar el valor de leastIntenseY hace que la niebla se extienda más alto ya que ahora comienza efectivamente en una posición Y más alta en la escena. (recuerde que el eje Y apunta hacia arriba)

Nota: Al igual que con la niebla de profundidad, se espera que la escena se configure en consecuencia, de modo que los rangos de coordenadas Y sensibles puedan ser definidos por leastIntenseY y mostIntenseY. No espere que la niebla se pueda activar siempre en una escena que contenga activos importados tal cual, sin ajustar primero las transformaciones. Por ejemplo, las capturas de pantalla de ejemplo en esta página con el modelo Sponza se generan después de aplicar manualmente una escala adicional de (100, 100, 100) en el componente Sponza instanciado que fue generado por la herramienta balsam a partir del activo de origen glTF.
Véase también mostIntenseY y heightEnabled.
mostIntenseY : real
Especifica la posición (coordenada Y) donde la niebla es más intensa. El valor por defecto es 0. Aplicable sólo cuando heightEnabled está establecido en true.
Nota: Por defecto el valor es menor que leastIntenseY. Mientras esto sea cierto, la niebla se renderizará de arriba a abajo. Cuando este valor es mayor que leastIntenseY, la niebla se renderiza de abajo a arriba.
Nota: El eje Y apunta hacia arriba en las escenas 3D de Qt Quick.
Nota: Al igual que con la niebla de profundidad, se espera que la escena se configure en consecuencia, de modo que los rangos de coordenadas Y sensibles puedan ser definidos por leastIntenseY y mostIntenseY. No espere que la niebla pueda activarse siempre en una escena que contenga activos importados tal cual, sin ajustar primero las transformaciones. Por ejemplo, las capturas de pantalla de ejemplo en esta página con el modelo Sponza se generan después de aplicar manualmente una escala adicional de (100, 100, 100) en el componente Sponza instanciado que fue generado por la herramienta balsam a partir del activo de origen glTF.
Véase también leastIntenseY y heightEnabled.
transmitCurve : real
Intensidad del efecto de transmisión de luz. El valor por defecto es 1,0. Aplicable sólo cuando transmitEnabled tiene el valor verdadero.
transmitEnabled : bool
Controla si la niebla tiene un efecto de transmisión de luz. El valor por defecto es falso.
© 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.