在Threejs中,光源用Light表示,它是全部光源的基类。它的构造函数是:函数
THREE.Light ( hex )
它有一个参数hex,接受一个16进制的颜色值。例如要定义一种红色的光源,咱们能够这样来定义:spa
Var redLight = new THREE.Light(0xFF0000);
THREE.Light只是其余全部光源的基类,要让光源除了具备颜色的特性以外,咱们须要其余光源。看看,下面的类图,是目前光源的继承结构。code
环境光是通过屡次反射而来的光,没法肯定其最初的方向。环境光是一种无处不在的光。环境光源放出的光线被认为来自任何方向。所以,当你仅为场景指定环境光时,全部的物体不管法向量如何,都将表现为一样的明暗程度。 (这是由于,反射光能够从各个方向进入您的眼睛)blog
环境光用THREE.AmbientLight来表示,它的构造函数以下所示:继承
THREE.AmbientLight( hex )
它仍然接受一个16进制的颜色值,做为光源的颜色。环境光将照射场景中的全部物体,让物体显示出某种颜色。环境光的使用例子以下所示:it
var light = new THREE.AmbientLight( 0xff0000 ); scene.add( light );
只须要将光源加入场景,场景就可以经过光源渲染出好的效果来了。class
点光源:由这种光源放出的光线来自同一点,且方向辐射自四面八方。例如蜡烛放出的光,萤火虫放出的光。ejs
点光源用PointLight来表示,它的构造函数以下所示:渲染
PointLight( color, intensity, distance )
这个类的参数稍微复杂一些:构造函数
聚光灯:这种光源的光线从一个锥体中射出,在被照射的物体上产生聚光的效果。使用这种光源须要指定光的射出方向以及锥体的顶角α。
聚光灯的构造函数是:
THREE.SpotLight( hex, intensity, distance, angle, exponent )
函数的参数以下所示: