メッシュオペレーションによるメタボール的な表現
https://www.youtube.com/watch?v=iMc6PvtZDPYM
今回はメッシュオペレーションを用いて、メタボール的な表現を行ってみます。
メタボールのように、メッシュが柔らかく結合したり離れたりの表現を行うには、ブロブを使うことが多いかと思います。このブロブはパーティクルの機能などと併用すると大変便利に使えますが、一つ一つのメッシュ同士に対してこのような表現を行うことはできません。
しかしメッシュオペレーションを用いると、サンプルのように、違う形状の二つのメッシュの間でメタボール的な表現が可能になります。
では実際にこのシーンを作ってみましょう。デフォルトの状態ではまだ何も設定していないのでプレビューで確認してみても、ただメッシュが二つ重なっているだけです。まずは設定を行っていく前に、組み合わせる二つのメッシュのポリゴンタイプを面へと変換しておきます。今回の方法では、まず面タイプのポリゴンとして組み合わせてから、最後にサブディビジョンサーフェイスへと切り替えます。
二つのメッシュを面へと変換したら、ベースとなる方のメッシュ、今回は立方体のCubeのほうに対してメッシュオペレーションを重ねていきます。立方体と球体を組み合わせるには、ブーリアンを使います。メッシュオペレーションリストのオペレータ追加 > 編集 > Booleanを追加します。駆動サーフェイスを球体、操作を和に設定し、二つをブーリアンで組み合わせます。この時点で球体のほうは非表示にしておきます。ブーリアンで編集したら、頂点が結合されていない場合が良くありますので、念のため頂点を結合しておきましょう。オペレータ追加 > 頂点 > Vertex Mergeを追加します。
このままではただ単に組み合わせただけですので、ここで形状がより滑らかなものとなるように、スムーズ化を行います。オペレータ追加 > デフォーム > Smoothを追加します。境界を固定オプションをオンにし、反復回数を調整してみましょう。そうすると、形状が一部破綻しているようにも見えますが、先ほどより全体が滑らかになっているのがわかります。
ここまで出来たら、最後にポリゴンを面からCatmull-Clarkへと変換します。オペレータ追加 > ポリゴン > Set Polygon Typeを追加し、タイプをCatmull-Clarkへと変換します。球体側を動かしてみると、ブーリアンで二つのメッシュを結合した後にスムーズをかけポリゴンタイプを変換していますので、重なり合う時や離れるときなどにメタボール的な表現が可能になっています。
どのような形状でも完全にうまくいくというわけではありませんが、最終的に形状を調整するときには、頂点を結合する際の距離や、スムーズの強さなどを調整すると、比較的破綻のない形状が作れるようになるかと思います。