Auf dieser Seite

Lightmapper QML Type

Legt die Einstellungen für das Lightmap-Baking einer Szene fest. Mehr...

Import Statement: import QtQuick3D
Since: Qt 6.4
Inherits:

QtObject

Eigenschaften

Ausführliche Beschreibung

Wird beim Baking von direkter und indirekter Beleuchtung verwendet. Die meisten dieser Einstellungen sind in anderen Fällen nicht relevant, beispielsweise wenn bereits generierte Lightmaps zum Rendern einer Szene verwendet werden. Eine Ausnahme bildet „ source “ (Bake-Tiefe), obwohl hierfür ein sinnvoller Standardwert für die Entwicklung festgelegt ist.

Bei erfolgreichem „Bake“ wird eine einzige Datei mit dem unter „ source “ angegebenen Wert generiert. Diese Binärdatei enthält die Ergebnisse des „Bake“, einschließlich der modellbezogenen Lightmaps und der Mesh-Dateien mit Lightmap-kompatiblen UVs. Der Zugriff auf die einzelnen Modelldaten erfolgt über „ BakedLightmap::key “.

Die in der resultierenden Lightmap-Datei enthaltenen Daten sind alle eng miteinander und mit dem aktuellen Szenenstatus verknüpft. Das bedeutet, dass bei Änderungen an den ursprünglichen Mesh-Dateien, den Lightmapper-Einstellungen oder anderen Szenenänderungen ein neuer Bake-Vorgang durchgeführt werden muss, um das aktualisierte Ergebnis zu sehen.

Hinweis: Ab Qt 6.4 befindet sich das Lightmap-Baking in einer frühen Technologie-Vorschau-Phase. In zukünftigen Versionen sind Änderungen an Funktionen, Qualität und API wahrscheinlich.

Das Lightmapper-Objekt arbeitet in Kombination mit:

Siehe auch „Lightmaps und globale Beleuchtung“, „Qt Quick 3D – Beispiel für eine gebackene Lightmap“ und „Qt Quick 3D – SSGI-Lightmap-Beispiel“.

Dokumentation zu den Eigenschaften

adaptiveBiasEnabled : bool

Ermöglicht die Anwendung einer zusätzlichen, dynamischen Vorspannung basierend auf der Oberflächennormalen.

Der Standardwert ist „true“.

bias : real

Beim Baking verwendete Raycasting-Voreinstellung. Passen Sie den Wert an, falls Artefakte auftreten, beispielsweise um unerwünschte Schattenmuster zu reduzieren. In vielen Fällen ist der Standardwert ausreichend.

Der Standardwert beträgt 0,005.

bounces : int

Die maximale Anzahl indirekter Lichtreflexionen pro Probe. Der Wert sollte mindestens 1 betragen, da die Berechnung des indirekten Lichts andernfalls keinen Sinn ergibt.

Der Standardwert beträgt 3.

Dieser Wert hat einen erheblichen Einfluss sowohl auf die Leistung als auch auf die Qualität der resultierenden Lichtkarten beim Baking von Lichtkarten.

denoiseSigma : real [default: 8, since 6.10]

Diese Eigenschaft definiert den Sigma-Wert des auf nichtlokalen Mittelwerten basierenden Rauschentferners. Das bedeutet: Je höher dieser Wert ist, desto stärker ist die Unschärfe. Versuchen Sie, diesen Wert so niedrig wie möglich zu halten, um den Verlust visueller Merkmale zu vermeiden und gleichzeitig das Rauschen zu entfernen.

Diese Eigenschaft wurde in Qt 6.10 eingeführt.

indirectLightEnabled : bool

Normalerweise muss dieser Wert nicht geändert werden. Der Standardwert ist „true“. Wird diese Eigenschaft auf „false“ gesetzt, wird die Berechnung des indirekten Lichts beim Erstellen der Lightmaps deaktiviert. Die resultierenden Textur-Maps enthalten somit nur Informationen zum direkten Licht. Zur Laufzeit verwendet die Engine die Maps weiterhin wie gewohnt, wobei davon ausgegangen wird, dass sie sowohl direktes als auch indirektes Licht enthalten.

indirectLightFactor : real

