You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

202 lines
7.2 KiB

2 years ago
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="utf-8" />
<base href="../../../" />
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
[page:Object3D] &rarr; [page:Light] &rarr;
<h1>[name]</h1>
<p class="desc">
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.<br /><br />
Questa luce può proiettare le ombre - vedi la pagina [page:SpotLightShadow] per i dettagli.
</p>
<h2>Codice di Esempio</h2>
<code>
// 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 );
</code>
<h2>Esempi</h2>
<p>
[example:webgl_lights_spotlight lights / spotlight ]<br />
[example:webgl_lights_spotlights lights / spotlights ]
</p>
<h2>Costruttore</h2>
<h3>[name]( [param:Integer color], [param:Float intensity], [param:Float distance], [param:Radians angle], [param:Float penumbra], [param:Float decay] )</h3>
<p>
[page:Integer color] - (opzionale) colore esadecimale della luce. Il valore predefinito è 0xffffff (bianco).<br />
[page:Float intensity] - (opzionale) il valore numerico della forza/intensità della luce. Il valore predefinito è 1.<br />
[page:Float distance] - Portata massima della luce. Il valore predefinito è 0 (nessun limite).<br />
[page:Radians angle] - Angolo massimo di dispersione della luce dalla sua direzione in cui il limite superiore è Math.PI/2.<br />
[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.<br />
[page:Float decay] - La quantità di attenuazione della luce lungo la distanza della luce.<br /><br />
Crea una nuova [name].
</p>
<h2>Proprietà</h2>
<p>
Vedi la classe base [page:Light Light] per le proprietà comuni.
</p>
<h3>[property:Float angle]</h3>
<p>
Massima estensione del riflettore, in radianti, dalla sua direzione. Non dovrebbe essere più di
`Math.PI/2`. Il valore predefinito è `Math.PI/3`.
</p>
<h3>[property:Boolean castShadow]</h3>
<p>
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`.
</p>
<h3>[property:Float decay]</h3>
<p>
The amount the light dims along the distance of the light. Default is `2`.<br />
In context of physically-correct rendering the default value should not be changed.
</p>
<h3>[property:Float distance]</h3>
<p>
`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.
</p>
<p>
`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.
</p>
<p>
Il valore predefinito è `0.0`.
</p>
<h3>[property:Float intensity]</h3>
<p>
L'intensità della luce. Il valore predefinito è `1`.<br />
Nella modalità [page:WebGLRenderer.physicallyCorrectLights fisicamente corretta], l'intensità
è l'intensità luminosa della luce misurata in candela (cd).<br /><br />
Modificando l'intensità si modificherà anche la potenza della luce.
</p>
<h3>[property:Boolean isSpotLight]</h3>
<p>
Flag di sola lettura per verificare se l'oggetto dato è del tipo [name].
</p>
<h3>[property:Float penumbra]</h3>
<p>
Percentuale del cono del riflettore che viene attenuata a causa della penombra. Prende valori tra
0 e 1. Il valore predefinito è `0.0`.
</p>
<h3>[property:Vector3 position]</h3>
<p>
Questo è impostato uguale a [page:Object3D.DefaultUp] (0, 1, 0), così che la luce brilli dall'alto veso il basso.
</p>
<h3>[property:Float power]</h3>
<p>
La potenza della luce. <br />
Nella modalità [page:WebGLRenderer.physicallyCorrectLights fisicamente corretta], la potenza è la potenza
della luminosità della luce misurata in lumen (lm).<br /><br />
Modificando la potenza si modificherà anche l'intensità della luce.
</p>
<h3>[property:SpotLightShadow shadow]</h3>
<p>
Una [page:SpotLightShadow] utilizzata per calcolare le ombre per questa luce.
</p>
<h3>[property:Object3D target]</h3>
<p>
Spotlight punta dalla sua [page:.position posizione] alla target.position. La posizione predefinita del target
è *(0, 0, 0)*.<br />
*Nota*: Affinchè la posizione del target possa essere modificata in qualcosa di diverso da quella predefinita,
è necessario aggiungerlo alla [page:Scene scena] utilizzando
<code>
scene.add( light.target );
</code>
In questo modo il [page:Object3D.matrixWorld matrixWorld] del target viene aggiornato automaticamente ad ogni frame.<br /><br />
È 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:
<code>
const targetObject = new THREE.Object3D();
scene.add(targetObject);
light.target = targetObject;
</code>
La spotlight ora seguirà l'oggetto target.
</p>
<h3>[property:Texture map]</h3>
<p>
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*.
</p>
<h2>Metodi</h2>
<p>
Vedi la classe base [page:Light Light] per i metodi comuni.
</p>
<h3>[method:undefined dispose]()</h3>
<p>
Sovrascrive il metodo [page:Light.dispose dispose] della classe base.
Elimina l'[page:SpotLightShadow ombra] di questa luce.
</p>
<h3>[method:this copy]( [param:SpotLight source] )</h3>
<p>
Copia il valore di tutte le proprietà dalla [page:SpotLight sorgente] della
SpotLight.
</p>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>