После использования CSG моя сетка перепутана с большим количеством вершин и граней, чем необходимо.Данные предоставляют все вершины в одном массиве без разграничения, являются ли они реальными углами или где-то посередине поверхности / плоскости.Я сделал простую скрипку, чтобы показать пример.
https://jsfiddle.net/apbln/k5ze30hr/82/
geometry.vertices.push(
new THREE.Vector3(-1, -1, 0), // 0
new THREE.Vector3( 1, -1, 0), // 1
new THREE.Vector3(-1, 1, 0), // 2
new THREE.Vector3( 1, 1, 0), // 3
new THREE.Vector3(-0.5, -0.5, 0), // 4
new THREE.Vector3( 0, 1, 0), // 5
new THREE.Vector3( 1, -1, 0), // 6
);
geometry.faces.push(
new THREE.Face3(0, 5, 2),
new THREE.Face3(0, 1, 5),
new THREE.Face3(3, 5, 1),
);
Это упрощенная версия того, как мои поверхности выглядят после использования csg.Как я мог узнать, какие вершины являются настоящими углами, чтобы я мог восстановить поверхность только с 2 гранями?