1.环境光AmbientLight
环境光会均匀的照亮场景中的所有物体。
var light = new THREE.AmbientLight( 0x404040 ,1); // 白光,灯光强度为1;
2.平行光DirectionalLight
模拟远处像太阳一样的光源
var light = new THREE.DirectionalLight(颜色,亮度);
3.点光源PointLight
var light = new THREE.PointLight(颜色,强度,距离)
4.聚光
var light = new THREE.new THREE.SpotLight(颜色, 强度, 距离, 夹角, 衰减指数);
聚光灯(具有锥形效果的光源)
跟点光源差别不大,差别是castShadow设置为true可以有阴影
可以只传入颜色参数
设置target属性可以决定光源对准某个物体照射的对象(即使对象在移动,也会对准)
如果不想对准某个物体而是指定的某一点可以创建一个空的THREE.Object3D()实例如下:
var target = new THREE.Object3D();
target.position = new THREE.Vector3(5,0,0);
SpotLight.target = target; //设置光源的target属性
5.少用的光源
var light = new THREE.HemisphereLight//(半球光光源)
在室外的时候,并不是所有的光照都来自一个方向,很多来自空气的散射 地面的反射以及其他物体的反射
//单用一个方向的光源使物体看起来不自然,这种光源是比较自然的光源,不过要指定来自上方光线的颜色
//地面的颜色 以及她们的光照强度 groundColor(地面发出的光线颜色) Color(天空发出的光线颜色)
//intensity(光照的强度)
var light = new THREE.AreaLight(平面光光源)
非常复杂的光源,它会对THREE.WebGlRenderer对象造成非常严重的性能损失
var light = new THREE.LensFlare//(镜头眩光)
现实中对着太阳看会出现镜头眩光,对游戏和三维图片,是一种很好的效果,更加真实