SpotLight QML Type
Define una luz puntual en la escena. Más...
| Import Statement: | import QtQuick3D |
| Inherits: |
Propiedades
- coneAngle : real
- constantFade : real
- innerConeAngle : real
- linearFade : real
- quadraticFade : real
Descripción detallada
El punto de luz emite luz hacia una dirección en forma de cono, que se define mediante la propiedad coneAngle. La intensidad de la luz disminuye al acercarse al coneAngle. El ángulo en el que la intensidad de la luz empieza a disminuir viene definido por innerConeAngle. Ambos ángulos se definen en grados.
Dentro de innerConeAngle, la luz puntual se comporta de forma similar a la luz puntual. La intensidad de la luz disminuye según la ley del cuadrado inverso. Sin embargo, la atenuación (y el alcance) 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 * (quadraticFade * 0,0001)^2
Veamos un ejemplo sencillo. Aquí se coloca un SpotLight a 300 en el eje Z, es decir, a medio camino entre la cámara y el centro de la escena. Por defecto la luz emite en la dirección del eje Z. El brightness se incrementa a 10 para que se parezca más a una luz puntual típica.
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 } } }

Las rotaciones ocurren de forma similar a DirectionalLight. Aquí queremos que la luz emita más hacia la derecha, así que rotamos alrededor del eje Y en -20 grados. El cono se reduce ajustando coneAngle a 30 en lugar de los 40 por defecto. También hacemos que la intensidad empiece a disminuir antes, cambiando innerConeAngle a 10.
SpotLight { z: 300 brightness: 10 ambientColor: Qt.rgba(0.1, 0.1, 0.1, 1.0) eulerRotation.y: -20 coneAngle: 30 innerConeAngle: 10 }

Para más ejemplos de uso, vea Qt Quick 3D - Ejemplo de Luces.
Vea también DirectionalLight, PointLight, y Mapeado de Sombras.
Documentación de propiedades
coneAngle : real
Esta propiedad define el ángulo de corte (de borde a borde) más allá del cual la luz no afecta a la escena. Se define en grados entre 0 y 180. El valor por defecto es 40.
Nota: Cuando el ángulo del cono se acerca a 180 grados la calidad de la sombra empezará a deteriorarse. Por tanto, se recomienda un valor inferior a 170.
constantFade : real
Esta propiedad es el factor constante del término de atenuación de la luz. El valor por defecto es 1.0.
innerConeAngle : real
Esta propiedad define el ángulo (de borde a borde) en el que la intensidad de la luz empieza a disminuir gradualmente a medida que se acerca a coneAngle. Se define en grados entre 0 y 180. Si el valor se establece mayor que coneAngle, se comportará como si tuviera el mismo valor que coneAngle. El valor por defecto es 30.
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.