Javascript 3.js,渲染到纹理然后渲染时材质为黑色

Javascript 3.js,渲染到纹理然后渲染时材质为黑色,javascript,three.js,render-to-texture,Javascript,Three.js,Render To Texture,这正是渲染场景的时候 取消注释底部的“渲染到纹理”(render to texture)行,我得到了这个结果。这三个物体都是黑色的 renderer.render( sceneToMask, camera, maskTexture, true ); renderer.render( scene, camera ); 渲染纹理场景中有两个对象,其中的对象是外部的,而不是中间的甜甜圈。我正试图制作场景中两个外部对象的遮罩。在渲染循环中调用两个渲染时,可以看到地形上显示的“渲染到”纹理 编辑:如

这正是渲染场景的时候

取消注释底部的“渲染到纹理”(render to texture)行,我得到了这个结果。这三个物体都是黑色的

renderer.render( sceneToMask, camera, maskTexture, true );

renderer.render( scene, camera );
渲染纹理场景中有两个对象,其中的对象是外部的,而不是中间的甜甜圈。我正试图制作场景中两个外部对象的遮罩。在渲染循环中调用两个渲染时,可以看到地形上显示的“渲染到”纹理

编辑:如果我使用新的3.Mesh()而不是.clone(),它会“起作用”。但它并没有真正起作用,因为这不是一个解决方案,它是一个糟糕的黑客。 一定有办法干净地制作面具

编辑: 自从发布这篇文章以来,我尝试了很多东西。我尝试使用两个单独的渲染器。我试过克隆对象。(如上所述)大多数事情都会彻底失败。其他东西可以工作,但在生产中不起作用。 我需要一种方法来渲染模具缓冲区或其他东西,这是选择性的,高于在模具中渲染或不渲染什么对象。 我甚至不能得到一个基本的模具缓冲区来渲染,虽然。。我试着查看MaskPass.js,但仍然无法理解