Houdini 18.0.499から?Indie版でもifdの書き出しができるようになったらしい。
ifd周りのメモ
ifdをちゃんと書き出し、ifdからレンダリングすることによってHoudiniのレンダーライセンスでレンダリングをかけることができる。
書いてあるバッチ等は全部Linuxベースなので注意
- ifdのパラメーター
- 書き出し方(個別)
- 書き出し方(内包)
- Packed Disk Primitive
- Batch Rendering (Render License)
- Batch Rendering (Houdini License)
- 参考リンク
ifdのパラメーター
よく変更するのは赤い部分
Disk File:
ここがifdの書き出し先フォルダとファイル名。シーケンスで書き出す場合は$F4等が必須で、デフォルトだとhipと同じ階層に書き出されてしまうので注意。
Save Geometry Inline:
これはifd内にレンダ-するものをすべて書き込むかどうか。次のShared temp strageあたりと関係している。
Shared temp strage:
レンダリングするジオメトリの書き出し先。上記Save Geometry Inlineにチェックがない場合は、レンダリング設定のファイルとレンダリングされるオブジェクトが別で出されると思えばOK
その場合のオブジェクトの方の書き出し先になる。
Local temp storage:
ローカルでのレンダー時の書き出し先だったと思う。あんま変更しない。
書き出し方(個別)
Disk Fileにチェックを入れた状態で、Render to DiskやRender to Disk Background等をやるとifdの書き出しがされる。
ifdのフォルダにレンダー設定のifdが入り、
ifdsのフォルダ内にレンダリングするジオメトリのキャッシュが取られる。
書き出し方(内包)
自分はいつもこちらのifdにすべてを内包してしまう方を使用している。
次で説明するPacked Disk Primitiveを使用した際はこっちのが楽
Packed Disk Primitive
シミュレーションとかのキャッシュが重い場合は割と便利だと思う。
そのままだとifdのファイルとキャッシュの2重で容量を食ってしまううえに、ifdの書き出し時間が長くなってレンダリングをかけるまでが大変。
File Cache単体でもできるが好みの問題で画像のように組む。
1.File Cacheでレンダーしたいもののキャッシュを取り、
2.Fileノードを以下のようにし、キャッシュしたものを読み込む。
Geometry File:chs(opinputpath(".",0)/file)
Missing Frame:No Geometry
Load:Packed Disk Primitive(Sequence)
に変更する。Missing Frameは別にいらないが、一部だけしかキャッシュを取らなかった場合のレンダーエラーを回避するために設定。
Packed Disk Sequenceのほうが、Motion Blurをかける場合は効率が良いらしい。
Packed Disk Primitiveの設定がされると、ビューの表示が黒い箱になる。
3.obj階層でレンダリング用Geometryを作る
ビューが重くならないようにレンダーフラグとディスプレイフラグを個別に設定
この状態でifdを書き出し方(内包)の方で書き出すと、ifd内にファイルパスのみが書き込まれるためifdが軽くなる。
注意点は、シェーダーが外れてしまうことがあるので画像の部分を変更してifd内にマテリアルを含むようにすること。
Batch Rendering (Render License)
この方法だと各フレーム指定しないといけないが、
レンダーライセンスのみの消費し、ifdを使用する
cd /opt/hfs18.0.499 source houdini_setup_bash mantra /ifd/mantra.0001.ifd /render/test.exr
Batch Rendering (Houdini License)
この方法だとノード名さえわかっていればいいので便利だが、
Houdiniのライセンスを消費し、ifdを使わずhipを直接レンダリング
自宅とかならありかな?
cd /opt/hfs18.0.499 source houdini_setup_bash hbatch ~/packedDisk.hiplc render -V /out/mantra1
こちらの方法でifdを使う場合は、以下でできるが、
hbatchを経由しているのでHoudini Licenseの消費は変わらない。