私は Three.js がまったく初めてで、ソリッド モデルにエッジを追加しようとしています。
問題は、エッジを個別に追加するとレンダリングが遅くなることです。そのため、レンダリングを少し高速化するために、ジオメトリを 1 つに結合することを考えています。
私はこれに出くわしました: https://github.com/mrdoob/three.js/issues/1370 しかし、上記の手法を使用した後、出力は正しくありません。
これまでの私のコードは次のとおりです。
/* Edge Data */
var vertices = edgeData.vertices;
var edges = edgeData.edges;
// Final Geometry
var combinedGeo = new THREE.Geometry();
/* Add lines */
for( var i=0; i<edges.length; i++){
var geom = new THREE.Geometry();
for (var j=0; j<edges[i].length; j++){
var v1 = vertices[edges[i][j]];
geom.vertices.push(new THREE.Vector3(v1[0], v1[1], v1[2]));
}
// var line = new THREE.Line(geom, material, THREE.LinePieces);
THREE.GeometryUtils.merge( combinedGeo, geom);
// scene.add(line);
}
var edgesGeo = new THREE.Line(combinedGeo, material, THREE.LineStrip);
scene.add(edgesGeo);