極力ポリゴンメッシュの面の構造を保ったまま、形状に窪みをつける

ブール演算」を使用することで、ポリゴンメッシュに窪みを付けることができますが
曲面表現(非平面)が多い形状を扱う場合に、三角形に分割しないとうまくいかない場合が多いです。

以下の場合は、直方体のMeshAでbodyのポリゴンメッシュをくり抜きます。

以下の手順でブール演算しました。
ブラウザでMeshAを選択。
ツールボックスの「編集」-「共通」-「その他」-「ブール演算」を選択。
ブラウザでbodyを選択。
ツールパラメータの「くり抜く」を選択。
以下のように処理に失敗します。

ブール演算時のツールパラメータで「三角形分割」チェックボックスをオンにすると正しく窪みをつけることができますが、
すべてが三角形分割されてしまいます。

この問題を解決するために、窪みを付けたい箇所とそれ以外を一度分離して対処します。

ポリゴンメッシュを分離

ブラウザでbodyの形状を選択します。
形状編集モード + 面選択モードで、窪みを付けたい平面の面を選択します。

ツールボックスの「編集」-「メッシュ」-「編集」-「分離/複製」-「別形状として分離」を選択します。

これで、 bodyは窪みを付ける平面部とそれ以外に分離されました。

平面のポリゴンメッシュに厚みをつけてブール演算

厚みのないポリゴンメッシュに穴を開ける (ブール演算)」の手順に従い、平面のポリゴンメッシュに厚みを付けます。

ブラウザでくり抜く形状MeshAを選択し、ツールボックスの「編集」-「共通」-「その他」-「ブール演算」を選択。
ブラウザで厚みを付けた形状bodyを選択し、ツールパラメータの「くり抜く」を選択。
このとき、ツールパラメータで「三角形分割」チェックボックスをオンにしておきます。

窪みを付けた形状の不要な面を削除

これで、くり抜かれた状態になるので形状編集モード + 面選択モードで厚みのために設けた面を選択して削除します。

分かりやすいように、ブラウザで対象となる形状以外を非表示にしました。

2つのポリゴンメッシュをオブジェクト結合

最終的に、2つのポリゴンメッシュが残りました。
それ以外の不要な形状(くり抜きに使ったMeshA、ブール演算前の形状)は削除しておきます。

ブラウザで2つのポリゴンメッシュを選択し、ツールボックスの「編集」-「メッシュ」-「結合/除去」-「オブジェクトの結合」を選択します。
これで1つのポリゴンメッシュに結合されました。
三角形分割は部分的に行われている状態になっています。

重複頂点をマージ

オブジェクトの結合」は、重複頂点をまとめないため、マージ処理を行います。
形状編集モード + 頂点選択モードですべての頂点を選択し、
ツールボックスの「編集」-「メッシュ」-「結合/除去」-「隣接頂点の結合」を選択します。
ツールパラメータで「距離」を0.1などの小さい値にして「結合」ボタンを押します。

これで、重複頂点はマージされました。

以上で、極力元の面の構造を保ったまま窪みをつけることができました。

この記事のURLとタイトルをコピーする
Translate »