HQueue Render の Target HFS


こんにちは、篠島です。今回はHQueue Renderでレンダリングする際に使われるHoudiniについて説明したいと思います。

 

 

詳しいHQueueのセットアップ方法は以前の記事に書かれています。最近HQueue Renderに関する問い合わせが多いので少しまとめてみました。
もしHQueueレンダリングでレンダリング結果が真っ黒になってしまう症状が起きた場合は、ネットワーク上にインストールしたHoudiniに問題がある可能性があり、ローカル上のHoudiniを立ち上げてレンダリングすると無事にレンダリングされる事があります。それを指定するのがTarget HFS です。ちなみにローカル上のHoudiniを使うと若干レンダリングが早くなります。

 

HQueue Render ROP を作るとデフォルトで Target HFS が下のように設定されています。

$HQROOT/houdini_distros/hfs.$HQCLIENTARCH

 

これはどういう事かというと、$HQROOTがネットワーク上の共有フォルダの場所を表し、$HQCLIENTARCH がOS 毎の情報を表します。要は ネットワーク上のhoudini_distros 内にある Houdini を起動してレンダリングします。これを言い換えると、毎フレームレンダリングする度にネットワーク上からHoudini起動ファイルをローカルに読み込んで立ち上げ、レンダリングし、Houdini 終了という流れになります。

試しにSphereを1個作ってHQueueでレンダリングしてみます。

 

デフォルトのネットワーク上のHoudini起動ファイルを読み込んでレンダリングする方法だとSphereたった1つをレンダリングするのに約24秒かかっています。これは遅い。

 

そこで、Target HFS でクライアントマシンのローカルに保存されているHoudini を使うように設定してみます。下のようにローカル上に保存されているHoudini の場所を指定します。ちなみに下のように設定する場合はHQueueレンダーファームのクライアントがWindowsだと仮定します。この場合、レンダリングに使う全てのマシンに指定したバージョンのHoudiniがインストールされている必要があります。

 

すると、毎フレームレンダリングするのにクライアントマシンにインストールされているHoudini起動ファイルを立ち上げてレンダリングするので、10秒以下でレンダリングされています。

 

ネットワーク上のHoudiniを立ち上げるメリット

ネットワーク上のHoudiniを使ってレンダリングする利点は、クライアントマシンが大量にある場合、共有フォルダにHoudiniを1回インストールすればクライアント全てでレンダリング可能になるということです。上のテスト画像から見て分かる通り、ネットワーク上のHoudiniを立ち上げるのに数十秒・・・実際のレンダリングは数十分~数時間に及ぶと思うので、数十秒は大した差ではないですね。

ローカル上のHoudiniを立ち上げるメリット

ローカル上のHoudiniを使う利点はHoudini起動時間短縮になります。しかし、クライアントマシンが大量にある場合、個々のマシンにHoudini本体をインストールしなければならない為、メンテナンスに手間がかかります。
あと最初に説明したように、レンダリングが上手くいかない時などにローカルのHoudini 立ち上げてデバッグなどできます。