写在前面
调整了光源的参数和位置后,阴影效果比较好。
代码
var d_light=new THREE.DirectionalLight(ambiColor);
d_light.target=cube_2;
d_light.castShadow=true;
d_light.shadowCameraVisible=true;
d_light.shadowCameraNear = 2;
d_light.shadowCameraFar = 100;
d_light.shadowCameraLeft = -30;
d_light.shadowCameraRight = 30;
d_light.shadowCameraTop = 50;
d_light.shadowCameraBottom = -10;
d_light.position.set(0,36,4);
scene.add(d_light);
shadowCameraNear控制阴影近场,shadowCameraFar控制阴影远场,用于平行光的照射范围是一个长方体,所以有top,bottom,left,right来控制四个边际面的位置(不应该是六个面吗?)。
将光源位置调整合适,即可看到渲染的阴影。效果还是不错的。
代码全文
<!DOCTYPE html>
<html lang=