影子捕手在three.js /透明材料上的阴影

时间:2016-02-29 21:36:25

标签: javascript three.js

我需要在boxMesh上投射阴影,而网格本身应该是不可见的。

我在three.js GitHub问题跟踪器上找到了一个technique,它几​​年前似乎已经工作但现在已经不再工作了 - 它涉及创建一个新的着色器。

有没有其他方法或更新版本现在不再是工作技巧了?

1 个答案:

答案 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