Auf dieser Seite

Fog QML Type

Legt die Nebeleinstellungen für eine Szene fest. Mehr...

Import Statement: import QtQuick3D
Since: Qt 6.5
Inherits:

QtObject

Eigenschaften

Ausführliche Beschreibung

Wenn die Eigenschaft „ fog “ eines „ SceneEnvironment “ auf ein gültiges „Fog“-Objekt gesetzt wird, werden die Eigenschaften zur Konfiguration der Nebel-Darstellung verwendet.

Szene mit Nebeleffekt

Der von diesem Typ bereitgestellte einfache Nebel wird durch die Materialien implementiert. Es handelt sich nicht um einen Post-Processing-Effekt, d. h., es sind keine zusätzlichen Render-Durchläufe erforderlich, bei denen die Textur mit der Ausgabe von „ View3D “ verarbeitet wird, sondern er wird vielmehr im Fragment-Shader für jedes renderbare Objekt (Submesh von „ Model “) mit einem „ PrincipledMaterial “ oder einem „shaded CustomMaterial “ implementiert.

Der Nebel wird über eine Reihe von Eigenschaften konfiguriert:

Der folgende Codeausschnitt aktiviert beispielsweise Tiefennebel (jedoch keinen 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, über ` id` auf ein Fog-Objekt zu verweisen. Und da ` ExtendedSceneEnvironment ` alles von seinem übergeordneten Typ ` SceneEnvironment` erbt, kann Nebel auch mit ` ExtendedSceneEnvironment ` verwendet werden:

Fog {
    id: theFog
    enabled: true
    depthEnabled: true
}
environment: ExtendedSceneEnvironment {
    fog: theFog
}

Siehe auch Qt Quick 3D – Einfaches „Fog“-Beispiel und Qt Quick 3D – Beispiel für Szeneneffekte.

Dokumentation zu den Eigenschaften

color : color

Die Farbe des Nebels. Der Standardwert lautet „#8099b3“

Szene mit leicht entsättigtem blauem Nebel

Dieselbe Szene mit einer bläulicheren Farbgebung:

Szene mit blauem Nebel

Siehe auch density.

density : real

Steuert die Nebeldichte; in der Praxis handelt es sich hierbei um einen Multiplikator im Bereich von 0 bis 1. Der Standardwert ist 1,0. Durch Verringern des Werts wird die Intensität des Nebeleffekts reduziert. Gilt nur, wenn „ depthEnabled “ auf „true“ gesetzt ist.

Der visuelle Effekt auf dem Bildschirm kann durch eine Reihe weiterer Einstellungen unter „ ExtendedSceneEnvironment “ beeinflusst werden, beispielsweise durch Tonemapping oder Glow und Bloom. Derselbe Dichtewert kann zu unterschiedlichen Ergebnissen führen, je nachdem, welche anderen Effekte aktiviert sind und wie diese konfiguriert sind.

Eine Beispielszene mit der Dichte „ 0.95 “:

Szene mit einer Nebeldichte von 95 Prozent

Dieselbe Szene mit auf „ 0.15 “ reduzierter Dichte:

Szene mit einer Nebeldichte von 15 Prozent

Siehe auch „ color “.

depthCurve : real

Der Standardwert ist 1,0.

Gilt nur, wenn „ depthEnabled “ auf „true“ gesetzt ist.

Siehe auch „ depthEnabled “.

depthEnabled : bool

Legt fest, ob in der Ferne Nebel erscheint. Der Standardwert ist „false“.

Siehe auch heightEnabled, enabled, depthNear, depthFar und depthCurve.

depthFar : real

Endabstand zur Kamera. Der Standardwert beträgt 1000,0. Gilt nur, wenn „ depthEnabled “ auf „true“ gesetzt ist.

Hinweis: Die Szene, einschließlich der Kamera und der Modelle, sollte entsprechend eingerichtet sein, damit durch Eigenschaften wie „ depthNear “ und „depthFar“ sinnvolle Bereiche definiert werden können. Gehen Sie nicht davon aus, dass Nebel in einer Szene, die unverändert importierte Assets enthält, immer aktiviert werden kann, ohne zuvor die Transformationen anzupassen. Beispielsweise wurden die Beispiel-Screenshots auf dieser Seite mit dem Sponza-Modell erstellt, nachdem manuell eine zusätzliche Skalierung von (100, 100, 100) auf die instanziierte Sponza-Komponente angewendet wurde, die vom Tool „ balsam “ aus dem glTF-Quell-Asset generiert wurde. Dies ergab dann einen ausreichenden Z-Bereich, um durch Anpassung der Werte für „ depthNear “ und „depthFar“ ansprechende Ergebnisse zu erzielen.

Siehe auch depthNear und depthEnabled.

depthNear : real

Startabstand zur Kamera. Der Standardwert beträgt 10,0. Gilt nur, wenn „ depthEnabled “ auf „true“ gesetzt ist.

Betrachten Sie als Beispiel diese Szene, zunächst mit einem höheren „depthNear“-Wert.

Szene mit größerer Tiefe – Nebelwert nahe am Maximum

Wird der Wert von „depthNear“ verringert, „rückt“ der Nebel effektiv näher an die Kamera heran, da er nun von einer geringeren Entfernung zur Kamera ausgeht:

Szene mit geringer Tiefenschärfe – Nebelwert nahe am Schwellenwert

Hinweis: Es wird erwartet, dassdie Szene, einschließlich der Kamera und der Modelle, entsprechend eingerichtet ist, sodass sinnvolle Bereiche durch Eigenschaften wie „depthNear“ und „ depthFar “ definiert werden können. Gehen Sie nicht davon aus, dass der Nebel in einer Szene, die unverändert importierte Assets enthält, immer aktiviert werden kann, ohne zuvor die Transformationen anzupassen. Beispielsweise wurden die Beispiel-Screenshots auf dieser Seite mit dem Sponza-Modell erstellt, nachdem manuell eine zusätzliche Skalierung von (100, 100, 100) auf die instanziierte Sponza-Komponente angewendet wurde, die vom Tool „ balsam “ aus dem glTF-Quell-Asset generiert wurde. Dies ergab dann einen ausreichenden Z-Bereich, um durch Anpassen der Werte für „depthNear“ und „ depthFar “ ansprechende Ergebnisse zu erzielen.

Siehe auch depthFar und depthEnabled.

enabled : bool

Legt fest, ob in der Szene Nebel angewendet wird. Der Standardwert ist „false“.

Das Aktivieren von Tiefen- oder Höhennebel hat keine Wirkung, wenn dieser Wert nicht auf „true“ gesetzt ist.

Siehe auch depthEnabled und heightEnabled.

heightCurve : real

Legt die Intensität des Höhennebels fest. Der Standardwert ist 1,0. Gilt nur, 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

Legt die Position (Y-Koordinate) fest, an der der Nebel am schwächsten ist. Der Standardwert beträgt 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. Ist dieser Wert kleiner als „ mostIntenseY “, wird der Nebel von unten nach oben gerendert.

Hinweis: In „ Qt Quick 3D “-Szenen zeigtdie Y-Achse nach oben.

Hier ist eine Szene abgebildet, in der Höhennebel aktiviert ist (kein Tiefennebel) und „leastIntenseY“ auf einen Wert eingestellt ist, sodass sich der Nebel nur am unteren Rand der Sponza-Szene ausbreitet.

Szene mit niedrigerem „leastIntenseY“-Nebelwert

Durch Erhöhen des Werts von „leastIntenseY“ breitet sich der Nebel weiter nach oben aus, da er nun effektiv an einer höheren Y-Position in der Szene beginnt. (Beachten Sie, dass die Y-Achse nach oben zeigt.)

Szene mit einem höheren „leastIntenseY“-Nebelwert

Hinweis: Wie beim Tiefennebel sollte die Szene entsprechend eingerichtet sein, damit durch „leastIntenseY“ und „ mostIntenseY “ sinnvolle Y-Koordinatenbereiche definiert werden können. Gehen Sie nicht davon aus, dass der Nebel in einer Szene, die unverändert importierte Assets enthält, immer aktiviert werden kann, ohne zuvor die Transformationen anzupassen. Die Beispiel-Screenshots auf dieser Seite mit dem Sponza-Modell wurden beispielsweise erstellt, 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 generiert wurde.

Siehe auch mostIntenseY und heightEnabled.

mostIntenseY : real

Legt die Position (Y-Koordinate) fest, an der der Nebel am dichtesten ist. Der Standardwert ist 0. Gilt nur, wenn „ heightEnabled “ auf „true“ gesetzt ist.

Hinweis: Standardmäßig ist der Wert kleiner als „ leastIntenseY “. Solange dies der Fall ist, wird der Nebel von oben nach unten gerendert. Ist dieser Wert größer als „ leastIntenseY “, wird der Nebel von unten nach oben gerendert.

Hinweis: In „ Qt Quick 3D “-Szenen zeigtdie Y-Achse nach oben.

Hinweis: Wie beim Tiefennebel wird erwartet, dass die Szene entsprechend eingerichtet ist, sodass durch „ leastIntenseY “ und „mostIntenseY“ sinnvolle Y-Koordinatenbereiche definiert werden können. Gehen Sie nicht davon aus, dass der Nebel in einer Szene, die unverändert importierte Assets enthält, immer aktiviert werden kann, ohne zuvor die Transformationen anzupassen. Beispielsweise wurden die Beispiel-Screenshots auf dieser Seite mit dem Sponza-Modell erstellt, nachdem manuell eine zusätzliche Skalierung von (100, 100, 100) auf die instanziierte Sponza-Komponente angewendet wurde, die vom 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. Gilt nur, wenn „ transmitEnabled “ auf „true“ gesetzt ist.

transmitEnabled : bool

Legt fest, ob der Nebel einen Lichtdurchlässigkeitseffekt hat. Der Standardwert ist „false“.

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