Hython (Houdini Python) を使ったキャッシュファイルの出力方法についてまとめました。
海外など遠いところにいる人が Houdini で作業をしていて、そのシミュレーションキャッシュなどを送るとなると、かなり巨大なファイルサイズを送る可能性が生じる。Houdiniを持たない人でも、安価な Houdini Engine のライセンスを用いることで、小さなシーンファイル (.hip) を送ってもらうだけで、コマンドライン処理によるキャッシュファイルの作成が可能。
ここでは、遠くにいる人(リモートアーティスト)と(本社の)スーパバイザの二つの職務に分けて、シーンファイルへの ROP ノードの追加、Hython による ROPノードの実行とファイル出力に関して説明する。
1. 送付する hip ファイルへの ROP ノード追加
リモートアーティストがシミュレーションシーンファイルに追加すべきことを、voronoi rbd で作成したシミュレーションを元に話を進める。
- ここにある voronoi_rbd_glue_switch.hip を開く。
- ネットワークエディタで /obj/testgeometry_rubbertoy_object1 内に入り、最下流の dopimport1 を見つける。
- dopimport1 の出力から ROP_Output Driver を作成。rop_geometry1 が出来る。
- rop_geometry1 ノードのパラメータは次の通り。
ここでは- Valid Frame Range を Render Frame Range に (デフォルトは Render Current Frame で現在のフレーム1フレームのみ)
- Start/End/Incのうち、End のエクスプレッションを RMB->Delete Channel で削除。値を24 (フレーム)に。
- Output File の .$F. となっているところを .$F3. としてフレーム番号を3桁にする。
- File->Save As… で別名で保存。例えば、voronoi_rop.hip などと名前を付ける。この場合、$HIP/geo/$HIPNAME.$OS.$F3.geo.sc は、よって変数が展開されれば、このファイル名は voronoi_rop.rop_geometry1.[001-024].bgeo.sc となる。
2. Hython でのコマンドライン処理
リモートアーティストから受け取った .hip ファイルを Hython (Houdini の Python) で処理してキャッシュファイルを生成する。これには、Houdini のライセンスでも良いが、安価な Houdini Engine のライセンスでも可能。Houdini Engine を使う場合でも、Houdini のフルインストールが必要。
- 上記の voronoi_rop.hip は C:\work に格納されたとする。
- Start->All Programs->Side Effects Software->Houdini 15.5.588->Utilities->Command Line Tools を実行。
- プロンプトに
cd c:\work
と入力、シーンファイルのあるディレクトリに移動。 - プロンプトに hython と入力する (Cygwin で実行する場合 hython -i)。
Python 2.7.5 (default, Oct 20 2015, 11:48:00) [MSC v.1900 64 bit (AMD64)] on win32 Houdini 15.5.588 hou module imported. Type "help", "copyright", "credits" or "license" for more information. >>>
と表示される。 - ファイルを開くには、
>>> hou.hipFile.load("voronoi_rop.hip")
- ROP ノードを選択、キャッシュを出力するには、
>>> rop_node = hou.node("/obj/testgeometry_rubbertoy_object1/rop_geometry1") >>> rop_node.render()
でキャッシュファイルが出力される。 - 例えば、最終フレームを 24 フレームから 48フレームに変更するには、
>>> p = render_node.parm("f2") >>> p.set (48) >>> rop_node.render()
で今度は48フレーム分キャッシュファイルが出力される。 >>> exit()
で終了。- シェルのプロンプトに dir /b /d geo とすれば、ファイル名がリストされる。
c:\work>dir /b /d geo voronoi_rop.rop_geometry1.001.bgeo.sc voronoi_rop.rop_geometry1.002.bgeo.sc voronoi_rop.rop_geometry1.003.bgeo.sc ... voronoi_rop.rop_geometry1.024.bgeo.sc
0 件のコメント:
コメントを投稿