2014-09-20 127 views
0

我喜歡畫兩條線[10,10,0] [ - 10,-10,0]。我可以創建一個行成功地,帶點雲材料和線條材料的多種材料

var geometry = new THREE.Geometry(); 
geometry.vertices.push(new THREE.Vector(10,10,0)); 
geometry.vertices.push(new THREE.Vector(-10,-10,0)); 
geometry.verticesNeedUpdate = true; 
var material = new THREE.LineBasicMaterial({ color: 0xff0000, linewidth: 2, side: 2 }); 
var line = new THREE.Line(geometry, material); 
scene.add(line); 

我喜歡畫畫就行的頂點兩種顆粒,

var geometry = new THREE.Geometry(); 
geometry.vertices.push(new THREE.Vector(10,10,0)); 
geometry.vertices.push(new THREE.Vector(-10,-10,0)); 
geometry.verticesNeedUpdate = true; 
var material = new THREE.LineBasicMaterial({ color: 0xff0000, linewidth: 2, side: 2 }); 
var material1 = new THREE.PointCloudMaterial({ color: 0xff0000, size: 3, sizeAttenuation: false }); 
var materials = new THREE.MeshFaceMaterial([material, material1]); 
var line = new THREE.Mesh(geometry, materials); 
scene.add(line); 

這種方法不能正常工作,創建的模型,但在場景中不可見。 任何人都可以給出一些好的建議。

回答

0

AFAIK一個網格將需要至少3個頂點在網格中創建一個面。看看Line class docs如何創建一條線。
例如。

var line = new THREE.Line(geometry, material) 
+0

謝謝克里斯。是的,但是對於創建一條線來說,兩個頂點就足夠了(起點和終點),我可以輕鬆創建一條不是問題的線,創建一個particlecloud也不是問題,在THREE.Line中我們不能使用multipleMaterial,所以我想創建一個網格是使用meshfacematerial的方式。這裏我的需求是多種材料,(即)單線網格或線條中的線性材料和點雲材料。我的要求是,在線開始和結束點處有兩個粒子的線,而我用鼠標事件移動粒子時,線頂點應該移動到粒子位置 – user2089677 2014-09-20 10:08:47

+0

啊好的,我從來沒有真正使用Line類,所以不能幫助對不起。 – 2pha 2014-09-20 17:54:52