有没有办法限制使用 THREE.js 剪裁的模型部分?

Is there a way to cap portions of a model clipped using THREE.js?

我刚开始使用 Three.js,但遇到了一些问题,我有一个 3d 对象,我在其中使用局部剪裁平面进行一定程度的整形。

但由于 3d 对象 "hollow" 仅渲染外表面,所以当某些东西被剪裁时,我们可以看到形状并看到它的背面。 例如,您可以看到管子内部 https://i.imgur.com/akk7Ist.png

我想把这些洞盖上。基于这个问题,似乎实现此目的的最佳方法是在剪切区域上创建一个表面,从而盖住孔并使对象看起来不像是空心的。但我不确定该怎么做。

这只是使用示例中的基本代码https://threejs.org/examples/

我想达到的目标https://i.stack.imgur.com/rmb50.png

它不会像使用 gpu 裁剪平面那样快,但它会给你返回实际的几何图形..

您可以尝试使用我最近修复的这个 CSG 库:

https://github.com/manthrax/THREE-CSGMesh

欢迎提出建议。