FBX を単一ファイルではなく、連番ファイルで出力する方法を紹介する。ここでは、以下に説明する通り、PDG を使う。
- Houdini 18.5.696 (PDG が入った 17.5 以降であればどれでも使えるはず)
1. 元シーンの作成
- Create シェルフの Torus ツールを Ctrl キーを押しながらクリックする。
- ネットワークエディタに出来た torus_object1 をダブルクリックして中に入る。
- そこにある torus1 の出力に Transform ノード (transform1) を追加
- Translate X に cos($FF * 10)*2
- Translate Z に sin($FF * 10)*2
- 上記の式の $FF はフレーム番号を実数で取っている ($F とすると整数になり、チャネルデータに対しては望ましくない)。 10 を変更すればスピードが変わり、2を変えれば軌道の半径が変わる。
- translate1 の出力に Null ノードを追加、名前を OUT と変更し、このノードに表示フラグを付ける。
- タイムラインの最終フレームを 240 フレームから 10 フレームぐらいに短くしておく。
2. ROP の作成
- /out に行き、Filmbox FBX ノード (filmboxfbx1) を作成。
- Export の /obj となっているところを Operator Chooser ('+' みたいな) ボタンをクリックして /obj/torus_object1 に変更。
3. TOP の作成
チマチマとした手作業を PDG の ROP Fetch ノードを使って自動化する。基本的な考え方は、開始フレーム (Start) と終了フレーム (End) とファイル名に含めるフレーム番号をすべて同期させ、それを繰り返す。
- /tasks に行き、そこにある topnet1 の中に入る。
- そこには localscheduler があるはず。
- ここに ROP Fetch ノード (ropfetch1) を作成。
- ROP Path に /out/filmboxfbx1 を指定。
- Evaluate Using を Single から Frame Range に変更。
- /out/filmbox1 に戻り、
- ネットワークエディタで /task/topnet1 に戻り、ropfetch1 で RMB-> Cook Selected Node を実行。
4. ROP Fetch および FBX ROP 設定時の注意
- Filmbox FBX ROP に指定した @pdg_frame は PDG のアトリビュートの一つ。ここに主なもののリストがある。
- 今回、ROP Fetch ノードにある All Frames in One Batch オプションをオンにしていないので、各処理の実行により時間がかかる。オンにすると、 @pdg_frame は1のままになるので、残念ながら、使えない。
- @pdg_frame の代りに @pdg_index を使うと、0 から始まる。
- Local Scheduler の代りに、HQueue やその他のスケジューラを使い、ファームと Houdini Engine のライセンスがあれば、処理時間をさらに短縮できる。
- @pdg_frame によるフレーム番号の桁数を例えば3桁に揃えるには、$HIP/fbx/out_`@pdg_frame:3`.fbx とする。
シーンファイルおよびリンク
- シーンファイル: h185_multi-fbx_pdg.zip (15KB)
- その他リンク
最終更新: 2021-09-13
0 件のコメント:
コメントを投稿