使用Three.js创建类似屋顶的结构

使用Three.js创建类似屋顶的结构,three.js,Three.js,我目前正在尝试一种方法,在Three.js中的拉伸形状上创建类似屋顶的结构。在不深入研究的情况下,我能想到的最简单的方法是拉伸和缩放拉伸网格的顶面,使其看起来像屋顶,或者在顶部创建一个形状像屋顶的新网格 这是我所追求的最基本的样式,如果应用于拉伸矩形(立方体): 屋顶的阴影区域高于非阴影区域 和相同的样式,如果应用于更复杂的拉伸形状: 我无法解决的是如何创建这样的屋顶结构,特别是对于第二个示例这样的复杂形状。我有建筑“足迹”的顶点,但我不知道如何在缩放顶面以产生倾斜边时挤出它们 我当然可以计

我目前正在尝试一种方法,在Three.js中的拉伸形状上创建类似屋顶的结构。在不深入研究的情况下,我能想到的最简单的方法是拉伸和缩放拉伸网格的顶面,使其看起来像屋顶,或者在顶部创建一个形状像屋顶的新网格

这是我所追求的最基本的样式,如果应用于拉伸矩形(立方体):

屋顶的阴影区域高于非阴影区域

和相同的样式,如果应用于更复杂的拉伸形状:

我无法解决的是如何创建这样的屋顶结构,特别是对于第二个示例这样的复杂形状。我有建筑“足迹”的顶点,但我不知道如何在缩放顶面以产生倾斜边时挤出它们

我当然可以计算出缩放顶点的位置,但我还有一个问题,就是不知道如何将顶部(缩放)面连接到底部面(即,如何制作侧面)


有什么想法吗?

因为顶部屋顶多边形的顶点数与底部屋顶多边形的顶点数相同,这不就是循环通过每个顶部屋顶多边形顶点并将其连接到底部屋顶多边形顶点的情况吗


而且,顶部屋顶多边形上的任意两个顶点及其底部屋顶多边形上的关联顶点将为您提供一个侧面的所有顶点。

听起来您想在
挤出计量学中试验斜面参数。

挤压计量法不应该已经关闭顶部了吗?挤出计量法关闭顶部,但它是平顶。我想要的是一个必胜客式的屋顶,在顶部挤压的屋顶上有另一个面,稍微小一些,所以侧面向上倾斜…像屋顶一样。嘿,罗宾,你做过单面斜面吗?2年后,我似乎遇到了同样的问题。我确实认为这可能是一个解决方案,但根据以前的经验,我认为斜角在两端。现在单面斜面就足够了,所以我将深入研究挤出计量代码,看看我能做些什么。是的。只需使用叉子
挤出计量法
,即可满足您的需要。开源FTW@Doob先生,我也需要这个功能。在Java中,我使用Poly2Tri库绘制多边形。一个有用的功能是polygon.addSteinerPoint()方法,该方法允许在二维多边形平面外有一个点,并使多边形自动挤出以包含该点。这使我能够创建任何形状的屋顶。我可以通过移动steiner点来编辑屋顶。3.形状是否支持steiner点?如果没有,是否有可能添加此功能?