threejs helpers -2 lightHelper(光源辅助对象)

1.DirectionalLightHelper(平行光)

用于模拟场景中平行光 DirectionalLight 的辅助对象. 其中包含了表示光位置的平面和表示光方向的线段.
构造函数
DirectionalLightHelper( light : DirectionalLight, size : Number, color : Hex )
light-- 被模拟的光源.
size – (可选的) 平面的尺寸. 默认为 1.
color – (可选的) 如果没有设置颜色将使用光源的颜色.

属性
.lightPlane : Line
包含表示平行光方向的线网格.

.light : DirectionalLight
被模拟的光源. 请参考 directionalLight .

.matrix : object
请参考光源的世界矩阵 matrixWorld.

.matrixAutoUpdate : object
请查看 Object3D.matrixAutoUpdate 页面. 这里设置为 false 表示辅助对象 使用光源的 matrixWorld.

.color : hex
构造函数中传入的颜色值. 默认为 undefined. 如果改变该值, 辅助对象的颜色将在下一次 update 被调用时更新.

方法
.dispose () : null
销毁该平行光辅助对象.

.update () : null
更新辅助对象,与模拟的 directionalLight 光源的位置和方向保持一致.

例子

				var directionalLight=new THREE.DirectionalLight(0xffffff);
				directionalLight.position.set(0,100,100);
				scene.add(directionalLight);
				var directionalLightHelper=new THREE.DirectionalLightHelper(directionalLight,50,0xff0000);
				scene.add(directionalLightHelper);

2.PointLightHelper(点光源)

创建一个虚拟的球形网格 Mesh 的辅助对象来模拟 点光源 PointLight.
构造函数
PointLightHelper( light : PointLight, sphereSize : Float, color : Hex )
light – 要模拟的光源.
sphereSize – (可选的) 球形辅助对象的尺寸. 默认为 1.
color – (可选的) 如果没有赋值辅助对象将使用光源的颜色.

属性
.light : PointLight
被模拟的点光源 PointLight .

.matrix : object
请参考点光源的世界矩阵 matrixWorld.

.matrixAutoUpdate : object
请查看 Object3D.matrixAutoUpdate. 这里设置为 false 表示辅助对象 使用点光源的 matrixWorld.

.color : hex
构造函数中传入的颜色值. 默认为 undefined. 如果改变该值, 辅助对象的颜色将在下一次 update 被调用时更新.

方法
.dispose () : null
销毁该点光源辅助对象.

.update () : null
更新辅助对象,与 .light 属性的位置保持一致.

例子

				var pointLight=new THREE.PointLight(0xffffff);
				pointLight.position.set(400,200,200);
				scene.add(pointLight);
				var pointLightHelper=new THREE.PointLightHelper(pointLight,50,0xff00ff);
				scene.add(pointLightHelper);

3.SpotLightHelper(聚光灯)

用于模拟聚光灯 SpotLight 的锥形辅助对象
构造函数
SpotLightHelper( light : SpotLight, color : Hex )
light – 被模拟的聚光灯 SpotLight .
color – (可选的) 如果没有赋值辅助对象将使用光源的颜色.

属性
.cone : LineSegments
用于模拟光源的 LineSegments 类型对象.

.light : SpotLight
被模拟的聚光灯 SpotLight .

.matrix : object
请参考聚光灯的世界矩阵 matrixWorld.

.matrixAutoUpdate : object
请查看 Object3D.matrixAutoUpdate. 这里设置为 false 表示辅助对象 使用聚光灯的 matrixWorld.

.color : hex
构造函数中传入的颜色值. 默认为 undefined. 如果改变该值, 辅助对象的颜色将在下一次 update 被调用时更新.

方法
.dispose () : null
销毁该聚光灯辅助对象.

.update () : null
更新聚光灯辅助对象.

例子:

				var spotLight=new THREE.SpotLight(0XFFFFFF);
				spotLight.position.set(-300,300,200);
				scene.add(spotLight);
				var spotLightHelper=new THREE.SpotLightHelper(spotLight);
				scene.add(spotLightHelper);

4.RectAreaLightHelper(矩形面光源)

创建一个表示 RectAreaLight 的辅助对象.
构造函数
RectAreaLightHelper( light : RectAreaLight, color : Hex )
light – 被模拟的光源.
color – (可选) 如果没有赋值辅助对象将使用光源的颜色.

属性
.light : RectAreaLight
被模拟的区域光源.

.color : hex
构造函数中传入的颜色值. 默认为 undefined. 如果改变该值, 辅助对象的颜色将在下一次 update 被调用时更新.

方法
.dispose () : null
销毁该区域光源辅助对象.

.update () : null
更新辅助对象,与 .light 属性的位置和方向保持一致.

例子

				var rLight=new THREE.RectAreaLight(0xffffff,1,100,50);
				//rLight.position.set(50,-300,100);
				//scene.add(rLight);
				var rLightHelper=new THREE.RectAreaLightHelper(rLight,0xfff000);
				scene.add(rLightHelper);

5.HemisphereLightHelper(半球/户外光源)

创建一个虚拟的球形网格 Mesh 的辅助对象来模拟 半球形光源 HemisphereLight.
构造函数
HemisphereLightHelper( light : HemisphereLight, sphereSize : Number, color : Hex )
light – 被模拟的光源.
size – 用于模拟光源的网格尺寸.
color – (可选的) 如果没有赋值辅助对象将使用光源的颜色.

属性
.light : HemisphereLight
被模拟的半球形光源.

.matrix : object
请参考半球形光源的世界矩阵 matrixWorld.

.matrixAutoUpdate : object
请查看 Object3D.matrixAutoUpdate. 这里设置为 false 表示辅助对象 使用半球形光源的 matrixWorld.

.color : hex
构造函数中传入的颜色值. 默认为 undefined. 如果改变该值, 辅助对象的颜色将在下一次 update 被调用时更新.

方法
.dispose () : null
销毁该半球形光源辅助对象.

.update () : null
更新辅助对象,与 .light 属性的位置和方向保持一致.

例子

				var hLight=new THREE.HemisphereLight(0xffffbb, 0x080820, 1 );
				hLight.position.set(50,-300,100);
				scene.add(hLight);
				var hLightHelper=new THREE.HemisphereLightHelper(hLight,100,0xfff00f);
				scene.add(hLightHelper);

效果例子查看地址

相关文章: