threeJS 导入STL模型后,使其平滑
导入模型的方法就不累赘叙述了.记录一下,备用!
众说周知,STL模型是由很多个细小的三角形组成的,所以直接导入STL模型会有三角形的形状
在此前,可以通过这种方式平滑几何体的阴影
const tempGeo = new THREE.Geometry().fromBufferGeometry( geometry ); tempGeo.mergeVertices(); tempGeo.computeVertexNormals(); geometry = new THREE.BufferGeometry().fromGeometry(tempGeo);
但是由于 Geometry 类已被弃用,上面的方法不行了。
可以通过以下的方法尝试一下
// (1) 删除共置顶点之间不匹配的顶点属性 geometry.deleteAttribute('normal'); // 也许:uv, uv2, tangent // (2) 合并顶点 geometry = BufferGeometryUtils.mergeVertices(geometry); // (3) 计算平滑法线 geometry.computeVertexNormals();