このページでは

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軸方向に発光します。

Z軸に沿って発光する指向性を示す緑色の円

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

DirectionalLight {
    eulerRotation.x: 60
}

回転した指向性ライトを示すシェーディング付きの緑色の円

その他の使用例については、Qt Quick 3D - ライトの例 を参照。

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

注: このプロパティは、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も参照してください

lockShadowmapTexels : bool [since 6.9]

このプロパティを有効にすると、シャドウマップのテクセルがワールド内の位置に「固定」され、シャドウマップのテクセルが大きくなる代償としてシャドウエッジの揺らぎがなくなります。これは、各カスケードに対して、均一なサイズで、テクセルが整列されたシャドウマップを使用することで機能します。

デフォルト値:false

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

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