Fog QML Type
Legt die Nebeleinstellungen für eine Szene fest. Mehr...
Import Statement: | import QtQuick3D |
Since: | Qt 6.5 |
Inherits: |
Eigenschaften
- 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
Detaillierte Beschreibung
Wenn die Eigenschaft fog eines SceneEnvironment auf ein gültiges Fog-Objekt gesetzt wird, werden die Eigenschaften verwendet, um das Rendering von Nebel zu konfigurieren.
Der einfache Nebel, der von diesem Typ bereitgestellt wird, wird von den Materialien implementiert. Es handelt sich nicht um einen Post-Processing-Effekt, d. h., es werden keine zusätzlichen Rendering-Durchgänge durchgeführt, bei denen die Textur mit der Ausgabe von View3D verarbeitet wird, sondern er wird im Fragment-Shader für jedes renderbare Objekt (Submesh von Model) mit einem PrincipledMaterial oder schattierten CustomMaterial implementiert.
Nebel wird durch eine Reihe von Eigenschaften konfiguriert:
- Allgemeine Einstellungen: color und density
- Einstellungen für Tiefennebel: depthEnabled, depthNear, depthFar, depthCurve
- Einstellungen für Höhennebel: heightEnabled, leastIntenseY, mostIntenseY, heightCurve
- Einstellungen für die Farbübertragung: transmitEnabled, transmitCurve
Das folgende Snippet aktiviert beispielsweise Tiefennebel (aber nicht Höhennebel) unter Verwendung der Standard-Nebelparameter:
environment: SceneEnvironment { backgroundMode: SceneEnvironment.Color clearColor: theFog.color fog: Fog { id: theFog enabled: true depthEnabled: true } }
Anstatt das Fog-Objekt inline zu definieren, ist es auch möglich, ein Fog-Objekt über id
zu referenzieren. Und da ExtendedSceneEnvironment alles von seinem Elterntyp SceneEnvironment erbt, kann Fog auch mit ExtendedSceneEnvironment verwendet werden:
Fog { id: theFog enabled: true depthEnabled: true } environment: ExtendedSceneEnvironment { fog: theFog }
Siehe auch Qt Quick 3D - Simple Fog Example und Qt Quick 3D - Scene Effects Example.
Dokumentation der Eigenschaft
color : color |
Die Farbe des Nebels. Der Standardwert ist "#8099b3".
Dieselbe Szene mit geänderter Farbe, die bläulicher ist:
Siehe auch density.
density : real |
Steuert die Menge des Nebels, in der Praxis ist dies ein Multiplikator im Bereich 0-1. Der Standardwert ist 1.0. Durch Verringern des Wertes wird die Stärke des Nebeleffekts verringert. Gilt nur, wenn depthEnabled auf true gesetzt ist.
Der visuelle Effekt auf dem Bildschirm kann durch eine Reihe anderer Einstellungen von ExtendedSceneEnvironment beeinflusst werden, z. B. Tonemapping oder Glühen und Aufblühen. Der gleiche Dichtewert kann zu unterschiedlichen Ergebnissen führen, je nachdem, welche anderen Effekte aktiviert sind und wie diese konfiguriert sind.
Eine Beispielszene mit einer auf 0.95
eingestellten Dichte:
Dieselbe Szene mit einer auf 0.15
reduzierten Dichte:
Siehe auch color.
depthCurve : real |
Der Standardwert ist 1,0.
Nur anwendbar, wenn depthEnabled auf true gesetzt ist.
Siehe auch depthEnabled.
depthEnabled : bool |
Steuert, ob der Nebel in der Ferne erscheint. Der Standardwert ist false.
Siehe auch heightEnabled, enabled, depthNear, depthFar, und depthCurve.
depthFar : real |
Endentfernung von der Kamera. Der Standardwert ist 1000.0. Gilt nur, wenn depthEnabled auf true gesetzt ist.
Hinweis: Es wird erwartet, dass die Szene, einschließlich der Kamera und der Modelle, entsprechend eingerichtet ist, so dass sinnvolle Bereiche durch Eigenschaften wie depthNear und depthFar definiert werden können. Erwarten Sie nicht, dass Nebel immer in einer Szene aktiviert werden kann, die Assets enthält, die im Ist-Zustand importiert wurden, ohne dass zuvor die Transformationen angepasst wurden. Die Beispiel-Screenshots auf dieser Seite mit dem Sponza-Modell wurden generiert, nachdem manuell ein zusätzlicher Maßstab von (100, 100, 100)
auf die instanziierte Sponza-Komponente angewendet wurde, die mit dem Tool balsam
aus dem glTF-Quell-Asset generiert wurde. Dies ergab dann einen ausreichenden Z-Bereich, um gut aussehende Ergebnisse zu erhalten, indem die Werte depthNear und depthFar angepasst wurden.
Siehe auch depthNear und depthEnabled.
depthNear : real |
Startabstand von der Kamera. Der Standardwert ist 10.0. Gilt nur, wenn depthEnabled auf true gesetzt ist.
Nehmen Sie als Beispiel diese Szene, zunächst mit einem höheren depthNear-Wert.
Wenn Sie den Wert von depthNear verringern, bewegt sich der Nebel effektiv "näher" an die Kamera heran, da er nun von einem geringeren Abstand zur Kamera ausgeht:
Hinweis: Es wird erwartet, dass die Szene, einschließlich der Kamera und der Modelle, entsprechend eingerichtet ist, so dass sinnvolle Bereiche durch Eigenschaften wie depthNear und depthFar definiert werden können. Erwarten Sie nicht, dass Nebel immer in einer Szene aktiviert werden kann, die Assets enthält, die im Ist-Zustand importiert wurden, ohne dass zuvor die Transformationen angepasst wurden. Die Beispiel-Screenshots auf dieser Seite mit dem Sponza-Modell wurden generiert, nachdem manuell eine zusätzliche Skalierung von (100, 100, 100)
auf die instanziierte Sponza-Komponente angewendet wurde, die mit dem Tool balsam
aus dem glTF-Quell-Asset erzeugt wurde. Dies ergab dann einen ausreichenden Z-Bereich, um gut aussehende Ergebnisse zu erhalten, indem die depthNear- und depthFar -Werte eingestellt wurden.
Siehe auch depthFar und depthEnabled.
enabled : bool |
Legt fest, ob Nebel auf die Szene angewendet wird. Der Standardwert ist false.
Das Aktivieren von Tiefen- oder Höhennebel hat keine Auswirkungen, wenn dieser Wert nicht auf true gesetzt wird.
Siehe auch depthEnabled und heightEnabled.
heightCurve : real |
Legt die Intensität des Höhennebels fest. Der Standardwert ist 1.0. Nur anwendbar, wenn heightEnabled auf true gesetzt ist.
Siehe auch heightEnabled.
heightEnabled : bool |
Legt fest, ob ein Höhennebel aktiviert ist. Der Standardwert ist false.
Siehe auch depthEnabled, enabled, leastIntenseY, mostIntenseY, und heightCurve.
leastIntenseY : real |
Gibt die Position (Y-Koordinate) an, an der der Nebel am wenigsten stark ist. Der Standardwert ist 10.0. Gilt nur, wenn heightEnabled auf true gesetzt ist.
Hinweis: Standardmäßig ist der Wert größer als mostIntenseY. Solange dies der Fall ist, wird der Nebel von oben nach unten gerendert. Wenn dieser Wert kleiner als mostIntenseY ist, wird der Nebel von unten nach oben gerendert.
Hinweis: Die Y-Achse zeigt in Qt Quick 3D Szenen nach oben.
Hier ist eine Szene mit aktiviertem Höhennebel (kein Tiefennebel) abgebildet, und leastIntenseY ist auf einen Wert eingestellt, bei dem sich der Nebel nur am unteren Rand der Sponza-Szene ausbreitet.
Erhöht man den Wert von leastIntenseY, breitet sich der Nebel stärker aus, da er nun effektiv an einer höheren Y-Position in der Szene beginnt. (Beachten Sie, dass die Y-Achse nach oben zeigt)
Hinweis: Wie beim Tiefennebel wird erwartet, dass die Szene entsprechend eingerichtet ist, so dass sinnvolle Y-Koordinatenbereiche durch leastIntenseY und mostIntenseY definiert werden können. Erwarten Sie nicht, dass der Nebel in einer Szene mit importierten Assets immer aktiviert werden kann, ohne dass zuvor die Transformationen angepasst wurden. Die Beispiel-Screenshots auf dieser Seite mit dem Sponza-Modell wurden beispielsweise nach der manuellen Anwendung eines zusätzlichen Maßstabs von (100, 100, 100)
auf die instanziierte Sponza-Komponente erstellt, die mit dem Tool balsam
aus dem glTF-Quell-Asset generiert wurde.
Siehe auch mostIntenseY und heightEnabled.
mostIntenseY : real |
Gibt die Position (Y-Koordinate) an, an der der Nebel am stärksten ist. Der Standardwert ist 0. Nur anwendbar, wenn heightEnabled auf true gesetzt ist.
Hinweis: Standardmäßig ist der Wert kleiner als leastIntenseY. Solange dieser Wert wahr ist, wird der Nebel von oben nach unten gerendert. Wenn dieser Wert größer als leastIntenseY ist, wird der Nebel von unten nach oben gerendert.
Hinweis: Die Y-Achse zeigt in Qt Quick 3D Szenen nach oben.
Hinweis: Wie bei Tiefennebel wird erwartet, dass die Szene entsprechend eingerichtet ist, so dass sinnvolle Y-Koordinatenbereiche durch leastIntenseY und mostIntenseY definiert werden können. Erwarten Sie nicht, dass Nebel immer in einer Szene aktiviert werden kann, die Assets enthält, die im Ist-Zustand importiert wurden, ohne dass zuvor die Transformationen angepasst wurden. Die Beispiel-Screenshots auf dieser Seite mit dem Sponza-Modell wurden beispielsweise nach der manuellen Anwendung eines zusätzlichen Maßstabs von (100, 100, 100)
auf die instanziierte Sponza-Komponente erstellt, die mit dem Tool balsam
aus dem glTF-Quell-Asset generiert wurde.
Siehe auch leastIntenseY und heightEnabled.
transmitCurve : real |
Intensität des Lichtdurchlässigkeitseffekts. Der Standardwert ist 1.0. Nur anwendbar, wenn transmitEnabled auf true gesetzt ist.
transmitEnabled : bool |
Legt fest, ob der Nebel einen Lichtdurchlässigkeitseffekt hat. Der Standardwert ist false.
© 2025 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.