Skip to content

一、three.ts-基本要素-灯光

假如没有光,摄像机看不到任何东西,因此需要往场景添加光源,为了跟真实世界更加接近, three.js支持模拟不同光源,展现不同光照效果,有点光源、平行光、聚光灯、环境光等。

1. AmbientLight(环境光)

  • 环境光会均匀的照亮场景中的所有物体,环境光不能用来投射阴影,因为它没有方向。
js
// soft white light
const light = new THREE.AmbientLight( 0x404040 );

2. 平行光(DirectionalLight)

  • 平行光是沿着特定方向发射的光。这种光的表现像是无限远,从它发出的光线都是平行的。常常用平行光来模拟太阳光的效果; 太阳足够远,因此我们可以认为太阳的位置是无限远,所以我们认为从太阳发出的光线也都是平行的。
js
const directionalLight = new THREE.DirectionalLight( 0xffffff, 0.5 );

3. 点光源(PointLight)

  • 从一个点向各个方向发射的光源。一个常见的例子是模拟一个灯泡发出的光。
js
const light = new THREE.PointLight( 0xff0000, 1, 100 );

4. 聚光灯(SpotLight)

  • 光线从一个点沿一个方向射出,随着光线照射的变远,光线圆锥体的尺寸也逐渐增大。
js
const spotLight = new THREE.SpotLight( 0xffffff );

Released under the MIT License.