1.开启光源的阴影投射
directionalLight.castShadow = true; // 开启阴影投射
directionalLight.shadow.bias = 0.001;// 调整阴影偏差,减少阴影中的伪影
directionalLight.shadow.mapSize.width = directionalLight.shadow.mapSize.height = 2048;// 设置阴影质量的宽高,值越高效果越好,同时性能消耗越大,值必须是2的幂,默认512,512
在创建光源时开启阴影投射功能
2.开启渲染器生成阴影
在创建渲染器时
this.renderer.shadowMap.enabled = true;// 开启渲染器生成阴影
this.renderer.shadowMap.type = THREE.PCFSoftShadowMap ; // 默认THREE.PCFShadowMap,调整阴影类型
3.设置投射阴影物体
let mesh = new THREE.Mesh(new THREE.BoxGeometry(10, 10, 10),new THREE.MeshLambertMaterial({color: 0xdedede}));
mesh.translateY(1);
mesh.castShadow = true;//开启阴影投射
this.scene.add(mesh);
4.设置接收阴影物体
this.mesh.receiveShadow = true;//开启接收阴影