Vertex Animation Texture Pyro

Texture Based Animation による Pyro メッシュ の Unreal での再生方法を紹介する。

使用したソフトウェア

  • Houdini 16.0.457 (要 Houdini 16.0)
  • Unreal 4.14.1 (要 4.14 以降)

1. ファイルのダウンロード

  1. こちらのページを参照。

2. Pyro シーンの作成

  1. 新しいシーンで Create シェルフの Torus を Ctrl キーを押しながらクリック (Sphere でも Box でも何でも良い)。
      torus_object1 が原点に出来る。
  2. torus_object1 を選択したまま、Pyro FX シェルフの Flames を実行。
  3. /obj/pyro_import に移り、import_pyrofields の出力に Iso Offset を接続する。
    • Output Type を Iso Surface に
    • Mode を Volume Sample に
    以下は好みで
    • Offset を 5
    • Uniform Sampling を By Size
    • Div Size を 0.2 ぐらい
  4. isooffset1 の出力に、Normal SOP を作成して接続。
      法線情報がないと Unreal でうまく表示されない。

    最初の120フレーム
  5. normal1 の出力に、Null ノードを接続、OUT と名前をつけて後ほどわかり易いようにする。
ここまでの設定をテクスチャアニメーションとして出力する。

3. テクスチャによるシミュレーションの出力

  1. シーンを保存して $HIP の位置を確定する。これによりテクスチャの出力先が決まる。
      ここでは t3_pyro.hip とする。
  2. /out 以下に行くか、ROP Network ノードを作成しその中に入り、TAB -> Vertex Animation Texture ノードを作成。
      vertex_animation_textures1 ノードが出来る。
  3. vertex_animation_textures1 ノードで、
    1. Method を "Fluid (Changing Topology)" に
    2. Export Node を /obj/pyro_import/OUT に
    3. 出力したいテクスチャ解像度、パスなどを変更しても良い。ここではデフォルトのまま。
  4. Render ボタンをクリックして出力を行なう。
  5. Render->Mplay->Load Disk Files... を実行、$HIP 以下の export/ ディレクトリに行けば、
    • t3_pyro_mesh.fbx (MPlay のブラウザでは表示されない)
    • t3_pyro_norm.exr
    • t3_pyro_pos.exr
    の3つのファイルが出力されている。

4. Unreal でのテクスチャアニメーションの読み込み

読み込むファイルの位置などはこちらを参照のこと。

  1. Unreal 4.14.1 を起動。Browse ボタンをクリック、上で解凍した SideFXSamples.uproject を開く。
  2. こちらで作成した MyFiles 以下で Import ボタンをクリック。開いたブラウザで上で作成した t3_pyro_mesh.fbx、t3_pyro_norm.exr、t3_pyro_pos.exr、をまとめて選択し、まとめてインポートする。
    • FBX Import Options パネルが表示された場合には、一番下の Import All ボタンを押して次に進む。
    • メッセージログパネルは閉じるだけでよい。
    • コンテンツブラウザにファイルが3つインポートされた。
  3. インポートされたファイルのある部分で RMB->Materials&Textures->Material Instance を実行。出来たマテリアルの名前を t3_pyro とする。
  4. t3_pyro をダブルクリックして、マテリアルを開き、Details 以下の Parent の部分、None となっているところをクリックし、ポップアップメニューを表示、Browse のテキストフィールドに "fluid" などと入力して、M_FluidVertexAnimation を選択。
  5. normal_texture と position_texture のトグルをそれぞれオンにして、
    • normal_texture には、t3_pyro_norm
    • position_texture には、t3_pyro_pos
    を指定。
  6. 少し下にスクロールして、
    • num_frames をオンにし、値を119とする。
    • Color をオンにし、オレンジ色にする。
  7. Save アイコンをクリックして保存。パネルを閉じる。
  8. コンテンツブラウザで、t3_pyro_mesh を見つけ、ダブルクリックして、パネルを開く。
  9. Materials 以下 Element0 の右側の WroldGridMaterialとなっているところをクリックしてメニューを開き、t3_pyro マテリアルを指定。
  10. さらに下に少しスクロールして、Apply Changes ボタンをクリック。パネルを閉じる。
  11. コンテンツブラウザから t3_pyro をビューポートにドラッグ&ドロップ。
これで、バーテックスアニメーションテクスチャによるシミュレーションが出来た。

0 件のコメント:

コメントを投稿