3

three.js初心者です。面として表示する複数の n 辺ポリゴンがあります (ポリゴン面を不透明にしたい)。各ポリゴンは 3D 空間で異なる方向を向いています (基本的に、これらの面は建物の一部です)。

私が試したいくつかの方法を次に示しますが、それらは法案に適合しません。

  1. Geometry オブジェクトを使用し、n-頂点を追加し、ライン メッシュを使用しました。ポリゴンを中空ポリゴンとして作成しました。私のポイント数は 3 つまたは 4 つだけではないため、Face3 または Face4 オブジェクトを使用できませんでした。基本的に Face-n オブジェクトです。
  2. WebGL の幾何学的形状の例を見ました。シェイプ オブジェクトは、2D および押し出しで機能します。この例のすべてのオブジェクトは 1 つの平面上にあります。私の要件は、各ポリゴンに異なる 3D 法線ベクトルがあることです。2D 形状を使用し、顔の法線にも注意して、レンダリング後に 2D 形状を回転させる必要があります。

または、x、y、z 頂点だけで不透明な面を持つ複数の 3D フラット ポリゴンをレンダリングするより良い方法はありますか。

4

1 に答える 1

2

ポリゴンが凸状である限り、Face3 オブジェクトを引き続き使用できます。1 つの n 辺のポリゴン、たとえば六角形を使用する場合、(0,1,2) の番号が付けられた頂点を 1 つの面として、頂点 (0,2,3) を別の面として、頂点 (0, 3,4) を他の面として、頂点 (0,4,5) を最後の面として。紙に描いてみればわかると思います。ただし、これは凸多角形に対してのみ機能します。

于 2013-02-06T08:30:39.070 に答える