Houdini 20.0 レンダリング

IFDジオメトリの保存

レンダリングのためにIFDファイルを生成する時、IFDファイルにジオメトリを“インライン(埋め込み)”にするか、外部ファイルにジオメトリを格納するか選択することができます。

On this page

概要

IFDファイルとは、フレームのレンダリングに必要なすべての情報(ライト、カメラ、ジオメトリ、シェーダ、レンダープロパティなど)を含んだ シーン記述ファイル のことです。 Mantraは、(Houdiniシーンから生成された)IFDファイルを受け取ってレンダリングします。

IFDファイルには、シーンのレンダリングに必要なジオメトリ(例えば、キャラクタスキン、プロップなど)を含めることもできます。ジオメトリを格納する方法が2つあります:

Temporary geometry files (デフォルト)

ジオメトリを一時ファイルに書き出し、それをIFDで参照します。これにはメリットがいくつかあります:

  • 各ジオメトリを一つずつIFDに書き出すのではなく、HoudiniがIFDとジオメトリファイルを並行して書き出すことができるので、IFDの生成を速くすることができます。

  • Mantraが外部ジオメトリファイルを並行して読み込むことができるので、IFDの読み込みを速くすることができます。

  • 外部ジオメトリファイルがIFD内部に実装されるわけではないため、圧縮オプションを使用することができるので、使用する合計のディスク容量が小さくなります。

  • ジオメトリをフレーム間で共有することができます。各IFDファイルは単一フレームを表現しています。アニメーションのために複数のIFDファイルを書き出す時に、Houdiniは静的ジオメトリを検出し、各IFDが複数フレーム間で同じ外部ファイルを参照するようにすることができます。静的ジオメトリ(例えば、大道具や小物)がたくさんある場合、これは飛躍的にディスク容量が節約されます。

Inline geometry

ジオメトリをIFDファイルにバイナリとして書き出します。これは、IFDファイルが非常に大きくなって、IFDファイルの生成に時間がかかってしまうことがあります。このメリットは、1個のIFDファイルにレンダリングに必要なすべてを含めることができることです。そのため、アセットの追跡がしやすいです。

Houdiniはパックディスクプリミティブと呼ばれるタイプのジオメトリに対応しています。このタイプのジオメトリは、Houdiniがディスクファイル内のジオメトリを参照できるように表現されていて、そのジオメトリは必要に応じてディスクファイルからストリームされます。このタイプのジオメトリをIFDに“inline”として含めると、そのファイル参照だけがIFDに書き出され、MantraはHoudiniと同様にディスクからジオメトリをストリームするので、このタイプのジオメトリはIFDのサイズを大きくしたり生成を遅くしたりしません。

(上記の)Temporary geometry filesを使用するよりも高速なパックディスクプリミティブの欠点は、ジオメトリファイルを手動で管理しなければならないことです。

ジオメトリファイルの格納先

Houdiniは、IFDと一緒に膨大な数のジオメトリファイルを生成することができます。ディスク容量が不足しないように、それらのジオメトリファイルの格納先を管理し、レンダーファームに関してはネットワークからアクセスできるようにする必要があります。

Mantraレンダーノードには、レンダリングするジオメトリファイルの格納先となるパラメータが2つあります。

Shared temp storage

Save Geometry Inlineがオフの時、HoudiniはIFDを保存する際にジオメトリファイルをこのディレクトリに保存します。

$F(例えば、$HIP/ifds/storage/frame$F4)を使用することで、フレーム毎に別々のディレクトリを作成することができます。これによって、ファイル名の干渉を回避し、簡単に整頓することができます。

Local temp storageも参照してください。

Local temp storage

Save Geometry Inlineがオフの時、Houdiniは(IFDをディスクに保存するのとは対照に)IFDをMantraに 直接 パイプする際にジオメトリファイルをこのディレクトリに保存します。 これは、IFDをネットワークディスクに保存すると同時に、Mantraに直接パイプする時には遅いネットワークストレージよりも高速なローカルストレージを常に使用したい時に役立ちます。

