1-7.Three.js_Lights-SpotLight 聚光光源

SpotLight

聚光灯光源。这种光从一个点向一个方向发出,沿着一个圆锥,光照越远它的尺寸就越大。这种光照可以产生阴影。参阅SpotLightSadow页了解详细。

Example/例子

interactive / cubes / gpu

interactive / draggablecubes

materials / bumpmap / skin

materials / cubemap / dynamic

loader / md2

shading / physical

materials / bumpmap

shading / physical

shadowmap

shadowmap / performance

shadowmap / viewer

Code Example/代码例子

// 来自侧面的白色聚光灯,产生阴影。

var spotLight = new THREE.SpotLight( 0xffffff );

spotLight.position.set( 100, 1000, 100 );

spotLight.castShadow = true;

spotLight.shadow.mapSize.width = 1024;

spotLight.shadow.mapSize.height = 1024;

spotLight.shadow.camera.near = 500;

spotLight.shadow.camera.far = 4000;

spotLight.shadow.camera.fov = 30;

scene.add( spotLight );

Constructor/构造函数

SpotLight( color : Integer, intensity : Float, distance : Float, angle : Radians, penumbra : Float, decay : Float )

color -可选,十六进制的光照颜色,默认是0xffffff (white).

intensity -可选,光照强度的数值,默认是1 。

distance – Maximum distance from origin where light will shine whose intensity is attenuated linearly based on distance from origin.

angle – Maximum angle of light dispersion from its direction whose upper bound is Math.PI/2.

penumbra – Percent of the spotlight cone that is attenuated due to penumbra. Takes values between zero and 1. Default is zero.

decay – The amount the light dims along the distance of the light.

创建一个聚光灯光源。

Properties/属性

参阅Light基类了解更多地属性。

angle : Float,聚光灯光源在它方向上的最大范围,按弧度计。应该不超过PI/2,默认是Math.PI/3.

castShadow : Boolean,如果设置为true,光照将会产生动态的阴影。注意:为了使阴影看起来准确,需要耗费很多资源去调整。详情参阅SpotLightShadow类。默认是false。

decay : Float,光照随着距离的衰退量。在符合物理条件的模式下,设置为2,符合物理现实。默认是

distance : Float,如果是非0,光将在光源的位置到此距离,光的强度从最大线性衰减到默认是0.

isSpotLight : Boolean,检查是否是聚光灯光源,默认是true。用于内部优化,不能被更改。

penumbra : Float,聚光锥的半影衰减百分比。在0和1之间的值。默认是0 。

position : Vector3,这个设置等同于DefaultUp(0, 1, 0),这样光照就能从上到下照射。

power : Float,光照的强度。在物理正确模式下,用“流明”为单位表示光功率。默认是PI。这个跟光照的强度直接相关。Power=intensity(强度)*4 π,所以改变它将会改变光照强度。

shadow : SpotLightShadow,一个SpotLightShadow实例,用于计算灯光的阴影。

target : Object3D,一个聚光灯光源从它的位置指向目标的位置。默认的目标位置是(0, 0, 0)。注意:要想更改默认目标的位置,必须加入到场景中。add( light.target ); 这样目标的坐标世界将会随着每一帧最懂更新。也可以把目标设置为场景中的任意其他对象(只要有position属性),像:

var targetObject = new THREE.Object3D();

scene.add(targetObject);

light.target = targetObject;

这样聚光灯光源将会跟踪目标对象。

Methods/方法

参阅Light基类了解共通方法。

copy ( source : SpotLight ) : SpotLight,拷贝source聚光灯灯源的全部属性到改聚光灯灯源。

你可能感兴趣的:(1-7.Three.js_Lights-SpotLight 聚光光源)