別の座標系でノードを使ってみる

INDEX

はじめに

こんにちは。モノリスソフト テクニカルアーティストの廣瀬です。
Houdiniには位置 (ポジション) に対して操作を行うノードが多数あります。
今回はそれらのノードを少し視点を変えて、位置ではなく別の情報 (UVなど) を元に使用してみようと思います。

サンプルファイル(monolithtech_posnodes.zip 26.3 KB)はこちらです。

DOWNLOAD

UVでの切断

HoudiniにはVoronoi Fractureというノードがあります。
よくある使用例として、破壊などのシミュレーションを行う際に元となる破片を作成するのに使われたりします。
こんな感じです。

tech_28_02.png

今回はUVに沿ってモデルを格子状に切断してみようと思います。

tech_28_03_07.png

まずはPoint SplitノードでUVの島に沿ってモデルを切断します。
さらに、VertexにあるUVをPointにプロモートします。

tech_28_04.png

次にAttribute Swapノードで位置とUVのアトリビュートを入れ替えます。
3D空間でモデルがUVビューの様に表示されます。

tech_28_05.png

この状態でVoronoi Fractureを行います。

tech_28_06.png

再びAttribute Swapノードで入れ替えていた位置とUVのアトリビュートを元に戻します。
すると、UV空間で切断されたモデルが出来上がります。

tech_28_03_07.png

距離での切断

今度はBooleanを使わずにモデルに球状の穴をあけてみます。

tech_28_08_13.png

まずはScatterノードで球状にくり抜く中心となるポイントを作成します。

tech_28_09.png

次にAttribute WrangleノードでScatterノードで作成したポイントまでの最短距離のアトリビュートを作成します。

tech_28_10.png

Attribute Swapノードで位置とAttribute Wrangleノードで作成したアトリビュートを入れ替えます。

tech_28_11.png

ClipノードでZ軸に対して適当にメッシュを削除します。

tech_28_12.png

再びAttribute Swapノードで入れ替えていた位置とAttribute Wrangleノードで作成したアトリビュートを元に戻します。
すると、球状の穴が開いたモデルが出来上がります。

tech_28_08_13.png

まとめ

いかがだったでしょうか。今まで使用してきたノードも違った視点で見てみると思いもよらなかった使い方が出来たりします。
距離での切断は、Booleanを使うよりも高速で安定してモデルのくり抜きをできたりします。
この記事が新しい手法の発見につながれば幸いです。

執筆者:廣瀬

映像業界を経てモノリスソフトへ入社。 以来、テクニカルアーティストとして主にエフェクト関連の業務を担当。 好きな食べものはソフトクリーム。

ABOUT

モノリスソフト開発スタッフが日々取り組んでいる技術研究やノウハウをご紹介

RECRUIT採用情報