用Three.CSG减去运算后如何修复网格中的小孔

时间:2015-07-04 15:22:15

标签: three.js csg threecsg

我有一个Box Mesh,我用Three.CSG减去另一个Box,创建一个带窗口的墙。 这样做之后,在切口旁边有网孔。它们在时间上是不可见的,但在移动时会出现。

如何关闭这些洞?

enter image description here

enter image description here

这是我创建Mesh的代码的一部分:

var wallBsp = new ThreeBSP( myWallMesh );
var subMesh = new THREE.Mesh( mygeo );
var subBsp  = new ThreeBSP( subMesh );
var subtract_bsp = wall_bsp.subtract( subBsp );

var result = subtract_bsp.toMesh(); 
result.material.shading = THREE.FlatShading;
result.geometry.computeVertexNormals();

更新

我创建了一个jsfiddle,但很难重现错误,我无法在那里看到它:http://jsfiddle.net/L0rdzbej/23/

但是,您可以看到完整的应用here

像@gaitat建议的那样,geometry.mergeVertices()看起来不会改变我的任何内容。 Chandler Prall暗示,precisionPoints是mergeVertices函数中的变量,可以解决这个问题。根据场景的规模,它的值应该更低或更低,但到目前为止我没有成功。

0 个答案:

没有答案