Questa luce viene emessa da un unico punto in una direzione, lungo un cono che aumenta di dimensioni
man mano che si allontana dalla luce.
Questa luce può proiettare le ombre - vedi la pagina [page:SpotLightShadow] per i dettagli.
// faretto bianco che brilla di lato, modulato da una texture, che proietta un'ombra
const spotLight = new THREE.SpotLight( 0xffffff );
spotLight.position.set( 100, 1000, 100 );
spotLight.map = new THREE.TextureLoader().load( url );
spotLight.castShadow = true;
spotLight.shadow.mapSize.width = 1024;
spotLight.shadow.mapSize.height = 1024;
spotLight.shadow.camera.near = 500;
spotLight.shadow.camera.far = 4000;
spotLight.shadow.camera.fov = 30;
scene.add( spotLight );
[example:webgl_lights_spotlight lights / spotlight ]
[example:webgl_lights_spotlights lights / spotlights ]
[page:Integer color] - (opzionale) colore esadecimale della luce. Il valore predefinito è 0xffffff (bianco).
[page:Float intensity] - (opzionale) il valore numerico della forza/intensità della luce. Il valore predefinito è 1.
[page:Float distance] - Portata massima della luce. Il valore predefinito è 0 (nessun limite).
[page:Radians angle] - Angolo massimo di dispersione della luce dalla sua direzione in cui il limite superiore è Math.PI/2.
[page:Float penumbra] - Percentuale del cono del riflettore che viene attenuata a causa della penombra.
Accetta valori compresi tra zero e 1. Il valore predefinito è zero.
[page:Float decay] - La quantità di attenuazione della luce lungo la distanza della luce.
Crea una nuova [name].
Vedi la classe base [page:Light Light] per le proprietà comuni.
Massima estensione del riflettore, in radianti, dalla sua direzione. Non dovrebbe essere più di `Math.PI/2`. Il valore predefinito è `Math.PI/3`.
Se impostato a `true` la luce proietterà ombre dinamiche. *Attenzione*: Questo è costoso e richiede modifiche per ottenere l'aspetto corretto delle ombre. Vedi [page:SpotLightShadow] per i dettagli. Il valore predefinito è `false`.
The amount the light dims along the distance of the light. Default is `2`.
In context of physically-correct rendering the default value should not be changed.
`Modalità predefinita` — Quando la distanza è zero, la luce non si attenua. Quando la distanza è diversa da zero, la luce si attenuerà linearmente dalla massima intensità nella posizione della luce fino a zero a questa distanza dalla luce.
`Modalità [page:WebGLRenderer.physicallyCorrectLights fisicamente corretta]` — Quando la distanza è zero, la luce si attenuerà secondo la legge dell'inverso del quadrato alla distanza infinita. Quando la distanza è diversa da zero, la luce si attenuerà secondo la legge dell'inverso del quadrato fino in prossimità del limite di distanza, dove si attenuerà quindi rapidamente e uniformemente fino a `0`. Intrinsecamente, i limiti non sono fisicamente corretti.
Il valore predefinito è `0.0`.
L'intensità della luce. Il valore predefinito è `1`.
Nella modalità [page:WebGLRenderer.physicallyCorrectLights fisicamente corretta], l'intensità
è l'intensità luminosa della luce misurata in candela (cd).
Modificando l'intensità si modificherà anche la potenza della luce.
Flag di sola lettura per verificare se l'oggetto dato è del tipo [name].
Percentuale del cono del riflettore che viene attenuata a causa della penombra. Prende valori tra 0 e 1. Il valore predefinito è `0.0`.
Questo è impostato uguale a [page:Object3D.DefaultUp] (0, 1, 0), così che la luce brilli dall'alto veso il basso.
La potenza della luce.
Nella modalità [page:WebGLRenderer.physicallyCorrectLights fisicamente corretta], la potenza è la potenza
della luminosità della luce misurata in lumen (lm).
Modificando la potenza si modificherà anche l'intensità della luce.
Una [page:SpotLightShadow] utilizzata per calcolare le ombre per questa luce.
Spotlight punta dalla sua [page:.position posizione] alla target.position. La posizione predefinita del target
è *(0, 0, 0)*.
*Nota*: Affinchè la posizione del target possa essere modificata in qualcosa di diverso da quella predefinita,
è necessario aggiungerlo alla [page:Scene scena] utilizzando
scene.add( light.target );
In questo modo il [page:Object3D.matrixWorld matrixWorld] del target viene aggiornato automaticamente ad ogni frame.
È anche possibile impostare il target in modo che sia un altro oggetto nella scena (qualsiasi cosa con
una proprietà [page:Object3D.position position]), in questo modo:
const targetObject = new THREE.Object3D();
scene.add(targetObject);
light.target = targetObject;
La spotlight ora seguirà l'oggetto target.
Una [page:Texture] utilizzata per modulare il colore della luce. Il colore della luce spot viene mescolato con il valore RGB di questa texture, con un rapporto corrispondente al suo valore alfa. L'effetto di mascheramento simile a quello dei cookie viene riprodotto utilizzando i valori (0, 0, 0, 1-cookie_value). *Attenzione*: [param:SpotLight map] è disabilitata se [param:SpotLight castShadow] è *false*.
Vedi la classe base [page:Light Light] per i metodi comuni.
Sovrascrive il metodo [page:Light.dispose dispose] della classe base. Elimina l'[page:SpotLightShadow ombra] di questa luce.
Copia il valore di tutte le proprietà dalla [page:SpotLight sorgente] della SpotLight.
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]