//首先在场景里添加一个光源
let spotLight = new THREE.spotLight(0x00ff00); //通过spotLight()方法创建一个光源
spotLight.position.set(-40,60,-10); //灯光在这个位置照射场景
scene.add(spotLight); //加入场景
//调用MeshBasicMaterial()方法不会对场景中的光源产生反应,而只会以指定颜色渲染物体
//MeshPhongMaterial(), Phong材质,适合金属和镜面
//使用MeshLambertMaterial(),Lambert材质,适合光照
let cubeGeometry = new THREE.cubeGeometry(1,1,1);
let cubeMaterial = new THREE.MeshLambertMaterial();
let cube = new THREE.Mesh(cubeGeometry,cubeMaterial); //创建立方体
//告诉渲染器我需要阴影
renderer.shadowMapEnabled = true; //允许阴影投射
//定义哪个物体投射阴影,哪个物体接收阴影
cube.receiveShadow = true; //正方体接收其他物体投射过来的阴影
cube.castShadow = true; //正方体投射阴影到其他物体上
//定义场景中哪个光源可以产生阴影(不是所有的光源都可以产生光源)
spotLight.castShadow = true; //spotLight()方法生成的光源(聚光灯)可以产生阴影