This light gets emitted from a single point in one direction, along a cone
that increases in size the further from the light it gets.
This light can cast shadows - see the [page:SpotLightShadow] page for
details.
// white spotlight shining from the side, modulated by a texture, casting a shadow
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] - (optional) hexadecimal color of the light. Default
is 0xffffff (white).
[page:Float intensity] - (optional) numeric value of the light's
strength/intensity. Default is `1`.
[page:Float distance] - Maximum range of the light. Default is `0` (no
limit).
[page:Radians angle] - Maximum angle of light dispersion from its
direction whose upper bound is Math.PI/2.
[page:Float penumbra] - Percent of the spotlight cone that is attenuated
due to penumbra. Takes values between zero and `1`. Default is zero.
[page:Float decay] - The amount the light dims along the distance of the
light.
Creates a new [name].
See the base [page:Light Light] class for common properties.
Maximum extent of the spotlight, in radians, from its direction. Should be no more than `Math.PI/2`. The default is `Math.PI/3`.
If set to `true` light will cast dynamic shadows. *Warning*: This is expensive and requires tweaking to get shadows looking right. See the [page:SpotLightShadow] for details. The default is `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.
When distance is zero, light will attenuate according to inverse-square law to infinite distance. When distance is non-zero, light will attenuate according to inverse-square law until near the distance cutoff, where it will then attenuate quickly and smoothly to `0`. Inherently, cutoffs are not physically correct.
Default is `0.0`.
The light's luminous intensity measured in candela (cd). Default is `1`.
Changing the intensity will also change the light's power.
Read-only flag to check if a given object is of type [name].
Percent of the spotlight cone that is attenuated due to penumbra. Takes values between zero and `1`. The default is `0.0`.
This is set equal to [page:Object3D.DEFAULT_UP] (0, 1, 0), so that the light shines from the top down.
The light's power.
Power is the luminous power of the light measured in lumens (lm).
Changing the power will also change the light's intensity.
A [page:SpotLightShadow] used to calculate shadows for this light.
The Spotlight points from its [page:.position position] to
target.position. The default position of the target is `(0, 0, 0)`.
*Note*: For the target's position to be changed to anything other than the
default, it must be added to the [page:Scene scene] using
scene.add( light.target );
This is so that the target's [page:Object3D.matrixWorld matrixWorld] gets
automatically updated each frame.
It is also possible to set the target to be another object in the scene
(anything with a [page:Object3D.position position] property), like so:
const targetObject = new THREE.Object3D();
scene.add(targetObject);
light.target = targetObject;
The spotlight will now track the target object.
A [page:Texture] used to modulate the color of the light. The spot light color is mixed with the RGB value of this texture, with a ratio corresponding to its alpha value. The cookie-like masking effect is reproduced using pixel values (0, 0, 0, 1-cookie_value). *Warning*: [page:.map] is disabled if [page:.castShadow] is *false*.
See the base [page:Light Light] class for common methods.
Frees the GPU-related resources allocated by this instance. Call this method whenever this instance is no longer used in your app.
Copies value of all the properties from the [page:SpotLight source] to this SpotLight.
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]