SpotLight QML Type
シーン内のスポットライトを定義します。詳細...
Import Statement: | import QtQuick3D |
Inherits: |
プロパティ
- coneAngle : real
- constantFade : real
- innerConeAngle : real
- linearFade : real
- quadraticFade : real
詳細説明
スポットライトは、coneAngle プロパティで定義される円錐形の一方向に向かって光を放出します。光強度は、coneAngle に近づくと弱くなります。光強度が弱くなり始める角度は、innerConeAngle で定義されます。いずれの角度も度単位で定義されています。
innerConeAngle の内部では、スポット光は点光と同様の動作をします。そこでは、光強度は逆二乗則に従って減少します。ただし、フェードオフ(および範囲)は、constantFade 、linearFade 、quadraticFade プロパティで制御できます。光の減衰は次の式で計算されます: constantFade +distance
* (linearFade * 0.01) +distance
* (quadraticFade * 0.0001)^2
簡単な例を見てみましょう。ここでは、スポットライトをZ軸の300の位置、つまりカメラとシーンセンターの中間に配置しています。デフォルトでは、ライトはZ軸方向に発光しています。典型的なスポットライトに近づけるために、brightness を 10 に増やしました。
import QtQuick import QtQuick3D View3D { anchors.fill: parent PerspectiveCamera { z: 600 } SpotLight { z: 300 brightness: 10 ambientColor: Qt.rgba(0.1, 0.1, 0.1, 1.0) } Model { source: "#Rectangle" scale: Qt.vector3d(10, 10, 10) z: -100 materials: PrincipledMaterial { } } Model { source: "#Sphere" scale: Qt.vector3d(2, 2, 2) materials: PrincipledMaterial { baseColor: "#40c060" roughness: 0.1 } } }
回転は、DirectionalLight と同様に起こります。ここでは、ライトをもっと右に発光させたいので、Y軸を中心に-20度回転させます。円錐はデフォルトの40ではなく、coneAngle を30に設定することで小さくなります。また、innerConeAngle を 10 に変更することで、強度の減少開始を早めています。
SpotLight { z: 300 brightness: 10 ambientColor: Qt.rgba(0.1, 0.1, 0.1, 1.0) eulerRotation.y: -20 coneAngle: 30 innerConeAngle: 10 }
さらなる使用例については、Qt Quick 3D - Lights Example を参照してください。
DirectionalLight,PointLight,Shadow Mappingも参照してください 。
プロパティの説明
coneAngle : real |
このプロパティは、光がシーンに影響を与えないカットオフ角度(エッジからエッジまで)を定義します。0
と180
の間の角度で定義します。デフォルト値は40
です。
注意: コーンの角度が180
度に近づくと、影の質が悪化し始めます。したがって、170
以下の値を推奨します。
constantFade : real |
このプロパティは光の減衰項の定数係数です。デフォルト値は 1.0 です。
innerConeAngle : real |
linearFade : real |
このプロパティは、照明効果がライトまでの距離に比例してライトを暗くする割合を増加させます。デフォルト値は0.0
で、これはライトにリニアフェードがないことを意味します。ここで使用される値は、光の減衰の計算に使用される前に0.01
で乗算されます。
quadraticFade : real |
このプロパティは、逆二乗則に比例して、照明効果が光を減衰させる割合を増加させます。デフォルト値は1.0で、スポット光の減衰が逆二乗則に正確に従うことを意味します。つまり、オブジェクトまでの距離が2倍になると、光量は1/4に減少します。ここで使用される値は、光の減衰を計算する前に0.0001
。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。