2015-10-28 34 views
0

我使用BufferGeometry繪製三角形。 我可以使用網格幾何,爲每個三角形指定3個索引屬性。我使用的是沒有線框的基本材質。我可以使用raycast。Three.js/BufferGeometry如何使用網格和線條材質

另外我也看到了線框的linesegments方法。有趣。

好的,我的問題...我想看到我的三角形作爲一個線框,也需要光線投射。所以....解決方案是創建我自己的着色器,不是嗎? 感謝

回答

0

你沒有創建您可以與線框材料網狀自定義着色器和光線應該還是「打」的對象

var mesh = new THREE.Mesh(geometry,new THREE.MeshBasicMaterial({wireframe : true})); 

如果出於某種原因不打,或者你要LineSegments對象,你可以跟蹤受影響對象的所有變革,並將其應用到網格你不會添加到現場

var segmentObject = new THREE.LineSegments(geometry,lineMaterial); 
scene.add(segmentObject); 
var meshNotInScene = new THREE.Mesh(geometry,dummyMaterial); 

,你將使用網格對象,以確定是否光線投射命中目標

這樣你可以有例如對象的不同擊中格,如果你已經用一個圓圈配對,飛甜甜圈網,您可以選擇它,即使你在它的孔等點擊...

保持記住,材料有側面,如果你不在乎哪一側是哪一個「側」到TH.DoubleSide

+0

德爾特,謝謝。不幸的是,線框不能與緩衝區幾何圖形一起工作...... – civiltomain

+0

BufferGeometry與材質無關,如果您使用緩衝區幾何體和線框材質創建網格,它將創建一個線框,我測試它只是爲了確保使用簡單的PlaneBufferGeometry和簡單材質,它確實顯示爲一個線框,所以你的問題必須在別的地方 –

相關問題