DirectionalLight QML Type

シーン内の指向性ライトを定義します。詳細...

Import Statement: import QtQuick3D
Inherits:

Light

プロパティ

詳細説明

指向性ライトは、無限に遠くにある正体不明の光源から一方向に光を放出する。これは実生活における太陽光の仕組みに似ています。指向性ライトは無限の範囲を持ち、減衰しません。

castsShadow を有効にすると、影は光の方向と平行になります。

指向性ライトは事実上位置を持たないので、動かしても効果はありません。ライトは常にライトのZ軸方向に照射されます。

X軸またはY軸に沿ってライトを回転させると、光の放射方向が変わります。

指向性ライトのスケーリングは、次の場合にのみ効果があります:

  • Zスケールが負の数に設定されている場合、光は反対方向に放射されます。
  • いずれかの軸のスケールが0に設定されている場合、光はワールドのZ軸に沿って放射されます。

    注意: この場合、ライトを回転させても効果はありません。

簡単な例を見てみましょう:

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

ここでは、DirectionalLightはデフォルトのwhite 、DirectionalLightノードのZ軸方向に発光します。

X軸を中心に60度回転させると、次のようになります。Z軸の方向にまっすぐ発光する代わりに、光は60度 "下 "を向いています:

DirectionalLight {
    eulerRotation.x: 60
}

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

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

プロパティの説明

csmBlendRatio : real [since 6.8]

このプロパティは、どのカスケードのシャドウをどの程度前のカスケードとブレンドするかを定義します。

範囲:[0.0, 1.0]

デフォルト値:0.05

このプロパティは Qt 6.8 で導入されました。


csmNumSplits : int [since 6.8]

このプロパティは、シャドウマップをレンダリングする際に、フラストラムを分割する数を定義します。分割されないということは、シャドウマップは、すべての影を投影するオブジェクトと影を受けるオブジェクトのバウンディングボックスをカバーするようにレンダリングされます。

範囲:[0, 3]

デフォルト値:0

このプロパティは Qt 6.8 で導入されました。

csmSplit1,csmSplit2,csmSplit3も参照してください


csmSplit1 : real [since 6.8]

このプロパティは、CSM がアクティブな場合に、シャドウマップ分割の最初のカスケードが発生する場所を定義します。

範囲:[0.0, 1.0]

デフォルト値:0

注: このプロパティは、DirectionalLight::csmNumSplits0 より大きい場合にのみ使用されます。

このプロパティは Qt 6.8 で導入されました。

csmSplit2 およびcsmSplit3も参照してください


csmSplit2 : real [since 6.8]

このプロパティは、CSMがアクティブな場合に、シャドウマップ分割の2番目のカスケードが発生する場所を定義します。

範囲:[0.0, 1.0]

デフォルト値:0.25

注: このプロパティは、DirectionalLight::csmNumSplits1 より大きい場合にのみ使用されます。

このプロパティは Qt 6.8 で導入されました。

csmSplit1 およびcsmSplit3も参照してください


csmSplit3 : real [since 6.8]

このプロパティは、CSMがアクティブな場合に、シャドウマップ分割の3番目のカスケードが発生する場所を定義します。

範囲:[0.0, 1.0]

デフォルト値:0.5

注: このプロパティは、DirectionalLight::csmNumSplits2 より大きい場合にのみ使用されます。

このプロパティは Qt 6.8 で導入されました。

csmSplit1 および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.