在Three.js中,网格总是呈现在场景的顶部,即使它的位置在所有对象后面吗?我正在使用网格实现套索选择,并且需要在场景的其余部分上渲染选择框。Three.js - 在另一个顶部的几何
回答
是的。
首先做到这一点:
renderer.autoClear = false;
然后创建一个包含只是要在最前面的对象第二场景。然后,在你渲染循环:
renderer.clear(); // clear buffers
renderer.render(scene, camera); // render scene 1
renderer.clearDepth(); // clear depth buffer
renderer.render(scene2, camera); // render scene 2
编辑:另一个解决方案是只有一个场景,但使用这种模式:
mesh.renderOrder = 999;
mesh.onBeforeRender = function(renderer) { renderer.clearDepth(); };
如果网具有单一材料,它会呈现“顶部”。
three.js所r.85
如果你想渲染只有一个正面目,您还可以通过该对象的材料设置depthTest
到false
管理:
var onTopMaterial = new THREE.MeshStandardMaterial({
color: 'red',
depthTest: false
});
mesh.material = onTopMaterial;
检查一个示范开始在this fiddle
注:请确保您有renderer.sortObjects
设置为默认值true
值。
这不是一个好主意。有许多陷阱。首先,在蓝色立方体上设置'transparent:true'。但最大的问题是,通过设置'depthTest = false',所谓的“顶部网格”将不再对其自身进行深度测试,这会导致渲染伪像。 – WestLangley
@WestLangley感谢您的反馈。它与透明设置冲突在我的情况下是可以接受的,但对于我不确定的工件。我如何测试这个?我只需要暂时将一个对象放在'mouseover'上的所有其他对象的前面,然后回到'mousout'上。在我看来,暂时将它添加到不同的场景在这种情况下是不可取的。 – Wilt
我会在接受的答案中遵循该方法,除非您的用例非常有限。 – WestLangley
- 1. Three.js - 几何顶点
- 2. 在另一个顶部的图像
- 3. 如何在另一个CCLayer的顶部添加一个CClayer android
- 4. three.js所 - 在另一个
- 5. 在另一个顶部覆盖图像
- 6. 在另一个UIImage顶部添加UIImage
- 7. 在three.js中移动后的顶点坐标几何
- 8. THREE.JS连接两个几何图形(扫掠导轨,顶盖)
- 9. 股利另一个DIV的顶部
- 10. 在另一个CCLayer的顶部添加一个框架的CClayer?
- 11. 如何更新three.js r58中的几何顶点位置?
- 12. 在android的另一个顶部显示一个图像
- 13. Cypher:在另一个顶部的一个聚合函数
- 14. 将一个画布放在另一个WPF的顶部?
- 15. 如何将元素放置在另一个元素的顶部?
- 16. 如何在CSS中定位另一个元素的顶部
- 17. 如何将javascript放在另一个div顶部的javascript?
- 18. 如何将图像放在另一个图像的顶部
- 19. 如何让div定位在另一个div的顶部角落?
- 20. 如何在顶部的另一个布局
- 21. three.js所 - 管几何
- 22. 从StackPanel顶部拖放TextBlock另一个
- 23. Stack Divs与另一个顶部对方
- 24. 将div对齐到另一个顶部
- 25. 如何在点击后在另一个顶部显示div
- 26. 如何在HTML中将一个图像放在另一个图像的顶部?
- 27. 在另一个子视图顶部检测一个子视图
- 28. 关于悬停,在另一个顶部添加一个div
- 29. 一个浮动在另一个浮动顶部
- 30. CSS - 把一个图像集中在另一个顶部
这是唯一的方法吗?我试图通过mesh.renderDepth,material.depthTest和material.depthWrite达到同样的效果,但无济于事。 – Andrew
@Andrew如果您有任何问题,请发邮件。 – WestLangley
@Andrew现在试图做同样的事情,看着http://stackoverflow.com/questions/16247280/force-a-sprite-object-to-always-be-in-front-of-skydome-object-in -three-js – sixFingers