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 : float [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 : float [since 6.8]

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

範囲:[0.0, 1.0]

デフォルト値:0

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

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

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


csmSplit2 : float [since 6.8]

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

範囲:[0.0, 1.0]

デフォルト値:0.25

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

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

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


csmSplit3 : float [since 6.8]

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

範囲:[0.0, 1.0]

デフォルト値:0.5

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

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

csmSplit1csmSplit2も参照してください


©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。