THREE.js聚焦投射阴影,近平面和接收器之间没有物体

时间:2015-07-20 10:37:18

标签: three.js

我在中使阴影工作时遇到了麻烦。在下图中,您可以看到聚光灯在具有平面几何形状的对象上投射阴影。在平面附近的聚光灯和墙壁的平面几何形状之间没有物体。

什么可能导致这种行为?

Three.js spotlight

灯光以这种方式配置:

var spotLight = new THREE.SpotLight(0xFFFFFF, 1);
spotLight.position.set(0, -20, 100);
spotLight.target.position.set(0,0,0);
spotLight.shadowDarkness = 0.5;
spotLight.shadowCameraVisible = true;
spotLight.castShadow = true;
spotLight.shadowMapWidth = 1024;
spotLight.shadowMapHeight = 1024;

spotLight.shadowCameraNear = 10;
spotLight.shadowCameraFar = 200;
spotLight.shadowCameraFov = 10;
spotLight.shadowBias = 0.1;
scene.add(spotLight);

矩形网格BufferGeometriesPlaneGeometries转换为png uv映射图像作为纹理,.receiveShadow设置为true

THREE.js版本r71。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

也许是自我遮蔽,尝试使用spotLight.shadowBias。通常,使用0.05的值来避免自阴影。