3

Three.js 的新手。我有多个 n 边多边形要显示为面(我希望多边形面不透明)。每个多边形在 3D 空间中都面向不同的方向(本质上这些面是某些建筑物的一部分)。

以下是我尝试过的几种方法,但它们不符合要求:

  1. 使用几何对象并添加了 n 顶点和使用的线网格。它将多边形创建为空心多边形。由于我的点数不仅仅是 3 或 4,我无法使用 Face3 或 Face4 对象。本质上是一个 Face-n 对象。
  2. 我查看了 WebGL 几何形状示例。形状对象在 2D 和拉伸中工作。示例中的所有对象都在一个平面上。虽然我的要求是每个多边形都有不同的 3D 法线向量。我是否应该使用 2D 形状并注意面部法线并在渲染后旋转 2D 形状。

或者有没有更好的方法来渲染具有不透明面的多个 3D 平面多边形,这些面只有 x、y、z 顶点。

4

1 回答 1

2

只要你的多边形是凸的,你仍然可以使用 Face3 对象。如果您采用一个 n 边多边形,比如说一个六边形,您可以通过将编号为 (0,1,2) 的顶点作为一个面,将顶点 (0,2,3) 作为另一个面,顶点 (0, 3,4)作为其他面和顶点(0,4,5)作为最后一个面。如果你把它画在纸上,我想你可以得到这个想法。但这仅适用于凸多边形。

于 2013-02-06T08:30:39.070 回答