2013-02-06 57 views
2

新手爲three.js。我有多個n邊多邊形要顯示爲面(我希望多邊形面不透明)。每個多邊形都面向3D空間中的不同方向(實際上,這些面是部分建築物的一部分)。在3D中渲染帶面的n點多邊形

這裏有一對夫婦的我試過的方法,但他們不符合該法案:

  1. 二手幾何對象,並添加了正頂點和使用的線網。它將多邊形創建爲空心多邊形。由於我的點數不僅僅是3或4,我不能使用Face3或Face4對象。基本上是一個Face-n對象。
  2. 我看了WebGL幾何形狀的例子。形狀對象以2D和擠出方式工作。示例中的所有對象都在一個平面上。雖然我的要求是每個多邊形都有不同的3D法線向量。我應該使用2D形狀,並且注意面部法線並在渲染後旋轉2D形狀。

或者是否有更好的方法來呈現多個3D平面多邊形與不透明的面只有x,y,z頂點。

回答

2

只要你的多邊形是凸的,你仍然可以使用Face3對象。如果您採用一個n邊多邊形(比如說六邊形),則可以通過將編號爲(0,1,2)的頂點作爲一個面,將頂點(0,2,3)作爲另一個面創建面3多邊形,將頂點(0, 3,4)作爲其他臉和頂點(0,4,5)作爲最後一張臉。如果你在紙上繪畫,我認爲你可以得到這個想法。但是這隻適用於凸多邊形。

+0

感謝關於凸多邊形的想法。 – ivar