Lightmapper QML Type
Définit les paramètres de calcul des lightmaps pour une scène. En savoir plus…
| Import Statement: | import QtQuick3D |
| Since: | Qt 6.4 |
| Inherits: |
Propriétés
- adaptiveBiasEnabled : bool
- bias : real
- bounces : int
- denoiseSigma : real
(since 6.10) - indirectLightEnabled : bool
- indirectLightFactor : real
- indirectLightWorkgroupSize : int
- opacityThreshold : real
- samples : int
- source : url
(since 6.10) - texelsPerUnit : real
(since 6.10)
Description détaillée
À utiliser lors du « baking » de l’éclairage direct et indirect. La plupart de ces paramètres ne sont pas pertinents dans d’autres cas, par exemple lorsque l’on utilise des lightmaps déjà générées pour rendre une scène. La seule exception est source, bien que cette option dispose d’une valeur par défaut raisonnable pour le développement.
Si la cuisson est réussie, un seul fichier sera généré, dont le nom correspond à la valeur spécifiée par « source ». Ce fichier binaire contient les résultats de la cuisson, notamment les lightmaps par modèle et les fichiers de maillage avec des UV compatibles avec les lightmaps. Les données de chaque modèle sont accessibles via « BakedLightmap::key ».
Les données contenues dans le fichier de 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 apportée aux fichiers de maillage d’origine, aux paramètres de Lightmapper ou tout autre changement apporté à la scène nécessitera l’exécution d’un nouveau « bake » pour voir le résultat mis à jour.
Remarque : à partir de Qt 6.4, le « baking » des lightmaps est en phase précoce d’aperçu technologique. Des modifications concernant les fonctionnalités, la qualité et l’API sont susceptibles d’intervenir dans les prochaines versions.
L'objet Lightmapper fonctionne en combinaison avec :
- Model::bakedLightmap et les méthodes associées ` BakedLightmap`,
- Model::usedInBakedLighting et l’ Model::texelsPerUnit,
- Light::bakeMode,
- le générateur de lightmaps intégré au moteur.
Voir également «Lightmaps et éclairage global », « 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 supplémentaire et dynamique en fonction de la normale à la surface.
La valeur par défaut est « true ».
bias : real
Décalage du raycasting utilisé lors du « baking ». Ajustez cette valeur en cas d'apparition d'artefacts, par exemple pour réduire les motifs d'ombrage indésirables. Dans la plupart des cas, la valeur par défaut est suffisante.
La valeur par défaut est 0,005.
bounces : int
Nombre maximal de réflexions de lumière indirecte par échantillon. La 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 a une forte incidence à la fois sur les performances et sur la qualité des lightmaps obtenues lors de la cuisson des lightmaps.
denoiseSigma : real [default: 8, since 6.10]
Cette propriété définit la valeur sigma du débrouilleur basé sur la méthode des moyennes non locales. Cela signifie que plus cette valeur est élevée, plus le flou sera important. Essayez de maintenir cette valeur aussi basse que possible afin d'éviter de perdre des caractéristiques visuelles tout en supprimant le bruit.
Cette propriété a été introduite dans Qt 6.10.
indirectLightEnabled : bool
En règle générale, il n'est pas nécessaire de modifier cette valeur. La valeur par défaut est « true ». Définir cette propriété sur « false » désactive le calcul de la lumière indirecte lors de la création des lightmaps. Ainsi, les textures obtenues ne contiendront que des informations relatives à la lumière directe. Lors de l'exécution, le moteur continuera à utiliser ces textures normalement, en partant du principe qu'elles contiennent à la fois de la lumière directe et indirecte.
indirectLightFactor : real
Multiplicateur de l'intensité de la lumière indirecte. Bien que la valeur 1 (c'est-à-dire n'affectant pas le calcul de l'intensité de la lumière indirecte) donne des résultats de rendu strictement corrects, une valeur légèrement supérieure peut souvent offrir de meilleurs résultats visuels lors de l'utilisation de la carte d'éclairage, même avec un nombre réduit de rebonds.
La valeur par défaut est 1.
indirectLightWorkgroupSize : int
La taille des groupes de travail d'échantillonnage. Le système tente d'exécuter ces groupes de travail en parallèle. (Le comportement exact dépend du nombre de cœurs de processeur et de la configuration d'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é lors des intersections entre les rayons et le maillage, lors du calcul de l'éclairage par lancer de rayons. Lorsque l'opacité passe en dessous de ce seuil, le modèle (sous-maillage) n'occultera pas les lumières et ne générera donc pas d'ombres non plus.
La valeur par défaut est 0,5.
Remarque : le lightmapper prend en compte l’ material's opacity, l’ baseColor alpha ainsi que l’ base color map's alpha. Les autres sources de semi-transparence, telles que la carte d’opacité ou les paramètres de seuil alpha, sont ignorées lors du processus de cuisson de la lightmap.
samples : int
Nombre d'échantillons par texel de la carte de lumière.
La valeur par défaut est 256.
Cette valeur a une forte incidence à la fois sur les performances et sur la qualité des lightmaps obtenues lors de leur cuisson.
source : url [default: file:lightmaps.bin, since 6.10]
L'URL permettant de charger le fichier de lightmap lors de l'exécution et le chemin d'accès au fichier de sortie en cas de réussite du « bake ».
Lors de la cuisson, le chemin de sortie sera déduit de l’URL et doit correspondre à un emplacement de fichier standard 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 actuel et que le résultat final s’affichera instantanément si la cuisson aboutit.
Dans le même répertoire que le fichier de sortie, un fichier .raw est créé ; il contient des données supplémentaires de lightmap utilisées avant la création du fichier de lightmap final. Cela permet d’effectuer uniquement un débruitage sans avoir à cuire l’intégralité de la scène entre deux exécutions, à condition que le fichier .raw soit présent.
Si vous souhaitez lire la carte d’éclairage en tant que ressource QRC, vous devez l’intégrer de la manière habituelle et ajouter le préfixe :/ ou qrc:/ à l’URL. L’exemple suivant tente toujours de charger le fichier de carte d’éclairage intégré via les ressources. Commencez par définir la valeur sur un emplacement accessible en écriture, puis effectuez la cuisson. Copiez ensuite le fichier généré dans le répertoire source. Ensuite, en répertoriant le fichier dans le projet CMake de l’application en tant que ressource sous le préfixe /lightmaps, vous permettez au processus de compilation de détecter le fichier et de 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 entre l'unité et le texel. Ainsi, un quadrilatère de 1x1 avec une valeur de texelsPerUnit égale à 32 occupera environ 32x32 texels dans la lightmap.
Cette propriété a été introduite dans Qt 6.10.
Voir également 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.