この記事はHoudiniアドベントカレンダー2023 1日目の記事です。
よろしくお願いします。
本記事は、表題の通り 【Houdini x Unity】Rayfire for Unity へのエクスポートについて
の簡単な説明になります。
【Houdini x Unity】の資料自体が少なく、更にサードパーティのアセットとの連携となると資料もほぼ皆無なので、備忘録も兼ねての投稿となります。
Rigid body dynamicsとは
- 略称は RBD。3DCGにおいては一般的には「硬い固体の物理シミュレーション(ビルやドアの破壊・落石・金属の鎖の揺れ等)」のことを指します。
- また、破壊表現だけではなく、固体の物理シミュレーションする要素全般の事をRBDと呼びます。
RBD in Real Time VFX
- リアルタイムの方がプリレンダーよりも制約が多いので、プリレンダーで行うような破壊表現をリアルタイムで行うには様々なツール開発や検証が必要になりがちです。
- また、プリレンダーでの破壊表現の仕事をしたことのないリアルタイムのアーティストに破壊表現周りを教えるのも極めて大変です。
- そのため、あらゆる面においてコストを削減できる手法・ツールがあるのならそれに越したことはありません。
今回ご紹介する「RayFire」はVFX業界で長年第一線で活躍しているツールです。私自身もかつて3dsMaxを使用していた際に、この信頼性の高いツールをよく活用していました。RayFireは上記コスト削減などの要件を満たし、実務での利用にも十分対応できる優れたツールです。今回は「RayFire for Unity」をHoudiniと連携する際の手法について簡潔にご説明します。
Rayfire for Unity
- Unity版の雑感としてはツールの実績通り破壊周りで欲しい機能は一通り揃っている印象です。
流石に元は老舗のプリレンダーの破壊ツールだけあって、【事前にカットしたモデルをアクティベーターとの接触に応じてsimのオンオフを制御し、更に断面から小石用のパーティクルを発生させる】
等の、破壊周りでデザイナーがコントロールしたい項目は一通り扱えるようになっています。
詳細は下記公式サイトのリンクをご確認ください。
公式サイトのLink
Rayfire for UnityへのHoudiniのエクスポート設定
本題となります。
- 基本的にはROPの
RBD to FBX
ノードでの書き出しで問題ありません。 - Pack等の設定も
RBD to FBX
で普段設定するようなアトリビュート構成で問題ありません。 -
RBD to FBX
を使う際の各種設定に関しましては私が以前Unity道場で登壇した資料が公式のLearning Materialsに掲載されておりますので、一例として必要に応じて参考にして頂ければと存じます。Link
注意事項・その他
- HoudiniからUnity向けにメッシュをエクスポートする際、基本的に「Convert Units」のチェックは入れた方が良いのですが、そうすると該当メッシュのPositionやNormal Vectorを参照した際に思ったような結果にならない事があります。
- そういった場合は「Convert Units」のチェックを外し、エクスポート前に必要な倍数だけメッシュを伸縮させるかUnity内でスケールを変換することをお奨め致します。
また、本旨から外れるので記述しませんでしたが、Rayfire for Unity自体の検証内容に関しては私のArtStationの方に投稿してあります。必要に応じてご確認頂ければ幸いです。
おわりに
如何だったでしょうか?
冒頭でも述べた通り【Houdini x Unity】の資料自体が少なく、更にサードパーティのアセットとの連携となると資料もほぼ皆無なので、備忘録も兼ねて記事を執筆いたしました。
少しでも皆様のお役に立てたのなら幸いです。
最後までお目通し頂きありがとうございました。