DirectionalLight QML Type
シーン内の指向性ライトを定義します。詳細...
Import Statement: | import QtQuick3D |
Inherits: |
プロパティ
- csmBlendRatio : real
(since 6.8)
- csmNumSplits : int
(since 6.8)
- csmSplit1 : real
(since 6.8)
- csmSplit2 : real
(since 6.8)
- csmSplit3 : real
(since 6.8)
詳細説明
指向性ライトは、無限に遠くにある正体不明の光源から一方向に光を放出する。これは実生活における太陽光の仕組みに似ています。指向性ライトは無限の範囲を持ち、減衰しません。
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 |
このプロパティは、どのカスケードのシャドウをどの程度前のカスケードとブレンドするかを定義します。
範囲:[0.0, 1.0]
デフォルト値:0.05
このプロパティは Qt 6.8 で導入されました。
csmNumSplits : int |
csmSplit1 : real |
このプロパティは、CSM がアクティブな場合に、シャドウマップ分割の最初のカスケードが発生する場所を定義します。
範囲:[0.0, 1.0]
デフォルト値:0
注: このプロパティは、DirectionalLight::csmNumSplits が0
より大きい場合にのみ使用されます。
このプロパティは Qt 6.8 で導入されました。
csmSplit2 : real |
このプロパティは、CSMがアクティブな場合に、シャドウマップ分割の2番目のカスケードが発生する場所を定義します。
範囲:[0.0, 1.0]
デフォルト値:0.25
注: このプロパティは、DirectionalLight::csmNumSplits が1
より大きい場合にのみ使用されます。
このプロパティは Qt 6.8 で導入されました。
csmSplit3 : real |
このプロパティは、CSMがアクティブな場合に、シャドウマップ分割の3番目のカスケードが発生する場所を定義します。
範囲:[0.0, 1.0]
デフォルト値:0.5
注: このプロパティは、DirectionalLight::csmNumSplits が2
より大きい場合にのみ使用されます。
このプロパティは Qt 6.8 で導入されました。
© 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.