2021-07-23

Skinning Converter


ここでは SideFX Labs の Skinning Conveter について説明する。Skinning Converter により、ソフトボディなど、ポリゴン数が変わらないデフォメーションをボーンとスキン形状で FBX で出力し、ゲームエンジンなどのリアルタイム環境に出力できる。


使用したビルド:

  • Houdini18.5.640
シーンファイルへのリンクは一番下にあり。
  1. 二つの Skinning Converter
  2. 元になるシーン
  3. Dem Bones Skinning Converter
  4. 出力ファイルの確認
  5. Labs Skinning Converter
  6. ボーンとスキンで FBX 出力

1. 二つの Skinning Converter

Skinning Converter 機能を使うには、SideFX Labs のインストールが必要。Houdini インストール時に同時にインストールし、Update Tools でツール更新。

    SideFX Labs のインストールをコマンドラインで実行したい場合はこちら

インストールが正しく完了すれば、

  • Labs Dem Bones Skinning Converter
  • Labs Skinning Converter
の二つが SOP コンテクストで使用できるようになる。

2. 元になるシーン

最初の例として VAT3 Cloth で使用したシーンを使用する。

    開始点は /obj/geo1_cloth/OUT ノード。

3. Dem Bones Skinning Converter

Dem Bones Skinning Converter は、Electronic Arts 社の技術を基にしたツール。

ネットワークエディタで /obj/geo1_cloth に行き、

  1. TAB キーから Labs Dem Bones Skinning Converter ノード (dembones_skinningconverter1) を作成、 OUT の出力に接続する。
  2. dembones_skinningconverter1 ノード選択し、パラメータを表示する。

    今回のような単純なシーン設定であれば、デフォルトのパラメータ設定で問題ない。
  3. 再生ボタンを押したり、タイムラインをスクラブすれば、変換結果を再生できる。
  4. 一番上の Convert and Export ボタンをクリックすれば、その下のパスの通りに FBX ファイルが出力される。

4. 出力ファイルの確認

ここでは Labs FBX Archive Import を使って 出力した FBX ファイルを確認する。

  1. 一つ上の /obj に戻り Geometry ノード (geo2) を作成、中に入って、Labs FBX Archive Import ノード (fbx_archive_import1) を作成。
  2. FBX File に出力したファイルを指定し、デフォルトでオンになっているトグルに加え、
    • Import Animation
    • Import Bones and Skinning
    をオンにして、Reload Geometry ボタンをクリック。
  3. fbx_archive_import1 の出力に UV Quick Shade ノードを追加し、表示フラグをこのノードに指定して、再生すれば、クロスシミュレーションがボーンアニメーションに変換されていることがわかる。

出力した FBX を Maya に持っていくとボーンの様子が分かり易いかもしれない。

逆に言うと、このノードは非常にお手軽でなおかつ単純形状に対しては質の高い変換を行うが、データの可視化機能などがなく、また1枚のクロスのように単体ジオメトリに対してのみ有効で、複数のメッシュ、例えば複数の風船などには対応できない。

5. Labs Skinning Converter

次に SideFX 開発の Labs Skinning Converter を説明する。現行のバージョンは 3.0。ノードのバージョンを知るには Asset Bar を使う。

ネットワークエディタで /obj/geo1_cloth に行き、

  1. TAB キーから Labs Skinning Converter ノード (skinningconverter1) を作成、 OUT の出力に接続する。

    ここで skinningconverter1 ノード (V3.0) には出力が3つあることに留意。これはつまり、V3 は KineFX のスケルトンで内部処理をしている。よって、他の KineFX ノードとの併用も可能。
  2. Asset Bar で 2.0 にすると、ノードの出力は一つになることがわかる。


    V2、それ以前、そして基本的なノードの説明はこちらを参照 (BORN DIGITAL サポート: Houdini Game Dev Tools:Skinning Converterでボーンアニメーションに変換しよう)。
  3. skinning_converter1 を Alt+ドラッグしてノードを複製、skinning_converter2 を作って、バージョン3に戻す。
      しかし、skinning_converter2 に表示フラグを指定して再生ボタンを押しても、デフォメーションは起きない。
  4. Bone Deform ノード (bonedeform1) 作成し、 skinning_converter2 (V3) に接続。この際3つすべて結線する。
  5. bonedeform1 に表示フラグを指定し再生すれば、変換結果がビューポートに表示される。
  6. この例では、bonedeform1 で追加設定すべきことはほぼ何もない。ただし、より複雑な例を使う場合は、Skinning Method を変更することが考えられる。
    • Linear
    • Dual Quarternion
    • Blend Dual Quarternion and Linear
        一つ下の Blend Attribute にアトリビュートをポップアップリストから指定してブレンド値を定義する。ペイントするアトリビュートを定義してペイントでブレンドを指定することも可能。
    • From Input Geometry
        一番目 (左) の入力に Detail アトリビュートとして deformSkinMethod を定義し、引数として linear、 dualquat、blenddualquat のいずれかを指定するとそれが使われる。

6. ボーンとスキンで FBX 出力

ボーンとスキンによる FBX としてファイル出力するには、 ROP FBX Character Output ノードを使う。

  1. ROP FBX Character Output ノード (rop_fbxcharacteroutput1) を作成。 skinning_converter2 の出力に接続。この際3つすべて結線する。
  2. rop_fbxcharacteroutput1 では以下の設定を行う。
    • Clip Range を Render Frame Range
    • Output File を適切に変更
    • Skinning Method は Bone Deform ノード Skinnge Method と同じ。
    あとは好みに応じて Converts Units や Save as Binary を有効にしたり無効にしたりしてSave to Disk をクリック。
  3. 出力したファイルを Maya で読み込むと以下のようになる。

リンク


最終更新: 2024-04-03

0 件のコメント:

コメントを投稿