PointLight QML Type
Define una luz puntual en la escena. Más...
| Import Statement: | import QtQuick3D |
| Inherits: |
Propiedades
- constantFade : real
- linearFade : real
- quadraticFade : real
Descripción detallada
La luz puntual puede describirse como una esfera, que emite luz con igual intensidad en todas las direcciones desde el centro de la luz. Esto es similar a la forma en que una bombilla emite luz.
Rotar o escalar una luz puntual no tiene ningún efecto. Mover una luz puntual cambiará la posición desde la que se emite la luz.
Por defecto, la intensidad de una luz puntual disminuye según la ley cuadrática inversa. Sin embargo, la atenuación (y el rango) pueden controlarse con las propiedades constantFade, linearFade, y quadraticFade. La atenuación de la luz se calcula mediante la fórmula constantFade + distance * (linearFade * 0,01) + distance^2 * (quadraticFade * 0,0001)
Un ejemplo sencillo: sombrear una esfera de tres formas distintas
Tomemos una escena que contenga una esfera delante de un rectángulo a escala en el fondo. El color base por defecto del PrincipledMaterial del rectángulo es el blanco.
Sin ninguna luz y desactivando el sombreado relacionado con la luz para las dos mallas, obtenemos lo siguiente:
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 } } }

Añadiendo una luz direccional, emitiendo por defecto hacia abajo en el eje Z, obtenemos lo siguiente:
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 } } }

¿Y si ahora sustituimos DirectionalLight por:
PointLight { z: 300 }
El PointLight de color blanco aquí se mueve en el eje Z de modo que se encuentra a medio camino entre la cámara y el centro de la escena. A diferencia de DirectionalLight, la rotación del PointLight no importa, mientras que su posición sí es significativa. La disminución de la intensidad es visible aquí, especialmente en la malla rectangular del fondo.

Para más ejemplos de uso, vea Qt Quick 3D - Ejemplo de Luces.
Ver también DirectionalLight, SpotLight, y Mapeado de Sombras.
Documentación de propiedades
constantFade : real
Esta propiedad es el factor constante del término de atenuación de la luz. El valor por defecto es 1.0.
linearFade : real
Esta propiedad aumenta la velocidad a la que el efecto de iluminación atenúa la luz en proporción a la distancia a la luz. El valor por defecto es 0.0, lo que significa que la luz no tiene atenuación lineal. El valor utilizado aquí se multiplica por 0.01 antes de ser utilizado para calcular la atenuación de la luz.
quadraticFade : real
Esta propiedad aumenta la velocidad a la que el efecto de iluminación atenúa la luz en proporción a la ley del cuadrado inverso. El valor por defecto es 1.0, lo que significa que la atenuación de la luz puntual sigue exactamente la ley del cuadrado inverso, es decir, cuando la distancia a un objeto se duplica, la intensidad de la luz disminuye a 1/4. El valor utilizado aquí se multiplica por 0.0001 antes de ser utilizado para calcular la atenuación de la luz.
© 2026 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.