PointLight QML 类型

在场景中定义点光源。 更多...

导入语句import QtQuick3D
继承

Light

属性

详细描述

点光源可以被描述为球体,从光源中心向所有方向发出等强度的光线。这类似于灯泡发出光线的方式。

旋转或缩放点光源没有任何效果。移动点光源将会改变光源发出的位置。

默认情况下,点光源的强度根据逆平方定律减弱。然而,可以使用 constantFadelinearFadequadraticFade 属性来控制衰减(和范围)。光衰减使用以下公式计算: 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 - 灯光示例

另请参阅DirectionalLightSpotLight

属性文档

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公司的商标。所有其他商标均为其各自所有者的财产。