在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