三、THREE.SpotLight(聚光灯光源)
1,基本介绍
- THREE.SpotLight 是一种具有锥形效果的光源,该光源拥有产生光的方向和角度。我们可以将其与手电筒或者灯笼产生的光进行对比。
- THREE.SpotLight 是最常使用的光源之一,特别是如果我们想要使用阴影的话。
2,属性介绍
- angle:角度。即光源发射出的光束的宽度。单位是弧度,默认值:Math.PI/3
- castShadow:投影。如果设置为 true,这个光源就会生成阴影。
- color:光源颜色。
- distance:光源照射的距离。默认值为 0,这意味着光线强度不会随着距离增加而减弱。
- exponent:光强衰减指数。使用 THREE.SpotLight 光源,发射的光线的强度随着光源距离的增加而减弱。exponent 属性决定了光线强度递减的速度。使用低值,从光源发出的光线将到达远处的物体,而使用高值,光线仅能到达非常接近 THREE.SpotLight 光源的物体。
- intensity:光源照射的强度。默认值:1
- onlyShadow:仅阴影。如果此属性设置为 true,则该光源只生成阴影,而不会在场景中添加任何光照。
- position:光源在场景中的位置
- shadow.bias:用来偏置阴影的位置。当你使用非常薄的对象时,可以使用它来解决一些奇怪的效果。如果你看到奇怪的阴影效果,将该属性设置为很小的值(例如 0.01)通常可以解决问题。此属性的默认值为 0。
- shadow.camera.far:投影远点。表示到距离光源的哪一个位置可以生成阴影。默认值:5000
- shadow.camera.fov:投影视场。表示用于生成阴影的视场有多大。默认值:50
- shadow.camera.near:投影近点。表示距离光源的哪一个位置开始生成阴影。默认值为 50
- shadow.map.width 和 shadow.map.height:阴影映射宽度和阴影映射高度。决定了有多少像素用来生成阴影。当阴影具有锯齿状边缘或看起来不光滑时,可以增加这个值。在场景渲染之后无法更改。两者的默认值均为:512
- target:目标。使用 THREE.SpotLight 光源时,它的指向很重要。使用 target 属性,你可以将 THREE.SpotLight 光源指向场景中的特定对象或位置。注意,此属性需要一个 THREE.Object3D 对象(如 THREE.Mesh)。
- visible:是否可见。如果该属性设置为 true(默认值),该光源就会打开。如果设置 false,光源就会关闭。
3,基本用法
(1)创建聚光灯光源非常简单,只要指定颜色(并设置相关属性),然后添加到场景中即可。要特别注意如下几个属性:
- castShadow:如果想要阴影,该属性要设置为 true。
- target:该属性决定光源照射的位置。这里我们将其指向 plane 对象(地板)。