环境光可以均匀照亮场景中所有物体,不能投射阴影,不能设置方向,只能设置颜色和亮度。官方示例:
// 添加环境光
const light = new THREE.AmbientLight( 0x404040 ); // 柔和的白光
scene.add( light );
点光源,从一个点散发出的光,相当于灯泡,可以设置颜色,亮度、照射最大距离以及光照衰退量。官方示例:
const light = new THREE.PointLight( 0xff0000, 1, 100 );
light.position.set( 50, 50, 50 );
scene.add( light );
示例:使用环境光和点光源,编写一个可以投射正方体阴影到地面的效果
创建立方体,必须把参数castShadow设置为true,立方体才能产生阴影
// 加载物体纹理贴图
const texture = new THREE.TextureLoader().load('./img/5.png');
// 创建立方体
const geometry = new THREE.BoxGeometry(1, 1, 1);
const material = new THREE.MeshPhongMaterial({
map: texture,
shininess: 80 // 镜面指数,越高反射效果越强
});
// 创建网格
const cube = new THREE.Mesh(geometry, material);
cube.position.set(0, 0.5, 0) // 移动位置(x,y,z)
// 物体产生阴影
cube.castShadow = true
scene.add(cube);
添加环境光
// 添加环境光
const light = new