2017-01-27 4 views
0

Ich habe ein Array von Vector3s, die eine beliebige gekrümmte Form im 3D-Raum definieren. Ich kann einen Umriss der Kurve in Three.js mit einer THREE.Geometry und einer THREE.Line, aber ich möchte es mit Farbe füllen.3D-Kurvengeometrie in Three.js

Ich versuchte THREE.ShapeGeometry und THREE.Mesh verwenden, aber es scheint, als ob THREE.ShapeGeometry für 2D-Ebene ist nur (die z-Koordinaten meines Eckpunkten ignoriert werden). Ich habe auch versucht, THREE.Geometry zu verwenden und die Gesichter zusätzlich zu den Scheitelpunkten zu definieren, die ich wollte, aber hatte kein Glück.

Wie soll ich das machen?

Code:

geom.vertices = curve.getPoints(100); 

for (var i = 0; i < 97; i++) { 
    geom.faces.push(new THREE.Face3(i, i + 1, i + 2)); 
} 

var material = new THREE.MeshNormalMaterial(); 

obj = new THREE.Mesh(geom, material); 
scene.add(obj); 

Antwort

0

behoben, indem Sie den Code in der Frage oben auf den Auszug zu ändern unter:

geom.vertices = curve.getPoints(100); 

for (var i = 0; i < 98; i++) { 
    geom.faces.push(new THREE.Face3(0, i + 1, i + 2)); 
} 

var materialObj = { color : 0xff0000, side: THREE.DoubleSide }; 
var material = new THREE.MeshBasicMaterial(materialObj); 

obj = new THREE.Mesh(geom, material); 
scene.add(obj);