继承自Object3D
是灯光抽象的基类,其他类型的灯光继承自它
构造函数
Light(color: Integer,intensity: Float)
可选的十六进制颜色表示法,默认0xffffff
可选的灯光的强度,默认1
特性
在场景中照亮所有的物体(将灯的颜色叠加到对象上)
该光不能投下阴影,因为它没有方向
不需要指定位置并且会应用到全局
构造函数
AmbientLight(color: Integer,intensity: Float)
特性
沿特定方向发出光,一般模拟日光。该光线可以投下阴影,详细看DirectionLightShadow
构造函数
DirectionalLight(color: Integer,intensity: Float)
特性
light.target = newObj;
从过一个点向四面八方飞出的光,能投射阴影
详细参考LightShadow来投射阴影
构造函数
PointLight(color: Integer,indensity: Float,distance: Number,decay: Float)
distance 光源照射的距离。 默认0,光永远不会停止
decay 沿着光的距离减弱的量,默认1,物理照明可以设为2
特性
光从一个方向上的一个点发出,沿着一个圆锥体,类似聚光灯
构造函数
SpotLight(color: Integer,intensity: Float,distnace: Float,angle: Radians,penumber: Float,decay: Float)
distance: 距离灯光的最远距离
angle: 光线散射角度(锥形的顶角视宽),最大Math.PI/2.默认Math.PI/3
penumber: 设置半影的衰减,取值0~1,默认0.0,光锥中心向边缘递减的过程
decay: 衰减光的强度
特性
在一个矩形平面上均匀的发出光,模拟照明的窗户或条形照明
不支持阴影,仅仅MeshStandardMaterial和MeshPhysicalMaterial支持
还需要RectAreaLightUniformsLib.js
构造函数
ReactAreaLight(color: Integer,intensity: Float,width: Float,height: Float)
特性
一种直接位于场景上方的的光源,颜色从天空颜色逐渐褪色到地面颜色
不能用于投射阴影
构造函数
HemisphereLight(skyColor: Integer,groundColor: Integer,indensity: Float)
特性
继承Light类
是其他阴影类的基类,被用在PointLight上计算阴影
构造函数
LightShadow(camera: Camera)
camera 灯在世界中的视角
特性
用在OrthographicCamera,从DirectionalLight来的光线是平行的
构造函数
DirectionalLightShadow()
创建的实例再DirectionalLight内部调用
特性
继承LightShadow
SpotLight内部使用来计算阴影
构造函数
SpotLightShadow()
创建一个PerspectiveCamera来管理阴影
特性
继承LightShadow
使用
var lensflare = new THREE.Lensflare();
lensflare.addElement( new THREE.LensflareElement( textureFlare0, 512, 0 ) );
lensflare.addElement( new THREE.LensflareElement( textureFlare1, 512, 0 ) );
lensflare.addElement( new THREE.LensflareElement( textureFlare2, 60, 0.6 ) );
light.add( lensflare );
LensflareElement( texture : Texture, size : Float, distance : Float, color : Color, blending : Materials )
除了第一个参数其余均为可选
blending 默认THREE.NormalBlending
Lensflare