Three.js - 在另一个之上的几何 [英] Three.js - Geometry on top of another

查看:170
本文介绍了Three.js - 在另一个之上的几何的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Three.js中是否可以将网格始终渲染在场景的顶部,即使它的位置在所有对象后面?我正在使用网格实现套索选择,我需要在场景的其余部分上渲染选择框。

Is it posible in Three.js to have a mesh always rendered on top of the scene, even if it's position is behind all objects? I'm implementing a lasso selection with a mesh and I need to render the selecting box on top of the rest of the scene.

推荐答案

是。

首先这样做:

renderer.autoClear = false;

然后创建第二个场景,其中只包含您想要位于顶部的对象。然后,在渲染循环中:

Then create a second scene that contains just the objects you want to be on top. Then, in your render loop:

renderer.clear();                     // clear buffers
renderer.render( scene, camera );     // render scene 1
renderer.clearDepth();                // clear depth buffer
renderer.render( scene2, camera );    // render scene 2






编辑:另一个解决方案是只有一个场景,但使用这种模式:


Another solution is to have just one scene, but use this pattern:

mesh.renderOrder = 999;
mesh.onBeforeRender = function( renderer ) { renderer.clearDepth(); };

如果网格物体有单一材质,它将呈现在顶部。

If the mesh has a single material, it will render "on top".

three.js r.85

three.js r.85

这篇关于Three.js - 在另一个之上的几何的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