このページでは

SpotLight QML Type

シーン内のスポットライトを定義します。詳細...

Import Statement: import QtQuick3D
Inherits:

Light

プロパティ

詳細説明

スポットライトは、coneAngle プロパティで定義される円錐形状の一方向に向かって光を放出します。光強度は、coneAngle に近づくと弱くなります。光強度が弱くなり始める角度は、innerConeAngle で定義されます。いずれの角度も度単位で定義されています。

innerConeAngle の内部では、スポット光は点光と同様の動作をします。そこでは、光強度は逆二乗則に従って減少します。ただし、フェードオフ(および範囲)は、constantFadelinearFadequadraticFade プロパティで制御できます。光の減衰は次の式で計算されます: constantFade +distance * (linearFade * 0.01) +distance * (quadraticFade * 0.0001)^2

簡単な例を見てみましょう。ここでは、スポットライトをZ軸の300の位置、つまりカメラとシーンセンターの中間に配置しています。デフォルトでは、ライトはZ軸方向に発光しています。典型的なスポットライトに近づけるために、brightness を 10 に増やしました。

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

スポットライトの円錐角度を視覚化した緑の球体

回転は、DirectionalLight と同様に起こります。ここでは、ライトをもっと右に発光させたいので、Y軸を中心に-20度回転させます。円錐はデフォルトの40ではなく、coneAngle を30に設定することで小さくなります。また、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
}

スポットライトの内円錐角と外円錐角を持つ緑色の球体

その他の使用例については、Qt Quick 3D - Lights Exampleを参照してください。

DirectionalLight,PointLight,Shadow Mappingも参照してください

プロパティのドキュメント

coneAngle : real

このプロパティは、光がシーンに影響を与えないカットオフ角度(エッジからエッジまで)を定義します。度単位で0180 の間で定義します。デフォルト値は40 です。

注意: コーンの角度が180 度に近づくと、影の質が悪化し始めます。したがって、170 以下の値を推奨します。

constantFade : real

このプロパティは、光の減衰項の定数係数です。デフォルト値は1.0です。

innerConeAngle : real

このプロパティは、coneAngle に近づくにつれて、光強度が徐々に減少し始める角度(エッジからエッジまで)を定義します。0から180の間の度数で定義されます。この値がconeAngle より大きく設定された場合、coneAngle と同じ値であるかのように動作します。デフォルト値は30。

linearFade : real

このプロパティは、照明効果がライトまでの距離に比例してライトを暗くする割合を増加させます。デフォルト値は0.0 で、これはライトに直線的な減衰がないことを意味します。ここで使用される値は、光の減衰を計算する前に0.01 で乗算されます。

quadraticFade : real

このプロパティは、逆二乗則に比例して照明効果が光を弱める割合を増加させます。デフォルト値は1.0で、スポット光の減衰が逆二乗則に正確に従うことを意味します。つまり、オブジェクトまでの距離が2倍になると、光量は1/4に減少します。ここで使用される値は、光の減衰を計算する前に0.0001

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