我在JSON中有五個頂點的大組,它需要表示爲如下所示的圓錐幾何。 (a,b,c),(d,e,f),(g,h,i),(j,k,l)},{(x,y,z) (x1,y1,z1),(a1,b1,c1),(d1,e1,f1),(g1,h1,i1),(j1,k1,l1)} .......... ...如何使用從Three.js中的JSON文件讀取的值來表示幾何?
注意:這些座標是帆布座標。
這裏是圖:
其中這些頂點值是從JSON文件中讀取並作出幾何需要。這些頂點值對於每個單個幾何體都是唯一的。如何使用three.js預定義的幾何和自定義幾何如下面的代碼。我的問題是如何使用從JSON文件讀取的值來表示幾何?
var cone;
var geo = new THREE.Geometry();
var meshMaterial = new new THREE.MeshLambertMaterial({ color: 0xffffff });
geo.vertices.push(new THREE.Vector3( 0, 0, 0));
geo.vertices.push(new THREE.Vector3(-0.5, 0.5, 1));
geo.vertices.push(new THREE.Vector3(0.5, 0.5, 1));
geo.vertices.push(new THREE.Vector3(-0.5, -0.5, 1));
geo.vertices.push(new THREE.Vector3(0.5,-0.5, 1));
geo.faces.push(new THREE.Face3(0,1,2));
geo.faces.push(new THREE.Face3(4,3,0));
geo.faces.push(new THREE.Face3(3,1,0));
geo.faces.push(new THREE.Face3(0,2,4));
geo.faces.push(new THREE.Face3(2,1,4));
geo.faces.push(new THREE.Face3(1,3,4));
geo.computeFaceNormals();
cone = new THREE.Mesh(geo, meshMaterial);
cone.doubleSided = true;
cone.overdraw = true;
//And finally we need (x,y,z) to set the position of this geometry to display on the canvas
cone.position.set(x,y,z);
我已經嘗試了很多,如何使用來自其他文件中讀取值來創建幾何,但我沒有找到任何東西,這initated我張貼了這個問題。 PS:在這些值{(x,y,z),(a,b,c),(d,e,f),(g,h,i),(j,k,l)}中, ,(x,yz)應該是畫布上圓錐體尖端的位置,同時代表圓錐體。
感謝您的幫助 –
嗨,我面臨Three.js中的類似問題我也需要從本地JSON文件中讀取位置並將它們填充到三個JS緩衝區Geometry_Point中,請您分享一下您的解決方案或者可以回答我的問題問題在這裏:http://stackoverflow.com/questions/38112211/load-positions-attribute-from-a-json-file-in-three-js-buffer-geometrypoints –