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


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