Houdini

PDGでHoudiniからMayaのモデルを書き出す

はじめに

こんにちは。モノリスソフト テクニカルアーティストの廣瀬です。
今回はPDGでHoudiniからMayaのモデルをAlembicで書き出す作業を自動化してみたいと思います。
サンプルファイル(monolithtech_alembic.zip 28.4KB)はそのまま使えますので作業の効率化に活用してみてください。

サンプルファイル

実行

今回は例としてMayaのExamplesファイルのこちらのモデルを書き出してみます。

tech_01_02.jpg

  1. サンプルファイルをダウンロードし、alembic.hipを適当な場所に配置します。
  2. alembic.hipを開きます。

    tech_01_03.jpg

  3. export_alembicノードをダブルクリックして中に入りCTRLノードを選択します。
    mapyapy PathをインストールされているMayaバージョンのmayapyに書き換えます。(プロジェクトで専用のmayapyが用意されている場合はそちらに書き換えます。)
    Maya Scene File書き出したいMayaシーンファイルのパスに書き換えます。
    Export NodesをMayaシーンファイルの書き出したいノード名に書き換えます。

    tech_01_04.jpg

  4. Network Viewの左上にあるCook the output node's work itemsをクリックします。

    tech_01_05.jpg

  5. PDGの処理が走り始めます。

    tech_01_06.jpg

  6. 処理終了後にgeo1ノードのディスプレイフラグをたてると書き出したAlembicファイルの中身が表示されます。

    tech_01_07.jpg

解説

export_alembicノードの中に入ります。ノードの中はTOPネットワークになります。

TOPネットワークでは、Task Graph Tableを表示しておくとアトリビュートなど様々な情報を見ることができて便利です。

tech_01_08.jpg

  • create_mayapyenv1
    mayapyの環境変数を設定しています。
    この環境変数は後のmayaserver_begin1ノードで参照されています。

    tech_01_09.jpg

  • create_attrib1
    Alembicの書き出しオブションをアトリビュートとして設定しています。

    tech_01_10.jpg

  • split_attrib1
    create_attrib1で設定したアトリビュートを文字列から文字列のリストに変換しています。

    tech_01_11.jpg

  • clear_alembicarchivecache1
    Houdiniで既存のAlembicファイルが読み込まれている場合、Alembicファイルの内部キャッシュをクリアします。
    キャッシュはScene ViewやGeometry SpreadsheetでAlembicファイルのデータが表示されていない時にクリアされます。
    このキャッシュがクリアされていないと既存のAlembicファイルへ上書きできずにエラーになる場合があります。

    tech_01_12.jpg

  • mayaserver_begin1/mayaserver_end1
    このブロック内でCommand Sendノードを使うとcreate_mayapyenv1で設定したmayapyに対して操作を行うことができます。

    tech_01_13.jpg

  • open_file1
    mayapyにMayaシーンファイルを開く命令を送ります。

    tech_01_14.jpg

  • export_alembic1
    mayapyにAlembicファイルを書き出す命令を送ります。

    tech_01_15.jpg

最後に

いかがだったでしょうか。
PDGを使うことでMayaのシーンファイルのモデルをMayaを立ち上げずにHoudini内に読み込めるようになりました。
今回はスタティックメッシュを使いましたが、アニメーション入りのメッシュも同様に書き出すことが可能です。

このように面倒な作業をボタン1つで終わらせることも可能になりますので、ぜひ皆さんもPDGを触ってみてください!

AUTHOR:廣瀬

映像業界を経てモノリスソフトへ入社。 以来、テクニカルアーティストとして主にエフェクト関連の業務を担当。 好きな食べものはソフトクリーム。