Three.js 主要支持四种光源模式,分别是 环境光、点光源、平行光 和 聚光灯。另外有半球光源、面光源等,本节暂不涉及。
一. 环境光
Ambient Light:所有对象的整体光照模型,控制整个场景的明暗。
var ambientLight = new THREE.AmbientLight(ambiColor); // 环境光颜色
scene.add(ambientLight);
二. 点光源
Point Light:所有方向发射光线,是应用最多的光源。
var pointColor = "#ccffcc";
var pointLight = new THREE.PointLight(pointColor);
pointLight.distance = 100; // 距离,决定了光线可以照射多远
pointLight.intensity = 1; // 强度
scene.add(pointLight);
通常点光源不用来做阴影,主要是因为投射方向用阴影图来描述比较困难,我们看到的阴影主要是 Spot Light 来实现。
三. 平行光
Directional Light:又称方向光,通常用来模拟太阳光