DirectionalLight QML Type

Definiert ein gerichtetes Licht in der Szene. Mehr...

Import Statement: import QtQuick3D
Inherits:

Light

Eigenschaften

Ausführliche Beschreibung

Das gerichtete Licht strahlt von einer nicht identifizierbaren, unendlich weit entfernten Quelle Licht in eine Richtung aus. Dies ähnelt der Art und Weise, wie das Sonnenlicht im wirklichen Leben funktioniert. Ein gerichtetes Licht hat eine unendliche Reichweite und wird nicht schwächer.

Wenn castsShadow aktiviert ist, verlaufen die Schatten parallel zur Lichtrichtung.

Ein gerichtetes Licht hat praktisch keine Position, d. h. es hat keine Auswirkungen, wenn man es bewegt. Das Licht wird immer in Richtung der Z-Achse des Lichts abgestrahlt.

Wird die Leuchte um ihre X- oder Y-Achse gedreht, ändert sich die Richtung der Lichtemission.

Die Skalierung eines gerichteten Lichts hat nur in den folgenden Fällen eine Auswirkung:

  • Wenn der Z-Maßstab auf eine negative Zahl eingestellt ist, wird das Licht in die entgegengesetzte Richtung abgestrahlt.
  • Wenn die Skalierung einer beliebigen Achse auf 0 gesetzt wird, wird das Licht entlang der Z-Achse der Welt ausgestrahlt.

    Hinweis: Eine Drehung des Lichts hat dann keine Auswirkung.

Schauen wir uns ein einfaches Beispiel an:

import QtQuick
import QtQuick3D
View3D {
    anchors.fill: parent

    PerspectiveCamera { z: 600 }

    DirectionalLight {
    }

    Model {
        source: "#Sphere"
        scale: Qt.vector3d(4, 4, 4)
        materials: PrincipledMaterial {
            baseColor: "#40c060"
            roughness: 0.1 // make specular highlight visible
        }
    }
}

Hier verwendet das DirectionalLight die Standardfarbe white und strahlt in die Richtung der Z-Achse des DirectionalLight-Knotens.

Eine Drehung um 60 Grad um die X-Achse würde zu folgendem Ergebnis führen. Anstatt gerade in Richtung der Z-Achse zu strahlen, zeigt das Licht nun 60 Grad "nach unten":

DirectionalLight {
    eulerRotation.x: 60
}

Weitere Verwendungsbeispiele finden Sie unter Qt Quick 3D - Lights Example.

Siehe auch PointLight, SpotLight, und Schattenabbildung.

Eigenschaft Dokumentation

csmBlendRatio : real [since 6.8]

Diese Eigenschaft legt fest, wie viel des Schattens einer Kaskade mit der vorherigen überblendet werden soll.

Bereich: [0.0, 1.0]

Standardwert: 0.05

Diese Eigenschaft wurde in Qt 6.8 eingeführt.


csmNumSplits : int [since 6.8]

Diese Eigenschaft definiert die Anzahl der Splits, um die der Kegelstumpf beim Rendern der Shadowmap geteilt werden soll. Keine Teilung bedeutet, dass die Shadowmap so gerendert wird, dass sie die Boundingbox aller schattenwerfenden und -empfangenden Objekte abdeckt.

Bereich: [0, 3]

Standardwert: 0

Diese Eigenschaft wurde in Qt 6.8 eingeführt.

Siehe auch csmSplit1, csmSplit2, und csmSplit3.


csmSplit1 : real [since 6.8]

Diese Eigenschaft legt fest, wo die erste Kaskade der Shadowmap-Aufteilung stattfindet, wenn CSM aktiv ist.

Bereich: [0.0, 1.0]

Standardwert: 0

Hinweis: Diese Eigenschaft wird nur verwendet, wenn DirectionalLight::csmNumSplits größer als 0 ist.

Diese Eigenschaft wurde in Qt 6.8 eingeführt.

Siehe auch csmSplit2 und csmSplit3.


csmSplit2 : real [since 6.8]

Diese Eigenschaft legt fest, wo die zweite Kaskade der Schattenkartenaufteilung stattfindet, wenn CSM aktiv ist.

Bereich: [0.0, 1.0]

Standardwert: 0.25

Hinweis: Diese Eigenschaft wird nur verwendet, wenn DirectionalLight::csmNumSplits größer als 1 ist.

Diese Eigenschaft wurde in Qt 6.8 eingeführt.

Siehe auch csmSplit1 und csmSplit3.


csmSplit3 : real [since 6.8]

Diese Eigenschaft legt fest, wo die dritte Kaskade der Schattenkartenaufteilung stattfindet, wenn CSM aktiv ist.

Bereich: [0.0, 1.0]

Standardwert: 0.5

Hinweis: Diese Eigenschaft wird nur verwendet, wenn DirectionalLight::csmNumSplits größer als 2 ist.

Diese Eigenschaft wurde in Qt 6.8 eingeführt.

Siehe auch csmSplit1 und csmSplit2.


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