執筆者:廣瀬
映像業界を経てモノリスソフトへ入社。 以来、テクニカルアーティストとして主にエフェクト関連の業務を担当。 好きな食べものはソフトクリーム。
TECH BLOG
こんにちは。モノリスソフト テクニカルアーティストの廣瀬です。
Houdiniには位置 (ポジション) に対して操作を行うノードが多数あります。
今回はそれらのノードを少し視点を変えて、位置ではなく別の情報 (UVなど) を元に使用してみようと思います。
サンプルファイル(monolithtech_posnodes.zip 26.3 KB)はこちらです。
HoudiniにはVoronoi Fractureというノードがあります。
よくある使用例として、破壊などのシミュレーションを行う際に元となる破片を作成するのに使われたりします。
こんな感じです。
今回はUVに沿ってモデルを格子状に切断してみようと思います。
まずはPoint SplitノードでUVの島に沿ってモデルを切断します。
さらに、VertexにあるUVをPointにプロモートします。
次にAttribute Swapノードで位置とUVのアトリビュートを入れ替えます。
3D空間でモデルがUVビューの様に表示されます。
この状態でVoronoi Fractureを行います。
再びAttribute Swapノードで入れ替えていた位置とUVのアトリビュートを元に戻します。
すると、UV空間で切断されたモデルが出来上がります。
今度はBooleanを使わずにモデルに球状の穴をあけてみます。
まずはScatterノードで球状にくり抜く中心となるポイントを作成します。
次にAttribute WrangleノードでScatterノードで作成したポイントまでの最短距離のアトリビュートを作成します。
Attribute Swapノードで位置とAttribute Wrangleノードで作成したアトリビュートを入れ替えます。
ClipノードでZ軸に対して適当にメッシュを削除します。
再びAttribute Swapノードで入れ替えていた位置とAttribute Wrangleノードで作成したアトリビュートを元に戻します。
すると、球状の穴が開いたモデルが出来上がります。
いかがだったでしょうか。今まで使用してきたノードも違った視点で見てみると思いもよらなかった使い方が出来たりします。
距離での切断は、Booleanを使うよりも高速で安定してモデルのくり抜きをできたりします。
この記事が新しい手法の発見につながれば幸いです。
執筆者:廣瀬
映像業界を経てモノリスソフトへ入社。 以来、テクニカルアーティストとして主にエフェクト関連の業務を担当。 好きな食べものはソフトクリーム。