Auf dieser Seite

PointLight QML Type

Definiert eine Punktlichtquelle in der Szene. Mehr...

Import Statement: import QtQuick3D
Inherits:

Light

Eigenschaften

Ausführliche Beschreibung

Die Punktlichtquelle lässt sich als Kugel beschreiben, die von ihrem Zentrum aus in alle Richtungen gleich starkes Licht ausstrahlt. Dies ähnelt der Art und Weise, wie eine Glühbirne Licht ausstrahlt.

Das Drehen oder Skalieren einer Punktlichtquelle hat keine Auswirkungen. Das Verschieben einer Punktlichtquelle verändert die Position, von der aus das Licht ausgestrahlt wird.

Standardmäßig nimmt die Intensität einer Punktlichtquelle gemäß dem Abstandsgesetz ab. Der Ausblendbereich (und die Reichweite) kann jedoch mit den Eigenschaften „ constantFade “, „ linearFade “ und „ quadraticFade “ gesteuert werden. Die Lichtabschwächung wird anhand der folgenden Formel berechnet: constantFade + distance * (linearFade * 0,01) + distance^2 * (quadraticFade * 0,0001)

Ein einfaches Beispiel: Eine Kugel auf drei verschiedene Arten schattieren

Nehmen wir eine Szene, die eine Kugel vor einem vergrößerten Rechteck im Hintergrund enthält. Die Standard-Grundfarbe des „ PrincipledMaterial “ des Rechtecks ist weiß.

Ohne jegliche Lichtquellen und bei deaktivierter lichtabhängiger Schattierung für die beiden Meshes erhalten wir folgendes Ergebnis:

import QtQuick
import QtQuick3D
View3D {
    anchors.fill: parent

    PerspectiveCamera { z: 600 }

    Model {
        source: "#Rectangle"
        scale: Qt.vector3d(10, 10, 10)
        z: -100
        materials: PrincipledMaterial {
            lighting: PrincipledMaterial.NoLighting
        }
    }

    Model {
        source: "#Sphere"
        scale: Qt.vector3d(2, 2, 2)
        materials: PrincipledMaterial {
            lighting: PrincipledMaterial.NoLighting
            baseColor: "#40c060"
            roughness: 0.1
        }
    }
}

Grüner Kreis auf weißem Hintergrund

Das Hinzufügen eines gerichteten Lichts, das standardmäßig entlang der Z-Achse strahlt, führt zu folgendem Ergebnis:

import QtQuick
import QtQuick3D
View3D {
    anchors.fill: parent

    PerspectiveCamera { z: 600 }

    DirectionalLight { }

    Model {
        source: "#Rectangle"
        scale: Qt.vector3d(10, 10, 10)
        z: -100
        materials: PrincipledMaterial { }
    }

    Model {
        source: "#Sphere"
        scale: Qt.vector3d(2, 2, 2)
        materials: PrincipledMaterial {
            baseColor: "#40c060"
            roughness: 0.1
        }
    }
}

Grüner Kreis mit schwarzem Rand

Was passiert, wenn wir nun „ DirectionalLight “ durch Folgendes ersetzen:

PointLight {
    z: 300
}

Das weiße „PointLight“ wird hier auf der Z-Achse so verschoben, dass es sich auf halbem Weg zwischen der Kamera und dem Mittelpunkt der Szene befindet. Im Gegensatz zu „ DirectionalLight “ spielt die Drehung des „PointLight“ keine Rolle, während seine Position von Bedeutung ist. Die abnehmende Intensität ist hier sichtbar, insbesondere am Rechteck-Mesh im Hintergrund.

Grüner Kreis mit Farbverlauf, schwarzem Rand und dunkelgrauem Hintergrund mit Farbverlauf, der die Abschwächung einer Punktlichtquelle veranschaulicht

Weitere Anwendungsbeispiele finden Sie unter „Qt Quick 3D – Lights Example“.

Siehe auch „ DirectionalLight “, „ SpotLight “ und „Shadow Mapping“.

Dokumentation zu den Eigenschaften

constantFade : real

Diese Eigenschaft ist ein konstanter Faktor des Dämpfungsterms des Lichts. Der Standardwert beträgt 1,0.

linearFade : real

Diese Eigenschaft erhöht die Geschwindigkeit, mit der der Lichteffekt die Lichtintensität proportional zur Entfernung zur Lichtquelle dämpft. Der Standardwert ist „ 0.0 “, was bedeutet, dass das Licht nicht linear abnimmt. Der hier verwendete Wert wird mit „ 0.01 “ multipliziert, bevor er zur Berechnung der Lichtdämpfung herangezogen wird.

quadraticFade : real

Diese Eigenschaft erhöht die Geschwindigkeit, mit der der Lichteffekt die Lichtintensität proportional zum inversen Quadratgesetz dämpft. Der Standardwert beträgt 1,0, was bedeutet, dass die Lichtabnahme des Punktlichts genau dem inversen Quadratgesetz folgt, d. h., wenn sich der Abstand zu einem Objekt verdoppelt, verringert sich die Lichtintensität auf ein Viertel. Der hier verwendete Wert wird mit 0.0001 multipliziert, bevor er zur Berechnung der Lichtdämpfung herangezogen wird.

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