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

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

範囲:[0.0, 1.0]

デフォルト値:0.05


csmNumSplits : int

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

範囲:[0, 3]

デフォルト値:0

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


csmSplit1 : float

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

範囲:デフォルト値:[0.0, 1.0]

デフォルト値:0

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

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


csmSplit2 : float

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

範囲:[0.0, 1.0]

デフォルト値:0.25

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

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


csmSplit3 : float

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

範囲:[0.0, 1.0]

デフォルト値:0.5

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

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


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