Sur cette page

SpotLight QML Type

Définit un éclairage ponctuel dans la scène. Plus d'informations...

Import Statement: import QtQuick3D
Inherits:

Light

Propriétés

Description détaillée

Le spot lumineux émet de la lumière dans une direction en forme de cône, définie par la propriété coneAngle. L'intensité lumineuse diminue à l'approche de la propriété . L'intensité lumineuse diminue à l'approche de la propriété coneAngle. L'angle auquel l'intensité lumineuse commence à diminuer est défini par la propriété innerConeAngle. Les deux angles sont définis en degrés.

À l'intérieur de la propriété innerConeAngle, la lumière ponctuelle se comporte de la même manière que la lumière ponctuelle. L'intensité lumineuse y diminue selon la loi de l'inverse du carré. Toutefois, l'atténuation (et la portée) peut être contrôlée à l'aide des propriétés constantFade, linearFade, et quadraticFade. L'atténuation de la lumière est calculée à l'aide de la formule suivante constantFade + distance * (linearFade * 0,01) + distance * (quadraticFade * 0,0001)^2

Prenons un exemple simple. Ici, une SpotLight est placée à 300 sur l'axe Z, donc à mi-chemin entre la caméra et le centre de la scène. Par défaut, la lumière émet dans la direction de l'axe Z. L'adresse brightness est augmentée à 10 pour que la lumière ressemble davantage à un spot typique.

import QtQuick
import QtQuick3D
View3D {
    anchors.fill: parent

    PerspectiveCamera { z: 600 }

    SpotLight {
        z: 300
        brightness: 10
        ambientColor: Qt.rgba(0.1, 0.1, 0.1, 1.0)
    }

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

Sphère verte avec visualisation de l'angle du cône du projecteur

Les rotations s'effectuent de la même manière que pour DirectionalLight. Ici, nous voulons que la lumière émette plus vers la droite, nous effectuons donc une rotation autour de l'axe Y de -20 degrés. Le cône est réduit en réglant coneAngle sur 30 au lieu des 40 par défaut. Nous faisons également en sorte que l'intensité commence à diminuer plus tôt, en fixant innerConeAngle à 10.

SpotLight {
    z: 300
    brightness: 10
    ambientColor: Qt.rgba(0.1, 0.1, 0.1, 1.0)
    eulerRotation.y: -20
    coneAngle: 30
    innerConeAngle: 10
}

Sphère verte avec angles de cône intérieur et extérieur du projecteur

Pour d'autres exemples d'utilisation, voir Qt Quick 3D - Lights Example.

Voir également DirectionalLight, PointLight, et Shadow Mapping.

Documentation sur les propriétés

coneAngle : real

Cette propriété définit l'angle de coupure (d'un bord à l'autre) au-delà duquel la lumière n'affecte pas la scène. Elle est définie en degrés entre 0 et 180. La valeur par défaut est 40.

Remarque : lorsque l'angle du cône approche 180 degrés, la qualité des ombres commence à se détériorer. Une valeur inférieure à 170 est donc recommandée.

constantFade : real

Cette propriété est un facteur constant du terme d'atténuation de la lumière. La valeur par défaut est 1,0.

innerConeAngle : real

Cette propriété définit l'angle (d'un bord à l'autre) auquel l'intensité lumineuse commence à diminuer progressivement à l'approche de coneAngle. Elle est définie en degrés entre 0 et 180. Si la valeur est supérieure à coneAngle, elle se comportera comme si elle avait la même valeur que coneAngle. La valeur par défaut est 30.

linearFade : real

Cette propriété augmente la vitesse à laquelle l'effet d'éclairage diminue la lumière proportionnellement à la distance par rapport à la lumière. La valeur par défaut est 0.0, ce qui signifie que la lumière n'a pas d'atténuation linéaire. La valeur utilisée ici est multipliée par 0.01 avant d'être utilisée pour calculer l'atténuation de la lumière.

quadraticFade : real

Cette propriété augmente la vitesse à laquelle l'effet d'éclairage diminue l'intensité de la lumière proportionnellement à la loi de l'inverse des carrés. La valeur par défaut est 1,0, ce qui signifie que l'atténuation de l'éclairage ponctuel suit exactement la loi de l'inverse du carré, c'est-à-dire que lorsque la distance par rapport à un objet double, l'intensité lumineuse diminue d'un quart. La valeur utilisée ici est multipliée par 0.0001 avant d'être utilisée pour calculer l'atténuation de la lumière.

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