2013-05-01 15 views
6

C'è un modo in cui non ho visto cambiare l'intensità della luce delle luci direzionali al volo? O anche la luce ambientale?Three.js cambia dinamicamente l'intensità della luce

ambientLight = new THREE.AmbientLight(0xffffff); 
scene.add(ambientLight);    

directionalLightL = new THREE.DirectionalLight(0xffffff, dLight, 0); 
directionalLightL.position.set(dlpX, dlpY, dlpZ); 
scene.add(directionalLightL); 

Quindi che si fa inizialmente per il rendering, ma come posso cambiare solo una specifica intensità di luci dopo? Rimuovere/riaggiungere la luce? Trovalo nella dom e cambialo? Qualcosa nell'API non l'ho notato?

risposta

10

per modificare l'intensità di un DirectionalLight, SpotLight, PointLight o AmbientLight, basta impostarlo:

light.intensity = 0.5; 

È possibile modificare il colore della luce in questo modo:

light.color.setHex(0xff0000); 

Vedi Color.js per altri modi per impostare un colore.

three.js r.74

Problemi correlati