【问题标题】:How to fill the space between two cylinder meshes. Three.js如何填充两个圆柱体网格之间的空间。三.js
【发布时间】:2021-11-26 14:03:20
【问题描述】:

我有一个基于 3d 矢量数组生成圆柱体的代码。 问题是它们之间有那些丑陋的空间:

有谁知道我如何将它们填入最新版本的three.js? 提前致谢!!

【问题讨论】:

    标签: javascript three.js 3d-modelling


    【解决方案1】:

    为了填补空白,我建议你只使用一个与圆柱体半径相同的球体,以两个圆柱体相遇的点为中心。

    设置高度和宽度段数以匹配圆柱体,使其看起来一致。

    没有填补空隙的部分只会隐藏在圆柱体内,不可见。

    如果您想减少顶点计数,您可以使用 Sphere Geometry 上的 theta 参数来仅生成您实际需要填充间隙的部分。 https://threejs.org/docs/?q=sphere#api/en/geometries/SphereGeometry

    或者,如果您真正想要实现的是具有圆形横截面的弯曲物体,您可以完全放下圆柱体,然后沿着曲线挤压一个圆以获得您想要的形状。

    https://threejs.org/docs/?q=extrude#api/en/geometries/ExtrudeGeometry https://threejs.org/examples/webgl_geometry_extrude_shapes.html

    【讨论】:

    • 哦,非常感谢!!!