Multiplikator für die indirekte Lichtmenge. Zwar liefert der Wert 1 (d. h. ohne Einfluss auf die Berechnung der indirekten Lichtmenge) die streng korrekten Renderergebnisse, doch kann ein etwas höherer Wert bei Verwendung der Lightmap oft zu besser aussehenden Ergebnissen führen, selbst bei einer geringeren Anzahl von Reflexionen.

Der Standardwert ist 1.

indirectLightWorkgroupSize : int

Die Größe der Beispiel-Arbeitsgruppen. Es wird versucht, diese Arbeitsgruppen parallel auszuführen. (Das genaue Verhalten hängt von der Anzahl der CPU-Kerne und der Konfiguration von „ QThreadPool “ ab.)

Der Standardwert beträgt 32. Bei der standardmäßigen Stichprobenanzahl von 256 bedeutet dies, dass pro Modell versucht wird, 8 Gruppen parallel auszuführen.

opacityThreshold : real

Der Schwellenwert für die Deckkraft (Alpha), unterhalb dessen ein Objekt bei Strahl-Netz-Schnittpunkten bei der Berechnung der Beleuchtung mittels Raytracing ignoriert wird. Wenn die Deckkraft unter diesen Schwellenwert fällt, verdeckt das Modell (Submesh) keine Lichtquellen und wirft somit auch keine Schatten.

Der Standardwert beträgt 0,5.

Hinweis: Der Lightmapper berücksichtigt die „ material's opacity “ und die „ baseColor alpha “ in Kombination mit der „ base color map's alpha “. Andere Quellen für Halbtransparenz, wie beispielsweise die Opazitätskarte oder die Alpha-Cut-off-Einstellungen, werden während des Lightmap-Baking-Prozesses ignoriert.

samples : int

Die Anzahl der Samples pro Lightmap-Texel.

Der Standardwert beträgt 256.

Dieser Wert hat einen erheblichen Einfluss sowohl auf die Leistung als auch auf die Qualität der resultierenden Lightmaps während des Lightmap-Baking-Vorgangs.

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

Die URL zum Laden der Lightmap-Datei zur Laufzeit und der Pfad zur Ausgabedatei bei erfolgreichem Bake.

Beim Baking wird der Ausgabepfad aus der URL abgeleitet und muss zu einem regulären Dateipfad führen, der beschreibbar ist. Standardmäßig lautet der Wert „ file:lightmaps.bin “, was bedeutet, dass die Datei im aktuellen Arbeitsverzeichnis abgelegt wird und das Endergebnis bei erfolgreichem Baking sofort angezeigt wird.

Im selben Verzeichnis wie die Ausgabedatei wird eine Datei „ .raw “ erstellt, die zusätzliche Lightmap-Daten enthält, die vor der Erstellung der endgültigen Lightmap-Datei verwendet werden. Dies ermöglicht es, nur eine Rauschunterdrückung durchzuführen, ohne die gesamte Szene zwischen den Durchläufen neu berechnen zu müssen – vorausgesetzt, die Datei „ .raw “ ist vorhanden.

Wenn Sie die Lightmap als QRC-Ressource einlesen möchten, müssen Sie sie auf die übliche Weise einbetten und der URL das Präfix „ :/ “ oder „ qrc:/ “ hinzufügen. Das folgende Beispiel versucht stets, die über Ressourcen eingebettete Lightmap-Datei zu laden. Legen Sie zunächst den Wert auf einen beschreibbaren Speicherort fest und führen Sie den Bake-Vorgang durch. Kopieren Sie anschließend die generierte Datei in das Quellverzeichnis. Indem Sie die Datei im CMake-Projekt der Anwendung als Ressource unter dem Präfix „ /lightmaps “ auflisten, kann der Build-Prozess die Datei erkennen und in die ausführbare Datei einbinden.

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

Diese Eigenschaft wurde in Qt 6.10 eingeführt.

texelsPerUnit : real [default: 1, since 6.10]

Diese Eigenschaft definiert den Maßstab von der Einheit zum Texel. Das bedeutet, dass ein Quadrat mit den Maßen „ 1x1 “ und dem Wert „texelsPerUnit“ von „ 32 “ in der Lightmap etwa „ 32x32 “ Texel einnimmt.

Diese Eigenschaft wurde in Qt 6.10 eingeführt.

Siehe auch „ 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.