Operações booleanas 3D com três CSG
Seguindo o exemplo aqui:
http://learningthreejs.com/blog/2011/12/10/constructive-solid-geometry-with-csg-js/
E usando o Three.js comhttps://github.com/chandlerprall/ThreeCSG, Estou tentando fazer operações booleanas 3D nos nós do modelo. Por exemplo, se eu tenho uma parede com uma janela, quero fazerinvert()
nisso para obter apenas a janela.
Eu tenho uma função que retorna todos os vértices dos polígonos de um nó, aqui está um exemplo de vértices de um objeto sem buracoshttps://pastebin.com/8dhYzPwE.
Estou usando o ThreeCSG assim:
const geometryThree = new THREE.Geometry();
geometryThree.vertices.push(
...vertices
);
const geometryCsg = new ThreeBSP(geometryThree);
Mas é nisso que estou entrandogeometryCsg
:
"{
"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": []
}
}"
Eu acho que é porqueageometry.faces.length
é 0.
Como posso fazer com que a matriz de vértices seja adequadaThree.Geometry
de modo que os rostos não fiquem vazios?Geometry.elementsNeedsUpdate não funciona ...
Existe um exemplo que usa polígonos de uma forma como uma matriz de Vector3s e a transforma em csg?