我有一个带有简单UI的Three.js场景。复选框代表对象receiveShadow属性的布尔值。在运行时,当我切换此复选框时,它不会反映场景中的更改。

如果我对castShadow做完全相同的事情,它确实可以工作。

您可能需要一些导入代码片段:
renderer.shadowMapEnabled = true;
material.needsUpdate = true;

如何为receiveShadow启用此功能?

最佳答案

如果动态切换receiveShadow属性,则必须为材料设置needsUpdate标志。

mesh.receiveShadow = true; // or false
mesh.material.needsUpdate = true;


然后,渲染器将needsUpdate标志重置为false

three.js r.73

关于javascript - 如何在Three.js中动态切换“receiveShadow”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34696728/

10-10 21:01