3

私は現在、Three.jsで押し出された形状の上に屋根のような構造を作成する方法に頭を悩ませようとしています。まっすぐなスケルトンを掘り下げることなく、私が考えることができる最も簡単なアプローチは、押し出しメッシュの上面を押し出して屋根のように見えるように拡大縮小するか、屋根のように見える形状の新しいメッシュを上に作成することです。

これは、押し出された長方形(立方体)に適用された場合、私が求めている最も基本的なスタイルです。 ここに画像の説明を入力してください

屋根の影付きの領域は、影なしの領域よりも高くなっています。

そして、同じスタイルを、より複雑な押し出し形状に適用した場合: ここに画像の説明を入力してください

私が理解できないのは、特に2番目の例のような複雑な形状の場合に、そのような屋根構造を作成する方法です。建物の「フットプリント」の頂点がありますが、上面を拡大縮小して側面を傾斜させながら、それらを押し出す方法がわかりません。

スケーリングされた頂点の位置を確実に計算することはできましたが、上面(スケーリングされた)面を下面に接続する方法(つまり、側面を作成する方法)がわからないという別の問題があります。

何か案は?

4

2 に答える 2

2

のベベル パラメータを試してみたいと思われますExtrudeGeometryhttps://github.com/mrdoob/three.js/blob/master/src/extras/geometries/ExtrudeGeometry.js

于 2013-03-06T14:21:20.213 に答える
0

上部の屋根のポリゴンには下部の屋根のポリゴンと同じ数の頂点があるため、これは各上部の屋根のポリゴンの頂点をループして、それを下部の屋根のポリゴンの頂点に接続するだけのケースではありませんか?

また、上部の屋根のポリゴンにある 2 つの頂点と、下部の屋根のポリゴンにある関連付けられた頂点から、側面のすべての頂点が得られます。

于 2013-03-06T12:30:11.360 に答える