Light — 光源的基类
—— 所有其他的光类型都继承了该类描述的属性和方法。
AmbientLight 环境光
Light( color : Integer, intensity : Float )
color(可选参数)十六进制,表示光源的颜色。默认值0xffffffintensity(可选参数)光照强度(能量)。默认值:1
- 环境光 是指场景整体的光照效果,是由于场景内若干光源的多次反射形成的亮度一致的效果
- 用来为整个场景指定一个基础亮度,弱化阴影或添加一些颜色。环境光会均匀的照亮场景中的所有物体。
- 通过更改环境光的颜色可以感受环境光颜色的变化对于在场景中的物体渲染结果的变化。
- 环境光不能用来投射阴影,因为它没有方向。
.castShadow : Boolean这个参数在对象构造的时候就被设置成了undefined。因为环境光不能投射阴影。
DirectionalLight 平行光
Light( color : Integer, intensity : Float )
shadow如果设置为 true 该平行光会产生动态阴影。默认为false(警告: 这样做的代价比较高而且需要一直调整到阴影看起来正确)position假如这个值设置等于Object3D.DefaultUp (0, 1, 0),那么光线将会从上往下照射。target平行光的方向是从它的位置到目标位置。默认的目标位置为原点 (0,0,0)。注意: 对于目标的位置,要将其更改为除缺省值之外的任何位置,它必须被添加到 scene 场景中去。
- 平行光是沿着 特定方向 发射的光,从它发出的光线都是平行的。
- 平行光常常用来模拟太阳光的效果。
- 光线强度不受距离影响。
PointLight 点光源
PointLight( color : Integer, intensity : Float, distance : Number, decay : Float )
color(可选参数)十六进制,表示光源的颜色。默认值0xffffffintensity(可选参数)光照强度(能量)。默认值:1distance这个距离表示从光源到光照强度为0的位置。 当设置为0时,光永远不会消失(距离无穷大)。默认值 0decay沿着光照距离的衰减量。decay 设置为等于2将实现现实世界的光衰减。默认值为1power表示以"流明(光通量单位)"为单位的光功率。默认值 - 4Math.PI。
-
点光源 可以看作是一个点发出的光源(不计光源大小)
-
单点发光,类似于丢在空中的照明弹,从该点往四面八方各个方向发光。
-
点光源照到不同物体表面的亮度是 线性递减 的,因此,离点光源距离越远的物体会显得越暗。
- 点光源不能产生阴影,这样的光源会朝着所有的方向发射光线,在这种情况下计算阴影对GPU来讲是一个非常沉重的负担。
SpotLight 聚光灯
SpotLight( color : Integer, intensity : Float, distance : Float, angle : Radians, penumbra : Float, decay : Float )
angle是聚光灯的张角,缺省值是Math.PI / 3,最大值是Math.PI / 2penumbra聚光锥的半影衰减百分比。在0和1之间的值。 默认值 — 0.0。target平行光的方向是从它的位置到目标位置.默认的目标位置为原点 (0,0,0)。scne.add( light.target )shadowSpotLightShadow 用与计算此光照的阴影。
- 聚光灯是一种特殊的 点光源 ,它能够朝着一个方向投射光线。
- 光线从一个点沿一个方向射出,随着光线照射的变远,光线圆锥体的尺寸也逐渐增大。
- 聚光灯投射出的是类似 圆锥形 的光线,这与我们现实中看到的聚光灯是一致的。
target是必需项,可以指定位置坐标,也可以指定为某一物体。
HemisphereLight 半球光
HemisphereLight( skyColor : Integer, groundColor : Integer, intensity : Float )
skyColor天空(模型上方)中发出光线的颜色。 缺省值 0xffffff。groundColor地面(模型下方)发出光线的颜色。 缺省值 0xffffff。
- 光源直接放置于场景之上,光照颜色从天空光线颜色渐变到地面光线颜色。
- 半球光提供了比环境光更多的微调控制,更加的现实主义。