Sur cette page

Lightmapper QML Type

Spécifie les paramètres de cuisson de la carte lumineuse pour une scène. Plus d'informations...

Import Statement: import QtQuick3D
Since: Qt 6.4
Inherits:

QtObject

Propriétés

Description détaillée

Utilisé lors de l'élaboration de l'éclairage direct et indirect. La plupart de ces paramètres ne sont pas pertinents à d'autres moments, par exemple lors de l'utilisation de cartes lumineuses déjà générées pour le rendu d'une scène. L'exception est source, bien qu'il y ait une valeur par défaut raisonnable pour le développement.

Lors d'une cuisson réussie, un seul fichier sera généré à la valeur spécifiée par source. Ce fichier binaire contient les résultats de la cuisson, y compris les lightmaps par modèle et les fichiers de maillage avec des UV compatibles avec les lightmaps. Les données des modèles individuels sont accessibles via BakedLightmap::key.

Les données contenues dans le fichier lightmap résultant sont toutes étroitement liées les unes aux autres et à l'état actuel de la scène. Cela signifie que toute modification des fichiers de maillage originaux, des paramètres du Lightmapper ou d'autres changements de scène nécessitera l'exécution d'un nouveau bake pour voir le résultat mis à jour.

Note : A partir de Qt 6.4, le lightmap baking est dans un état de prévisualisation technologique précoce. Des changements au niveau des fonctionnalités, de la qualité et de l'API sont susceptibles d'intervenir dans les prochaines versions.

L'objet Lightmapper fonctionne en combinaison avec :

Voir aussi Lightmaps et illumination globale, Qt Quick 3D - Exemple de Lightmap cuite, et Qt Quick 3D - Exemple de Lightmap SSGI.

Documentation sur les propriétés

adaptiveBiasEnabled : bool

Permet d'appliquer un biais dynamique supplémentaire basé sur la normale de la surface.

La valeur par défaut est true.

bias : real

Biais de diffusion utilisé pendant la cuisson. Adaptez la valeur en cas d'artefacts, par exemple pour réduire les ombres indésirables. Dans de nombreux cas, la valeur par défaut est suffisante.

La valeur par défaut est de 0,005.

bounces : int

Nombre maximal de rebonds de lumière indirecte par échantillon. Cette valeur doit être au moins égale à 1, sinon le calcul de la lumière indirecte n'a aucun intérêt.

La valeur par défaut est 3.

Cette valeur affecte fortement les performances et la qualité des lightmaps résultants lors de la cuisson des lightmaps.

denoiseSigma : real [default: 8, since 6.10]

Cette propriété définit la valeur sigma du débruiteur basé sur les moyennes non locales. Cela signifie que plus cette valeur est élevée, plus le flou sera important. Essayez de garder cette valeur aussi basse que possible pour éviter de perdre des caractéristiques visuelles tout en supprimant le bruit.

Cette propriété a été introduite dans Qt 6.10.

indirectLightEnabled : bool

Normalement, il n'est pas nécessaire de modifier cette valeur. La valeur par défaut est true. La définition de cette propriété à false désactive le calcul de la lumière indirecte lors de l'élaboration de la carte de lumière. Ainsi, les cartes de texture résultantes ne contiendront que des informations sur la lumière directe. Au moment de l'exécution, le moteur continuera à utiliser les cartes normalement, en supposant qu'elles contiennent à la fois l'éclairage direct et indirect.

indirectLightFactor : real

Multiplicateur de la quantité de lumière indirecte. Bien que la valeur 1 (qui n'affecte pas le calcul de la quantité de lumière indirecte) fournisse des résultats de rendu strictement corrects, une valeur légèrement supérieure peut souvent donner de meilleurs résultats lors de l'utilisation de la carte lumineuse, même avec un nombre de rebonds inférieur.

La valeur par défaut est 1.

indirectLightWorkgroupSize : int

La taille des groupes de travail de l'échantillon. Ces groupes de travail sont censés être exécutés en parallèle. (le comportement exact dépend du nombre de cœurs de l'unité centrale et de la configuration de QThreadPool ).

La valeur par défaut est 32. Avec un nombre d'échantillons par défaut de 256, cela signifie que l'on tente d'exécuter 8 groupes en parallèle par modèle.

opacityThreshold : real

Seuil d'opacité (alpha) en dessous duquel un objet est ignoré dans les intersections rayon-maillage lors du calcul de l'éclairage par raytracing. Lorsque l'opacité est inférieure au seuil, le modèle (sous-maillage) n'occulte pas les lumières et ne génère donc pas d'ombres.

La valeur par défaut est 0,5.

Note : Le lightmapper prend en compte le material's opacity et le baseColor alpha combiné au base color map's alpha. Les autres sources de semi-transparence, telles que la carte d'opacité ou les paramètres de coupure alpha, sont ignorées lors du processus de création de la carte lumineuse.

samples : int

Le nombre d'échantillons par texel de la carte lumineuse.

La valeur par défaut est 256.

Cette valeur affecte fortement les performances et la qualité des images lumineuses obtenues lors de la cuisson des images lumineuses.

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

L'url pour charger le fichier lightmap au moment de l'exécution et le chemin du fichier de sortie lors d'une cuisson réussie.

Lors de la cuisson, le chemin de sortie sera déduit de l'url et doit correspondre à un emplacement de fichier normal accessible en écriture. Par défaut, la valeur est file:lightmaps.bin, ce qui signifie que le fichier sera placé dans le répertoire de travail courant et que le résultat final apparaîtra instantanément en cas de cuisson réussie.

Dans le même répertoire que le fichier de sortie, un fichier .raw est créé. Il contient des données supplémentaires utilisées avant la création du fichier final. Cela permet de ne faire que du débruitage sans avoir à cuire toute la scène entre les exécutions, à condition que le fichier .raw soit présent.

Si vous souhaitez lire la carte lumineuse en tant que ressource QRC, vous devez l'intégrer de la manière habituelle et ajouter un préfixe :/ ou qrc:/ à l'url. L'exemple suivant tente toujours de charger le fichier lightmap intégré via les ressources. Définissez d'abord la valeur à un emplacement accessible en écriture et procédez à un bake. Copiez ensuite le fichier généré dans le répertoire source. En listant le fichier dans le projet CMake de l'application en tant que ressource sous /lightmaps PREFIX, le processus de construction peut récupérer le fichier et l'inclure dans l'exécutable.

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

Cette propriété a été introduite dans Qt 6.10.

texelsPerUnit : real [default: 1, since 6.10]

Cette propriété définit l'échelle de l'unité au texel, ce qui signifie qu'un quadrant 1x1 avec des texelsPerUnit de 32 occupera environ 32x32 texels dans la carte lumineuse.

Cette propriété a été introduite dans Qt 6.10.

Voir aussi 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.