パイプ用に保存された一時ファイルは自動的にクリアされるはずですが、クラッシュやジョブの中断が原因でHoudiniはそれらのファイルをディスク上に残してしまうことがあります。 このディレクトリ内に残った古いファイルは定期的に削除してください。

Shared temp storageも参照してください。

(これらのパラメータは実際にはレンダープロパティなので、例えばカメラ毎に変更することができます。以下の他のプロパティを参照してください。)

How to

To...Do this

Houdiniが一時ジオメトリファイルを書き出す場所をセットアップする

  1. パラメータエディタにレンダーノードを表示するために、メインメニューから Render ▸ Edit Render Node ▸ render node を選択します。

  2. Driver タブをクリックします。

  3. Houdiniがレンダージオメトリファイルを書き出すディレクトリを Shared temp storage フィールドに設定します。

    デフォルトは、$HIP/ifds/storage($HIPは、シーンファイルが格納されているディレクトリです)。

    レンダーファームにジョブを投げる場合、他のマシンからそれらのジオメトリファイルを読み込むことができるようにネットワークドライブ上のディレクトリを指定してください。

Tip

通常では、 Local temp storage ディレクトリを変更する必要はありません。このディレクトリは、(インタラクティブレンダービューで)一時ジオメトリファイルを直接Mantraにストリームする時にHoudiniが保存する場所です。このディレクトリを変更するのは、SSDのような高速なドライブ上のディレクトリを選択したい時くらいです。

Houdiniがジオメトリを埋め込むようにセットアップする

  1. パラメータエディタにレンダーノードを表示するために、メインメニューから Render ▸ Edit Render Node ▸ render node を選択します。

  2. Driver タブをクリックします。

  3. Save geometry inline チェックボックスを見つけてください。

    • このチェックボックスがオンの時、HoudiniはジオメトリをIFDファイルに書き出します。

    • このチェックボックスがオフの時、Houdiniはジオメトリを一時ファイルに書き出します。

デフォルトはオフです(つまり、ジオメトリがIFDに埋め込まれるのではなく、外部の一時ファイルに書き出されます)。

上級

  • ジオメトリが変化しないことが分かっていれば、このレンダープロパティを追加して、それを有効にすることでジオメトリファイルの再生成がされない分、インタラクティブレンダリングを高速化することができます:

    Reuse cached outlined geometry

    通常では、Save Geometry Inlineがオフの時、HoudiniはIFDを生成する際に常にジオメトリファイルを書き出し、既存のファイルを上書きします。 このオプションを有効にすると、同じ名前のファイルが既に存在した時に、Houdiniは、それらの既存ファイルを上書きせずに再利用するようになります。 これは、ファイルの更新日時で比較 せず 、ファイル名 だけ をチェックしているので、そのジオメトリが一度生成されたら、これがオンになっている限りは、そのジオメトリはまったく更新されなくなります。 これをオンにすることで、ジオメトリを更新する必要がない限りは、ライティングを飛躍的に高速化することができます。

    このプロパティを追加した場合、必ず最新のジオメトリを使って最終レンダリングを行なう時には、常にこれを無効にしなければならないことを忘れないでください。

  • Save geometry inline チェックボックスはレンダープロパティです。各オブジェクトにそのレンダープロパティを追加ことで、各オブジェクトのジオメトリを埋め込むか、一時ファイルに書き出すかを設定することができます。

    Save Geometry Inline

    ジオメトリをIDFファイルに書き出します。これをオフにすると、代わりにHoudiniはジオメトリを外部一時ファイルに書き出します。 このオプションをオフ(デフォルト)のままにすると、レンダリングが速くなり、あまりディスク容量を使用しません。 詳細は、IFDジオメトリを参照してください。

    Shared temp storageLocal temp storageも参照してください。

レンダリング

Mantraユーザガイド

基本

ライティング

次のステップ

導師レベル

他のレンダラー