BLOGブログ

2021.07.28UE5UE4/ Effect

[UE5] 簡単になったVAT(Vertex Animation Texture)で破壊してみよう

執筆バージョン: Unreal Engine 5.0 EarlyAcces

アーティストの天見です。

今回はHoudiniのアップデートでUnreal EngineでVertex Animation Textureを使う手順がとてもシンプルになったので使ってみたいと思います。

  • Vertex Animation Textureとは

頂点の位置、回転の動きを記録したテクスチャです。
これを読み込むことでシミュレーションをUnreal Engineなどのゲームエンジン上で低負荷で再生することができます。

  • まずはHoudiniで元となるシュミレーションの作成


Unreal EngineからExportしたFBXファイルを読み込みます。

  • Unreal Engineから書き出したFBXは透明で表示されないことがあるので
    AlphaとCdのアトリビュートを削除しておきます。


  • VOPでvelocityを上向きに追加してDOP内でシュミレーションします。


勢いよく壊せました。

  • Dop Importで地面以外を読み込み完成


これで下準備はOKです

  • Networkをobjからoutに移動してLabs Vertex Animation Textureを作成


Input Geometry 作成したOUT_DOPを選択
Mode/Target Engine はRigidのまま

  • Exportタブ

Include なにを書き出すかを選択します
Geometry,Position(s)、Rotationを選択

  • RenderAllで書き出します


FBXが1つとテクスチャが2つ作成されます

  • Real Time Shadersタブ

Unreal Engine Content Plugin and Guidesを押すとPluginsの入っているフォルダが表示されるので
Unreal Engineのバージョンと同じフォルダをコピー
プロジェクトにPluginsフォルダを作成しそこに入れます


プラグインのあるフォルダが表示されるので
プロジェクトと同じバージョンのフォルダをコピーして

プロジェクトにPluginsのフォルダを作成して

その中にコピー

Houdini側での作業はこれで完了

 

  • UnrealEngine起動
    プラグインはフォルダを作成するだけでデフォルトでオンになっています。
  • 作成したFBXインポート
    設定は下記画像の通り

  • テクスチャもインポート

2枚とも選択して右クリック
Script Asset Actions>Side FX Set VAT HDR Textures

  • マテリアル作成

新規にマテリアルをつくり
SideFX_Labs ContentのマテリアルファンクションのMF_VAT_RigidBodyDynamicsをドロップ

WorldPositionつなぎ
Num Customized UVs 5に変更
1-4のCustomedUVつなぐ

  • マテリアルインスタンス作成

Position Texture
Rotate Texture
にそれぞれ作成したテクスチャを割り当て

Houdini FPSをHoudiniでのシュミレーション時のFPSと同じに変更

 

  • これをメッシュに割り当てるとシュミレーションが再生され完成です

注意点として、現在かなりの確率で最初は破片の回転がとびとびのおかしな動きで表示されますが
UnrealEngineを再起動すると正常に表示されるようになります

是非お試しください!