но похоже, что ThreeCSG не имеет этот метод.
я примеру здесь:
http://learningthreejs.com/blog/2011/12/10/constructive-solid-geometry-with-csg-js/
И используя Three.js сhttps://github.com/chandlerprall/ThreeCSGЯ пытаюсь выполнить 3D логические операции на узлах из модели. Как например, если у меня есть стена с окном, я хочу сделатьinvert()
на это, чтобы получить только окно.
У меня есть функция, которая возвращает все вершины многоугольников узла, вот пример вершин объекта без отверстийhttps://pastebin.com/8dhYzPwE.
Я использую ThreeCSG, как это:
const geometryThree = new THREE.Geometry();
geometryThree.vertices.push(
...vertices
);
const geometryCsg = new ThreeBSP(geometryThree);
Но это то, что я получаю вgeometryCsg
:
"{
"matrix": {
"elements": {
"0": 1,
"1": 0,
"2": 0,
"3": 0,
"4": 0,
"5": 1,
"6": 0,
"7": 0,
"8": 0,
"9": 0,
"10": 1,
"11": 0,
"12": 0,
"13": 0,
"14": 0,
"15": 1
}
},
"tree": {
"polygons": []
}
}"
Я думаю это потому чтоgeometry.faces.length
это 0.
Как я могу сделать массив вершин, чтобы быть правильнымThree.Geometry
такой, что лица не будут пустыми?Geometry.elementsNeedsUpdate не работает ...
Есть ли пример, который использует многоугольники формы в качестве массива Vector3s и преобразует это в CSG?