actionScript書きの日記

アラフォーFlashデベロッパのブログ。actionscriptやobjective-cを経て、現在はUnity、Spine、AfterEffectsがメイン。

HoudiniでFlowMapやVectorFieldsを作成してUnityに持っていきたい

※一部自分の認識にずれがあったので、本文やタイトルを直しました。

前提

Unityでのエフェクト制作において、外部の3Dソフトとの連携がほぼ必須になりつつあると感じている。数年前まではテクスチャ画像を After EffectsSubstance Designer で作成してパーティクルで表示するのが主流だったが、その後ShaderGraphが普及してきたこともあって、3Dオブジェクトに表示したテクスチャをカスタムシェーダーで動かす作例が増え始めた。2020年に入ってから、そこから更に一歩踏み込んで、例えば3Dソフトで作成したFBXを読み込んでそこにテクスチャを表示するなどの動きが見られるようになり、そうこうしているうちに3Dソフトとの連携を含んだサンプルが散見されるようになってきた。おそらくはこの流れが今後も加速すると予想され、自分がエフェクト部分で仕事をしていこうと思ったらここを押さえないと未来がないだろうと考えている。よって、これからしばらく、自分が使用しているHoudiniとUnityの連携を探っていく。

HoudiniとUnityの連携は、主に以下の3パターンが挙げられるだろう。

  1. Houdiniで簡単なモデリングをし、それをUnityに持っていってカスタムシェーダーでエフェクト化する。
  2. Houdiniで3Dのエフェクトを作成し、それをエクスポートしてUnityに持っていく。
  3. HoudiniでFlowMapやVectorFieldsなど、モデリングプラスアルファの要素を作成し、それをUnityに持っていく。

1に関しては既に作例がいくつもあり、自分もいくつか作成してYoutubeなどに上げている。これは比較的難易度が低く、いままでのUnity上のエフェクト制作と地続きであると考えていいだろう。

問題は2と3で、これまでUnityでは扱う機会があまりなかった要素がいろいろと出てくる。まずはHoudiniでFlowmapを作成してUnityで表示するサンプルを2種、解析しながら自分でも制作をしていきたいと考えている。

 

ここまでの大きな流れ

最初にVectorFieldsという言葉を知ったのは以下の動画でだった。

youtu.be

この動画内で、爆発のエフェクトにVectorFieldsが使用されており、どうやらそれはHoudiniで作成されているらしい、という話が出た。

正直この段階では、VectorFieldsとは???というところで認識が止まっている状態だ。

その後、いろいろ調べてみると、Houdiniで炎や煙を作り、それをVectorFields込みで書き出す、という作成がいくつか見つかった。例えば以下。

youtu.be

残念ながら現状の自分の力ではこの動画の内容を理解することが出来ず、手元のHoudiniで再現できていない。

並行して、HoudiniでFlowmapなるものを作成してUnityに持っていくサンプルが見つかった。例えば以下。

youtu.be

これまた非常に高度な内容で、完全に自分の理解が及んでいるとは言い難い。ただ、どうやら画像素材としてのテクスチャ以外に、要素の動きを制御する画像を用意することが出来るらしい、ということは分かってきた。

上記の動画はかなり難易度が高いが、以下のものはもう少し理解しやすく組み立てられている。

www.sidefx.com

当面の学習目標として、Unity上でVectorFieldsとFlowmapを使用できるようになることを挙げておきたい。次の記事から、一つずつ進めていく。