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聚光灯灯源的全部属性到改聚光灯灯源。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作为3D技术的发展趋势,浏览器端3D技术越来越被一些技术公司重视。由此,Threejs非常注重3D渲染效果的真实性...
    sakatayui酱阅读 1,807评论 0 1
  • 服务器数据库等杂项 1.Unity连接数据库 需要得到Mono.Data.Sqlite.dll文件与 System...
    豆铮阅读 2,759评论 1 4
  • 概述 Canvas -> JavaScript -> Three.js -> WebGL -> OpenGL ->...
    李霖弢阅读 1,503评论 0 1
  • Light(光照) 在真实场景中,一般存在两种类型的光照效果:直接光源和间接光源。 直接光源:顾名思义,就是光直接...
    老汪032588阅读 779评论 0 0
  • 今天幺爸和幺婶去米易。我留在家里陪妹妹和给她做午饭等下午送她回学校。 早晨,妹妹和我吃好早饭后,她先去上课了。我就...
    小敏m阅读 286评论 5 5