我正在使用three v0.85.2
.
默认情况下,我的所有对象都配置为投射和接收阴影:
const mesh = new Mesh(geometry, material)
mesh.castShadow = meshConfig.castShadow
mesh.receiveShadow = meshConfig.receiveShadow
Run Code Online (Sandbox Code Playgroud)
shadowMap
的renderer
已启用。
自阴影似乎被正确渲染(下图中的绿色方块)。但是投射到其他对象的阴影丢失了(红色方块)。
这个问题似乎出现在我所有的网格上。我找不到让它们出现的方法。
DirectionalLightShadow,在那里您可以阅读THREE.DirectionalLight()
在场景中使用时如何处理阴影。
你也可以玩的.left
,.top
,.right
和.bottom
你的光源阴影相机的性能。
var light = new THREE.DirectionalLight(0xffffff,1);
light.position.set(50, 500, 22);
light.target.position.set(300, 400, 200);
light.shadow.camera.near = 0.5;
light.shadow.camera.far = 5000;
light.shadow.camera.left = -500;
light.shadow.camera.bottom = -500;
light.shadow.camera.right = 500;
light.shadow.camera.top = 500;
light.castShadow = true;
scene.add(light);
Run Code Online (Sandbox Code Playgroud)
三.js r85
jsfiddle示例