three.js中常用的光源详解

1.AmbientLight。最基础的光源AmbientLight,即环境光。该光源的光线没有特定的来源,不会影响阴影的形成。不能将改光源作为场景中唯一的光源尽量与其他光源一起使用,目的是弱化阴影或添加颜色。例如:如果你想让场景中物体处于绿色环境中,就可以设置环境光的颜色。环境光不用指定指定位置。不会产生阴影。

2.PointLight.该光源是点光源,照射所有方向的光源。当你可以设置光源颜色并且设置点光源位置不断移动效果就像萤火虫一样,由一个点发着亮光来回移动。改光源的照射不会产生阴影。
点光源效果如图

注意:如果你给网格对象设置了MeshLambertMaterial材质,要有相应的灯光才能显示出创建的3D对象,否则就是一片漆黑,当你只添加AmbientLight(环境光),效果没有变化也是一片漆黑,当你添加了SpotLight(点光源)或者spoltlight(聚光灯)后,场景中的物体就显示出来。
环境光是辅助光,一般要与其他光源一起使用,目的在于增强环境光,减弱其他光源的光的强度。

3.SpotLight。聚光灯具有锥形效果的光源,最常用的光源,会产生阴影的效果。

  1. DirectionLight.方向光用来模拟远处类似太阳的光源。这个光源发出来的光线都是平行的。可以把该光源当成太阳。方向光不想聚光灯那样离目标远越暗淡,方向光照射的区域的的任何地方光强都是一样的。可以产生阴影。