PointLight QML 类型
在场景中定义点光源。 更多...
导入语句 | import QtQuick3D |
继承 |
属性
- constantFade : real
- linearFade : real
- quadraticFade : real
详细描述
点光源可以被描述为球体,从光源中心向所有方向发出等强度的光线。这类似于灯泡发出光线的方式。
旋转或缩放点光源没有任何效果。移动点光源将会改变光源发出的位置。
默认情况下,点光源的强度根据逆平方定律减弱。然而,可以使用 constantFade、linearFade 和 quadraticFade 属性来控制衰减(和范围)。光衰减使用以下公式计算: constantFade + distance
* (linearFade * 0.01) + distance^2
* (quadraticFade * 0.0001)
简单示例:三种不同方式阴影球形
考虑一个场景,其中包含一个在背景放大矩形前面的球体。矩形的 PrincipledMaterial 默认基本颜色为白色。
如果没有任何光源并且禁用了两个网格的相关光照阴影,我们会得到以下结果
import QtQuick import QtQuick3D View3D { anchors.fill: parent PerspectiveCamera { z: 600 } Model { source: "#Rectangle" scale: Qt.vector3d(10, 10, 10) z: -100 materials: PrincipledMaterial { lighting: PrincipledMaterial.NoLighting } } Model { source: "#Sphere" scale: Qt.vector3d(2, 2, 2) materials: PrincipledMaterial { lighting: PrincipledMaterial.NoLighting baseColor: "#40c060" roughness: 0.1 } } }
添加一个方向性光源,默认从 Z 轴向下发射,导致以下结果
import QtQuick import QtQuick3D View3D { anchors.fill: parent PerspectiveCamera { z: 600 } DirectionalLight { } 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 } } }
如果我们现在用
PointLight { z: 300 }
这里白色点光源在 Z 轴上移动,使其处于相机和场景中心的中间位置。与 DirectionalLight 不同,PointLight 的旋转无关紧要,而其位置很重要。衰减的强度在这里可见,尤其是在背景中的矩形网格上。
有关更多使用示例,请参阅 Qt Quick 3D - 灯光示例。
另请参阅DirectionalLight 和 SpotLight。
属性文档
constantFade : real |
此属性是光衰减项的常数系数。默认值为1.0。
linearFade : real |
此属性通过光距离相乘的比例来增加灯光效果减弱光线速率。默认值为0.0
,意味着没有线性减弱。在此处使用的值在使用之前乘以0.01
,然后用于计算光衰减。
quadraticFade : real |
此属性通过逆平方定律的比例增加灯光效果减弱光线速率。默认值为1.0,意味着点光源衰减完全遵循逆平方定律,即当物体距离加倍时,光强度降至1/4。在此处使用的值在使用之前乘以0.0001
,然后用于计算光衰减。
© 2024 Qt公司有限公司。此处包含的文档贡献为各自所有者的版权。提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3条款授权的。Qt及其相关标志是芬兰和/或世界其他国家和地区Qt公司的商标。所有其他商标均为其各自所有者的财产。