Lep*_*osy 8 javascript three.js
在Three.js中是否可以将网格始终渲染在场景的顶部,即使它的位置在所有对象后面?我正在使用网格实现套索选择,我需要在场景的其余部分上渲染选择框.
Wes*_*ley 24
是.
首先这样做:
renderer.autoClear = false;
Run Code Online (Sandbox Code Playgroud)
然后创建第二个场景,其中只包含您想要位于顶部的对象.然后,在渲染循环中:
renderer.clear(); // clear buffers
renderer.render( scene, camera ); // render scene 1
renderer.clearDepth(); // clear depth buffer
renderer.render( scene2, camera ); // render scene 2
Run Code Online (Sandbox Code Playgroud)
编辑:另一种解决方案是只有一个场景,但使用这种模式:
mesh.renderOrder = 999;
mesh.onBeforeRender = function( renderer ) { renderer.clearDepth(); };
Run Code Online (Sandbox Code Playgroud)
如果网格物体具有单一材质,则它将呈现"在顶部".
three.js r.85