En esta página

Lightmapper QML Type

Especifica los ajustes de horneado del mapa de luz para una escena. Más...

Import Statement: import QtQuick3D
Since: Qt 6.4
Inherits:

QtObject

Propiedades

Descripción detallada

Usado cuando se bakea iluminación directa e indirecta. La mayoría de estos ajustes no son relevantes en otras ocasiones, como cuando se utilizan lightmaps ya generados para renderizar una escena. La excepción es source, aunque tiene un valor por defecto razonable para el desarrollo.

Si el bakeado se realiza correctamente, se generará un único archivo con el valor especificado en source. Este archivo binario contiene los resultados del bakeado, incluyendo los lightmaps por modelo y los archivos de malla con UVs compatibles con lightmap. A los datos de cada modelo se accede a través de BakedLightmap::key.

Los datos contenidos en el archivo lightmap resultante están estrechamente vinculados entre sí y con el estado actual de la escena. Esto significa que cualquier modificación en los archivos de malla originales, ajustes de Lightmapper u otros cambios en la escena requerirán que se ejecute un nuevo bake para ver el resultado actualizado.

Nota: A partir de Qt 6.4, lightmap baking se encuentra en un estado temprano de previsualización tecnológica. Es probable que se produzcan cambios en las características, la calidad y la API en futuras versiones.

El objeto Lightmapper funciona en combinación con:

Ver también Lightmaps and Global Illumination, Qt Quick 3D - Baked Lightmap Example, y Qt Quick 3D - SSGI Lightmap Example.

Documentación de propiedades

adaptiveBiasEnabled : bool

Permite aplicar un sesgo dinámico adicional basado en la normal de la superficie.

El valor por defecto es verdadero.

bias : real

Sesgo de Raycasting utilizado durante el horneado. Adapte el valor en caso de que se produzcan artefactos, por ejemplo para reducir los patrones de sombra no deseados. En muchos casos el valor por defecto es suficiente.

El valor por defecto es 0,005.

bounces : int

El número máximo de rebotes de luz indirecta por muestra. El valor debe ser al menos 1, de lo contrario no tiene sentido calcular la luz indirecta.

El valor por defecto es 3.

El valor afecta en gran medida tanto al rendimiento como a la calidad de los lightmaps resultantes durante el baking de lightmaps.

denoiseSigma : real [default: 8, since 6.10]

Esta propiedad define el valor sigma del denoiser basado en medias no locales. Esto significa que cuanto mayor sea este valor, mayor será el desenfoque. Intente mantener este valor lo más bajo posible para evitar la pérdida de características visuales a la vez que se elimina el ruido.

Esta propiedad se introdujo en Qt 6.10.

indirectLightEnabled : bool

Normalmente no es necesario cambiar este valor. El valor por defecto es true. Establecer esta propiedad a false desactiva el cálculo de la luz indirecta durante el baking del lightmap. Así, los mapas de textura resultantes sólo contendrán información de luz directa. En tiempo de ejecución, el motor continuará usando los mapas normalmente, asumiendo que contienen iluminación directa e indirecta.

indirectLightFactor : real

Multiplicador de la cantidad de luz indirecta. Aunque el valor de 1 (es decir, que no afecta al cálculo de la cantidad de luz indirecta) es el que proporciona los resultados de renderizado estrictamente correctos, un valor ligeramente superior puede dar a menudo resultados de mejor aspecto cuando se utiliza el mapa de luz, incluso con un menor número de rebotes.

El valor por defecto es 1.

indirectLightWorkgroupSize : int

El tamaño de los grupos de trabajo de la muestra. Estos grupos de trabajo se intentan ejecutar en paralelo. (el comportamiento exacto depende del número de núcleos de la CPU y de la configuración de QThreadPool )

El valor por defecto es 32. Con el recuento de muestras por defecto de 256 esto significa intentar ejecutar 8 grupos en paralelo por modelo.

opacityThreshold : real

El umbral de opacidad (alfa) por debajo del cual un objeto es ignorado en las intersecciones rayo - malla cuando se calcula la iluminación mediante trazado de rayos. Cuando la opacidad cae por debajo del umbral, el modelo (submalla) no ocluirá luces y por tanto tampoco generará sombras.

El valor por defecto es 0.5.

Nota: El lightmapper tiene en cuenta el material's opacity y el baseColor alpha combinado con el base color map's alpha. Otras fuentes de semitransparencia, como el mapa de opacidad o los ajustes de corte alfa son ignorados durante el proceso de baking del lightmap.

samples : int

El número de muestras por texel de lightmap.

El valor por defecto es 256.

El valor afecta en gran medida tanto al rendimiento como a la calidad de los lightmaps resultantes durante la cocción de lightmaps.

source : url [default: file:lightmaps.bin, since 6.10]

La url para cargar el archivo lightmap en tiempo de ejecución y la ruta del archivo de salida en un bakeo exitoso.

Al bakear, la ruta de salida se deducirá de la url y debe resolverse en una ubicación de archivo normal en la que se pueda escribir. Por defecto, el valor es file:lightmaps.bin, lo que significa que el archivo se pondrá en el directorio de trabajo actual y el resultado final aparecerá instantáneamente en una cocción exitosa.

En el mismo directorio que el archivo de salida, se crea un archivo .raw que contiene datos extra de lightmap utilizados antes de crear el archivo lightmap final. Esto hace posible hacer sólo denoising sin tener que bakear toda la escena entre ejecuciones, asumiendo que el archivo .raw está presente.

Si quieres leer el lightmap como un recurso QRC necesitas incrustarlo de la forma habitual y añadir un prefijo :/ o qrc:/ a la url. El siguiente ejemplo siempre intenta cargar el archivo lightmap incrustado a través de recursos. Primero establece el valor en una ubicación escribible y bakea. Luego copia el archivo generado en el directorio fuente. Luego, listando el archivo en el proyecto CMake de la aplicación como un recurso bajo /lightmaps PREFIX, permite al proceso de construcción recoger el archivo e incluirlo en el ejecutable.

Lightmapper {
    source: "qrc:/lightmaps/lightmaps.bin"
    // will attempt to load from :/lightmaps/lightmaps.bin at runtime
    // and write a file to lightmaps/lightmaps.bin when baking.
}

Esta propiedad se introdujo en Qt 6.10.

texelsPerUnit : real [default: 1, since 6.10]

Esta propiedad define la escala de unidad a texel, lo que significa que un quad 1x1 con texelsPerUnit de 32 ocupará aproximadamente 32x32 texels en el lightmap.

Esta propiedad se introdujo en Qt 6.10.

Ver también Model::texelsPerUnit.

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