すあまの備忘録

誰得内容の自分のための非営利目的備忘録ブログ(筆者がわかっても内緒にしてください)

Mantraレンダリング周りメモ vol.6 :ifdとPacked Disk Primitive

Houdini 18.0.499から?Indie版でもifdの書き出しができるようになったらしい。

ifd周りのメモ

ifdをちゃんと書き出し、ifdからレンダリングすることによってHoudiniのレンダーライセンスでレンダリングをかけることができる。

書いてあるバッチ等は全部Linuxベースなので注意

ifdのパラメーター

よく変更するのは赤い部分 f:id:godofsuama:20200630134003p:plain

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の書き出しがされる。

f:id:godofsuama:20200630134710p:plain f:id:godofsuama:20200630134800p:plain f:id:godofsuama:20200630134822p:plain

ifdのフォルダにレンダー設定のifdが入り、

ifdsのフォルダ内にレンダリングするジオメトリのキャッシュが取られる。

書き出し方(内包)

自分はいつもこちらのifdにすべてを内包してしまう方を使用している。

f:id:godofsuama:20200630153332p:plain

次で説明するPacked Disk Primitiveを使用した際はこっちのが楽


Packed Disk Primitive

シミュレーションとかのキャッシュが重い場合は割と便利だと思う。

そのままだとifdのファイルとキャッシュの2重で容量を食ってしまううえに、ifdの書き出し時間が長くなってレンダリングをかけるまでが大変。

File Cache単体でもできるが好みの問題で画像のように組む。 f:id:godofsuama:20200630154040p:plain

1.File Cacheでレンダーしたいもののキャッシュを取り、 f:id:godofsuama:20200630154143p:plain

2.Fileノードを以下のようにし、キャッシュしたものを読み込む。 f:id:godofsuama:20200630154253p:plain

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の設定がされると、ビューの表示が黒い箱になる。 f:id:godofsuama:20200630154427p:plain

3.obj階層でレンダリング用Geometryを作る

f:id:godofsuama:20200630154853p:plain

ビューが重くならないようにレンダーフラグとディスプレイフラグを個別に設定

f:id:godofsuama:20200630154910p:plain

この状態でifdを書き出し方(内包)の方で書き出すと、ifd内にファイルパスのみが書き込まれるためifdが軽くなる。

f:id:godofsuama:20200630155432p:plain

注意点は、シェーダーが外れてしまうことがあるので画像の部分を変更してifd内にマテリアルを含むようにすること。

f:id:godofsuama:20200630155610p:plain


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の消費は変わらない。

f:id:godofsuama:20200630153047p:plain

参考リンク

Houdini環境変数

ワークフローの一部としてのレンダリング

IFD Workflow Basics

Houdini install (linux)