2014-06-18 22 views
2

我想呈現其他對象之上的對象。使用渲染對象使用renderDepth與Three.js

在小提琴中,獲得綠色的圓環結以在紅色框和地板上呈現。

我一直在嘗試mesh.renderDepth = 0, 1, 1000並沒有改變。

材料已創建像這樣:

material = new THREE.MeshBasicMaterial({ color: 0x00ff00, transparent: true, opacity: 0.5 }); 

我怎樣才能做到這一點使用renderDepth?我是否缺少其他設置?

使用depthTesttrue的作品,但不可接受,因爲凹網格(如環面)遭受重疊的多邊形,特別是不透明時。

雖然我還沒有設法讓this other solution with two scenes運行,它令我有更多的開銷,或許比只使用renderDepth

不太靈活全面工作的jsfiddle:http://jsfiddle.net/QHssJ/

感謝您的幫助

回答

4

這篇文章有點舊了,但對於那些磕磕絆絆的人來說,請確保具有自定義renderDepth的對象將其材質的depthWrite設置爲false:

material.depthWrite = false 

這裏是一個更新發布小提琴:http://jsfiddle.net/QHssJ/20/

+3

'Object3D.renderDepth'已被刪除。你可以使用'Object3D.renderOrder'。 three.js r.71 – WestLangley