我使用EdgesGeometry来显示网格的外边缘:EdgesGeometry(geometry,thresholdAngle)。
这通常按预期工作,但在使用三个CSG后减去'或者' union'然后在生成的网格上生成EdgesGeometry,即使我增加了“阈值角度”,我也会在共面的面上出现各种杂散边缘。说'180度',他们仍然存在。
这是我的代码: (a& b是框几何的网格)
a_ = new ThreeBSP( a );
b_ = new ThreeBSP( b );
c_ = a_.subtract(b_);
c = c_.toMesh(mat_cube);
scene.add( c );
edges = new THREE.EdgesGeometry( c.geometry, 5 )
line = new THREE.LineSegments( edges, mat_line )
scene.add( line )
谁有任何想法?
感谢
更新
答案 0 :(得分:1)
使用EdgesGeometry
进行渲染时,您会看到意外的“边缘”。
原因是threeCSG
输出的工件。
大三角形的长边是重合,边缘有三个较小的三角形 - 重合,但不是共享。
这意味着,长边根本不会共享。这三个短边也不是。
未共享的边缘由EdgesGeometry呈现。
three.js r.87