都市の建物を表すポリゴン データを含むデータセットを正常に読み込んでいます。したがって、すべてのポリゴンは 1 つの建物を表します。Threejs ではそれらをうまく表現できますが、別々の線を 1 つのジオメトリにマージしようとすると、すべての線が接続されます (すべての頂点が同じコレクションに追加されるため、これが理にかなっている理由は理解できます)。
しかし、これらの別々の建物ポリゴンの線を互いに接続せずに、これらの別々の建物ポリゴンを単一のジオメトリにマージするにはどうすればよいでしょうか?
私が今持っているコード:
var geometry = new THREE.Geometry();
for (var i = 0; i < data.length; i++) {
var temp = new THREE.Geometry();
var polygon = data[i];
for (var j = 0; j < polygon.length; j++) {
temp.vertices.push(new THREE.Vector3(polygon[j][0], polygon[j][1], 0));
}
temp.vertices.push(new THREE.Vector3(polygon[0][0], polygon[0][1], 0));
THREE.GeometryUtils.merge(geometry, temp);
}
scene.add(new THREE.Line(geometry, buildingMaterial, THREE.LineStrip));
data は、建物のすべてのポリゴン データを含む変数です。