我需要在boxMesh上投射阴影,而网格本身应该是不可见的。
我在three.js GitHub问题跟踪器上找到了一个technique,它几年前似乎已经工作但现在已经不再工作了 - 它涉及创建一个新的着色器。
有没有其他方法或更新版本现在不再是工作技巧了?
答案 0 :(得分:7)
您可以使用THREE.ShadowMaterial
在具有透明材质的网格上投射阴影。使用这种模式:
var material = new THREE.ShadowMaterial();
material.opacity = 0.5;
var mesh = new THREE.Mesh( geometry, material );
mesh.receiveShadow = true;
scene.add( mesh );
THREE.ShadowMaterial
位于examples/js/materials
目录中。在this three.js示例中有一个示例,但它最适用于网格。
three.js r.75