3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RBD Vertex Animation Texture(2.1)をUnityで試す

Last updated at Posted at 2021-10-20

building2_e.gif

はじめに

破壊シミュレーションをVertex Animation Textureで書き出してUnityで実行してみました。
現在最新のVAT3.0が提供されていますが、Unity2021.2bが(2021/10 現在)betaのこともあり
Unity2021.1.20f1のVAT2.1で試しました。

  • Windows PC
  • Unity 2021.1.20f1
  • HDRP 11.0
  • Houdini 18.5

Houdiniでの作業

シミュレーション作成

RBDの破壊シミュレーションをVATで出力します。
ベースはこちらのチュートリアルを参考に構築しました。

img_1_1.png

VAT2.1出力準備

SideFX Labsのインストール

マニュアル通り、SideFX Labs シェルフから行えました。

img_1_2.png
img_1_3.png

また最新版では標準だとVAT3.0出力になっており、
VAT2.1での出力方法がわからずSideFX LabsのGitHubから過去バージョンを漁ってたりしていたのですが
どうやらオプションで旧バージョンに切替できることに気づきました。

「Assets」→「AssetManager」で「Asset Bar」で以下選択します。
image.png

バージョンを選択できるようになりました。
image.png
参考 - サルにもわかる Houdini - asset bar

VAT2.1出力

レンダーノードネットワークで「Labs Vertex Animation Textures」ノードを作成します。

主な設定項目はこのあたりかと思います

  • 「User Interface」のセレクトボックスでNormalのほうを選択
  • 「Engine」Unityを選択し、「Initialize for Engine」ボタンを押下
  • 「Method」今回はRBDなのでRigidを選択
  • 「SOP Path」 出力対象のオブジェクトを選択
  • 「Start/End」出力Frameの調整
  • 「Target Texture Size」テスクチャの横のサイズ。詳細はこちら参照
  • 「Paths」出力先のフォルダを指定します。

image.png

以上で「Render」を実行することで

  • materials
  • meshes
  • textures

が生成されるのでUnityに持って行って作業しますが
Houdiniの用意したローカルのパッケージを利用して作業していくことになります。

Unityに移動する前に「Labs Vertex Animation Textures」ノードの
パラメータ下部の「Sample Shader Code」からunityのpackageのパスをコピーしておきます。
image.png

Unityでの作業

パッケージのインストール

「PackageManager」から先ほどコピーしたパスを指定するとインストールされます。
img_2_1.png

なお、パッケージのフォルダ名はURPとなってますがHDRPでも動作しました。

image.png

オブジェクトの設定

image.png
生成されたフォルダをProject内にコピーします

テスクチャの設定変更

positionとrotationの2枚のテクスチャの設定を同じように変更します。

  • sRGBのチェックをはずす
  • Non-Power of 2をNone
  • Generate Mip Mapsのチェックをはずす
  • 今回はPC向けに出力するので項目内のFormatを「RGBA Half」を指定

image.png

マテリアルのアタッチ

meshをシーンのHierarchyに配置し、Houdiniから生成されたマテリアルに置き換えます。
image.png
またPositionMap、RotationMapにそれぞれ適用します。

以上で再生するとアニメーションが実行されるかと思います。

シェーダのカスタマイズ

再生をコントロールできるよう少しだけシェーダをカスタマイズします。
元のシェーダー「Packages/SideFX Vertex Animation Textures/Editor/Shaders/VAT_Rigid_SG」をコピーしてつくります。
image.png

  • Timeline(float)は0-1のSlider
  • EndTime(float)は再生総時間を指定します。(少し誤差があったので実際の時間からずらしています)

image.png
とりあえずこれでTimelineをスライドすることでアニメーションが1ループするようになりました。

参考

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?