2021-07-18

VAT3 Cloth

ここでは Vertex Animation Texture 3 での Cloth の例を紹介する。


使用したビルド:

  • Houdini Core 18.5.640 (617 以降が必須)
シーンファイルへのリンクは一番下にあり。

1. インストール

こちらを参照。

2. 元になる Cloth シミュレーションの作成

  1. Houini Core を起動、ビューポート にカーソルを配置、TAB キーを押して Test Geometry: Pig Head (testgeometry_pighead_object1) を作成。
  2. ネットワークエディタで Geometry ノード (/obj/geo1) を作成。中に入る。
  3. geo1 内で Planar Patch ノード (planarpatch1) を作成。
    • Build Plane を ZX Plane に
    • Size を 5x5 ぐらいにする (pig head に包み込めるくらいの大きさ)。
    なぜ Planar Patch を使い、Grid を使わないのかは、こちらを参照。
  4. planarpatch1 に UV Texture ノードを (uvtexture1) 接続。
    • Scale X の値を -1 にしてテクスチャの反転を防ぐ。
    • UV Quick Shade ノードを接続してテクスチャの様子を確認すると良い。
  5. 'u' キーを押して、geo1 内から一つ上に上がり、geo1 の TY を 2 ぐらいに設定、布になるメッシュが pig head の上に来るようにする。
  6. geo1 を選択、Simple FX シェルフから Simple Cloth ツールを実行。
    • "Select collision object, if any, and press Enter to complete" とビューポート下部に表示されるので、pig head を選択して Enter キーを押して確定。

        再生すれば以下の通り布が pigh head を包むようになる (上記画像は 31 フレーム目)。
    • シミュレーションの様子を見て、メッシュ分割が細かすぎると思うのであれば、 /obj/geo1/planarpatch1 に戻り、 Edge Length 値を調整する (デフォルトは 0.1) 。
    • タイムラインの長さも 240 フレームから 120 にする。
    • /obj/geo1_cloth の最下流 cloth_postprocess の下に Null ノードを追加、OUT と名付け、表示フラグをこのノードに移す。
    • シーンファイルを VAT を出力しやすいディレクトリに保存する (ここでは vat_cloth_core.hip) 。

    3. VAT ROP による出力

    1. /out に移動し、Labs Vertex Animation Texture ノード (vertex_animation_textures1) を作成。
      • Labs ノードを使うには SideFX Labs のインストールが必要。
      • 作成した VAT ノードが 3.0 であるかどうか、どこにある HDA がロードされているかを確認するは Asset Bar を表示すると便利。
    2. 次に設定を変更していく。
      • 一番上の Render All ボタン直下の Mode / Target Engine で、Mode は Soft-Body Deformation (Soft) に変更する。 Target Engine は Unreal Engine (のまま)。
      • Start/End は 1 と 120 のまま。
      • Input Geometry にシミュレーションジオメトリを指定する。ここでは上で設定した /obj/geo1_cloth/OUT 。
      • Export タブの Include を Geometry, Position(s), Rotation に変更 。
    3. Render All ボタンをクリックして出力。すると、 export/vat_cloth_core ディレクトリに以下のファイルが出力される (はず)。
      • geo/vertex_animation_textures1_mesh.fbx
      • tex/vertex_animation_textures1_pos.exr
      • tex/vertex_animation_textures1_rot.exr
      出力ファイル名のうち、'vertex_animation_textures1' 部分の変更は Export タブの Asset Name を $OS から別のもの (例: $HIPNAME など) に変更しても良い。
    このファイル三つを UE4.26 に持ち込む。

    3. UE での読み込み

    1. デフォルトの画面設定であれば中央下部分にある Content Browser に以下のテクスチャをドラッグ & ドロップ。
      • tex/vertex_animation_textures1_pos.exr
      • tex/vertex_animation_textures1_rot.exr
    2. 読み込んだ両方のテクスチャを選択、RMB -> Scripted Action ->SideFX Set VAT HDR Textures を実行。

        これにより、テクスチャに正しい設定が行われる。VAT 出力時に HDR でない方法で出力した場合は、Non HDR の方を選択。
        このメニューが表示されない場合は、プラグイン (SideFX Labs フォルダ) が正しくインストールされていない。こちらを再度確認。
    3. 次に geo/vertex_animation_textures1_mesh.fbx を Content Browser にドラッグ & ドロップ。
        すると FBX 読み込みの用のダイアログが表示される。ここでの設定は、VAT Import Settings Guide.txt の通りに行う。
        なお、以下に指定のない設定はすべてオフ
      • Vertex Color Import Options: Replace
      • Transform Vertex to Absolute: オン (この上のトグルはすべてオフ)
      • Normal Import Method: Import Normals and Tangents
      • Import Uniform Scale: 1.0
      • Convert Scene: オン (この下のトグル二つはオフ)
      • Material Import Method: Do Not Create Material
      • Reorder Material to Fbx Order: オン
    4. Content Browser 上で右クリック、表示されるメニューから Material を選択してマテリアルを作成。
    5. 名前を M_VAT_CLOTH とし、ダブルクリックして中に入る (名前は自分でわかれば何でも良い)。
        M_VAT_CLOTH 内には、M_VAT_CLOTH という名のノードがひとつある。
    6. TAB キーを押して、'vat' と入力していくと、選択肢が以下のように表示される。
    7. このうち MF_VAT_SoftBodyDeformation を選択する。
        このように MF_VAT_Rigid などが表示される場合、それは古いマテリアル関数 (MF)。インストール 以下の b から最新のディレクトリをコピーする。
    8. MF_VAT_SoftBodyDeformation を左に M_VAT_CLOTH を右に並べ、以下のように接続していく。
      • Normal (Tangent Space Normal Off) を Normal に
      • World Position Offset を World Position Offset に
    9. M_VAT_CLOTH を選択し、Details ビューで 'tangent' を検索、Tangent Space Normal をオフにする。
    10. M_VAT_CLOTH を選択し、Details ビューで 'uv' を検索、Num Customized UVs を 5に設定する。
        これにより Customized UV[0-4]までが追加される。
    11. Customized UV1 から Customized UV4 までをすべて接続する。
    12. TAB メニューから SpriteTextureSampler (Source Texture) を呼び出し、マテリアル内に追加。
    13. Source Texture の SpriteTexture パラメータに好きなテクスチャを接続。
        ここでは 「A」というテクスチャを使っている。
    14. Source Texture の RGB を M_VAT_CLOTH の Base Color に接続。
    15. 終わったらパネルを閉じて保存。
    16. 再び RMB -> Materials & Textures -> Material Instance を実行し、マテリアルインスタンスを作成。vat_inst_cloth などと名付ける (自分でわかれば何でも良い)。
    17. vat_inst_cloth をダブルクリックして開く編集パネルの Details 以下で、Position Texture と Rotation Texture を有効にし、それぞれに vertex_animation_textures1_pos と vertex_animation_textures1_rot をドラッグ & ドロップ。

      終わったら閉じる。
    18. Content Browswer から ビューポートに vertex_animation_textures1_mesh_MESH (fbx) をドラッグ & ドロップし、そうしてできたメッシュに対して vat_inst_cloth マテリアルをドラッグ & ドロップ。
        上手くいった場合、このページ一番上のモーションGIF のように、ビューポートでは RBD シミュレーションの結果が再生されている(はず)。

    リンク


    最終更新: 2021-08-01

    0 件のコメント:

    コメントを投稿