一、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 );