| On this page | |
| Since | 18.0 |
概要
このノードは、LOPネットワークで生成されたUSDを一時ファイルに書き出してから、外部プロセス(デフォルトはhusk)を起動して、そのUSDから画像または画像シーケンスをレンダリングします。
レンダリングは、Solarisビューポートのレンダリングで使用されているのと同じUSDインターフェース(Hydra)をそのまま使用しますが、生成されたピクセルバッファを表示せず、レンダラーはそのピクセルバッファを画像ファイルに保存します。 USDに登録されている任意のHydraクライアントを使ってレンダリングするように選択することができます。
設定
従来のHoudiniでは、レンダラーはレンダーノード上のパラメータを使って設定されていました。
しかし、USDでは、レンダー設定はシーンツリー内のRenderSettings Primに保存されます。
USDレンダー設定の作成方法に関する情報は、Render Settings LOP、
Render Product LOP、
Render Var LOPのヘルプを参照してください。
このノード上のパラメータは、主にレンダープロセスの起動を扱いますが、レンダーを制御するための主要なオプションをオーバーライドするためのオプションがいくつか用意されています。
利用可能なレンダラー
-
レンダラーのリストは、
usdrenderers.pyスクリプトが返すデータに基づいてフィルタリングされます。 huskユーティリティとその拡張機能であるUSD Renderノードは、AOVバッファを生成できるレンダラー(つまり、aovsupportアトリビュートがTrueのレンダラー)のみに対応しています。 -
AOV生成に対応していないHoudini GLやStormなどの他のデリゲートにレンダリングしたいのであれば、
OpenGL ROP(基本的にこれはビューポートを更新し、その内容のスナップショットを撮ります)を使用してください。
Tip
PXR_PLUGINPATH_NAME環境変数を使って、USDプラグイン検索でレンダーデリゲートが見つかるようにする必要があります。
他にもTF_DEBUG環境変数をPLUG_*に設定することで、USDライブラリがプラグインを走査して読み込む時に役立つ情報をプリントすることができます。
パラメータ
Render to Disk
直近のレンダーコントロール設定でレンダリングを開始します。 これは、レンダリングが完了するまでHoudiniをブロックします。
Render to MPlay
画像ファイルに書き出すのではなく、MPlayプレビューウィンドウに直接レンダリングします(MPlay内から画像をディスクに保存することができます)。
Render to Disk in Background
直近のレンダーコントロール設定でレンダリングをバックグラウンドで行ないます。
Controls
クリックすると、異なるフレーム範囲とディペンデンシー設定で“1回限り”のレンダーを起動できるダイアログが開きます。
Valid Frame Range
Render Current Frame
(プレイバー内の)現行フレーム番号をレンダリングします。
Render Frame Range
以下の Start/End/Inc パラメータで設定したフレーム範囲内の各フレームをレンダリングします。
Render Frame Range (Strict)
“Render Frame Range”オプションは、レンダーディペンデンシーから要求がある場合には指定したフレーム範囲外のフレームを生成することができます。 このオプションを選択すると、このノードは、指定したフレーム範囲外のフレームをまったくレンダリングしなくなります。
Render Frame Range From Stage
ソースLOPノードのUSDステージから開始と終了のタイムコード値を調べます。 それらの値をフレーム範囲の開始フレームと終了フレームに使用してディスクに保存します。 ステージにこのタイムコードのメタデータが設定されていなかった場合、保存オペレーションを実行するとエラーになります。
Start/End/Inc
Valid Frame Range が“Render Frame Range”または“Render Frame Range (Strict)”の時、開始/終了フレーム(そのフレームを含む)と増分フレームを指定します。
Preroll/Postroll/Inc
Valid Frame Range が“Render Frame Range From Stage”の時、ステージに設定されている開始/終了フレームの前後で保存するフレーム数とタイムサンプル間間隔を指定します。
Render All Frames With a Single Process
すべてのフレームをバックグラウンド処理でレンダリングします。 デフォルトは無効です。 これによって、レンダープロセスを走らせながらHoudiniで作業を継続することができます。
複数フレームをレンダリングするために、レンダープロセスは、(Solarisビューポートがアニメションを再生する方法と同様に)画像をレンダリングしてからシーンのタイムラインを進めて次の画像をレンダリングします。 フレーム間で共有されるデータがたくさんある場合、プロセスあたり1フレームレンダリングするのと比べて、複数フレームレンダリングの方が非常に速くなります。
Render Delegate
画像のレンダリングに使用するHydraクライアント。 デフォルトはKarmaです。 別のHydraクライアントは、HoudiniのUSDライブラリに登録されている必要があります。 上記の利用可能なレンダラーのリストを取得する方法を参照してください。
LOP Path
ここで指定されたノードから出力されたUSDステージをレンダリングします。 これが空っぽの場合、このノードは、ディスプレイフラグが付いたノードを使用します。
Render Settings
レンダリングで使用するRenderSettings Primのシーングラフパス(これが空っぽの場合、このノードはルートPrim上のデフォルトのRenderSettingsPrimを検索します。
ルートPrimにRenderSettingsPrimが存在しなかった場合、このノードはデフォルト設定を使用します)。
Override Output Image
これが空っぽでない場合、RenderSettingsで指定されている出力の代わりに、このファイルパスに画像が出力されます。
Husk
Rendering
Instantaneous Shutter
カメラに瞬間シャッター時間を設定することで、モーションブラーを無効にします。
Purpose
レンダリングしたいPurpose(geometry、guide、proxy、render)を カンマ で区切ったリスト。
デフォルトはgeometry,renderです。
Complexity
ジオメトリの複雑さ。
???
Delegate Products
レンダーデリゲートプロダクトを有効にします。 これによって、レンダーデリゲートがディープ画像やフォトンマップといった非ラスタープロダクトを保存することができます。 これらのレンダープロダクトは、レンダーデリゲート特有です。
Restart Delegate
通常、連番をレンダリングする時、huskはUSD差分処理を使用して、レンダリングの効率を上げます。
デリゲートは、フレーム間で処理を共有できるようにフレーム間で変わたシーンデータのみが伝達されます。
このオプションは、連番をレンダリングする時にレンダーデリゲートを強制的に再起動します。
デリゲートの再起動によってシーンが再構築されることになるので、このオプションを使用するとパフォーマンスが大幅に悪くなるので、必要な場合にのみ使用するようにしてください。
Snapshot Interval
これが有効な時、この秒数の間隔で、レンダラーはスナップショットファイルを書き出して途中までの画像を保存します。
Time Limit
これを有効にすると、レンダラーは、レンダー時間制限を超えると強制終了します。
Note
huskは、一部の結果を保存した後に強制終了します。
Time Limit Per-Image
単一プロセスで複数のフレームをレンダリングした場合( Render All Frames With a Single Process )、指定した時間制限は、画像シーケンス全体ではなくて、画像毎に適用されます。
Monitor
MPlay Monitor
ディスクに書き出す時に、インタラクティブに進捗を監視できるようにMPlayウィンドウを開きます。
AOVs
ここには、MPlayモニターで表示するAOVのリストを指定します。
-を指定すると、すべてのAOVが表示されます。
Monitor Zoom
これは、モニターに適用されるズーム係数です。 モニターには、フル解像度の何分の1かのサイズで画像が表示されますが、ディスクに書き出される画像はフル解像度です。
MPlay Session Name
MPlayにレンダリングする時、すべてのHoudiniセッションは、出力を同じMPlayフリップブックに送信します。 これは、複数のHoudiniセッションを起動している場合に問題が起こる可能性があります。 MPlay Labelでは、出力ドライバに関連付けるMPlayのラベルを指定することができます。 指定したラベルに一致したレンダーのみがそのMPlayに送信されるようになります。
Houdini Process ID
オペレーティングシステムのプロセスIDを使用するので、MPlayフリップブックは、そのプロセスIDのHoudiniセッションからのレンダーのみを受け入れます。
HIP Name
$HIPNAME変数を使用するので、MPlayフリップブックは、実行中のその$HIPファイルからのレンダーのみを受け入れます。
Output Driver Name
MPlayフリップブックは、指定した出力ドライバからのレンダーのみを受け入れます。 例えば、出力ドライバをコピーアンドペーストすると、それらの出力ドライバの名前は異なるので、異なるMPlayフリップブックに送信されるようになります。
複数のHoudiniセッションが存在した場合、他のセッションで同じ名前の出力ドライバが存在する可能性があります。
例えば、“High quality”と“Low Quality”の2個の出力ドライバが存在したとします。 その2個の出力ドライバに対してMPlay Labelを異なる値に設定すると、各レンダーは、異なるMPlayセッションに送信されるようになります。
Python
Houdiniがレンダリング中にスクリプトを実行できる方法と同様で、huskでもPythonスクリプトを実行することができます。
以下のPythonスクリプトは、Python内でstage変数を使用することでUSDステージにアクセスすることができます。
Husk Pre-Render
huskがレンダリングを開始する前に実行するPythonスクリプト。
Husk Pre-Frame
huskが各フレームをレンダリングする前に実行するPythonスクリプト。
Husk Post-Frame
huskが各フレームをレンダリングした後に実行するPythonスクリプト。
これは、すべてのレンダープロダクトが保存された後に実行されます。
Husk Post-Render
huskがすべてのレンダリングを終了した後に実行するPythonスクリプト。
Tiles
Tiled Render
huskは、1枚の大きな画像を複数のタイルに分割し、各タイルを個別にレンダリングします。
これは、レンダー設定で定義されたdataWindowNDC設定をオーバーライドすることで実行されます。
Count
XとYの解像度別のタイルの数。
Index
これは、huskがレンダリングするタイルです。この値の範囲は、0からタイルの総数(Count.x*Count.y)です。
Suffix
出力される各画像の名前の後にこの文字列が付きます。
この文字列は、huskが出力画像に対して実行するものと同じ変数展開に対応していますが、%02dをフレーム番号ではなくタイルインデックスに置換します。
Statistics
Print Command Line to Console
このオプションを使用すれば、このROPが実行しているコマンドが何なのか正確にデバッグすることができます。
Verbosity
レンダリング中にプリントする情報の詳細レベル。 通常では、“Full with VEX profiling”(遅い)または“Full with VEX Profiling and NaN checks”(非常に遅い)を避けてください。 これらはデバッグ用途で役に立ちます。
USD Trace
これは、USDトレーシングを有効にします。
この情報を使用して、huskでのUSDのパフォーマンスを分析することができます。
Chrome File
Chromeトレーシングを使用する時、ここには、そのトレースログの保存先のファイルを指定します。
Log Output
huskからの出力を取り込んで、そのログをディスク上のファイルに保存します。
Append to Log Instead of Overwriting
通常では、huskは実行の度にログファイルを上書きします。
このオプションは、既存のファイル内のテキストに出力を追加します。
Output Log
ここには、標準メッセージの保存先のファイルを指定します。
Error Log
ここには、エラーメッセージの保存先のファイルを指定します。 これがOutput Logで指定したファイルと同じだった場合、(コンソールへの書き出され方と同じように)標準メッセージとエラーメッセージが交互に書き出されます。
Usd
Resolver Context Asset Path
このファイルパスはresolver-contextオプションとしてレンダーコマンドラインに渡されます。
この引数は、USDステージの合成時にAsset Resolverがファイルを検索するのを補助するAsset Resolverコンテキストを作成するのに使用されます。
このパラメータのデフォルトは、選択した LOP Path を含んだLOP Network上の該当するパラメータを返すエクスプレッションになっています。
Strip Layers Above Layer Breaks
このオプションを有効にすることで、Layer Breakノードより上流で編集されたレイヤーがこのROPでディスクに書き出されないようにすることができます。 これによって、Layer BreakノードはLOPネットワークのどの部分を保存するのか指示することができます。 このオプションを無効にすることで、この挙動がオーバーライドされて、LOPネットワークで編集された全ステージを強制的にディスクに書き出すことができます。 これは、デバッグ用途で使用したり、レンダリングするために完全なシーンをディスクに書き出す際に使用します。
Strip Post-Layers
このオプションを有効にすることで、hou.LopNetwork.editablePostLayer()メソッドを使用して追加されたレイヤーがディスクに書き出されないようにすることができます。 このオプションを無効にすることで、これらのポストレイヤーは Output File レイヤーに平坦化されます。
Number of Options
このノードからレンダリングする時にのみ適用するコンテキストオプションを指定することができます。 定義/オーバーライドするコンテキストオプションを数を設定するか、または、プラスとマイナスのボタンを使ってコンテキストオプションを追加/削除します。
例えば、異なるコンテキストオプションが指定された2つの別々のUSDレンダーノードを用意すれば、エクスプレッションで@contextoption参照を使用することで、同じLOPネットワークから異なるUSDを書き出すことができます。
これは、Wedge化(バリエーション生成)するのに役立ちます。
または、インタラクティブ性には欠けるもののレンダリングで役に立つ方法でLOPネットワークがステージを構成するようにさせたい場合に役立ちます。
Option Name
各オプションの名前。
エクスプレッションに@nameを使用することで、このオプションを参照することができます。
Option Type
各オプションに格納するデータのタイプ。 浮動小数点または文字列のどちらかを指定することができます。
Option Value
(このノードがUSDを書き出す時の)各オプションの値。
Driver
Render Command
ここには、レンダリングに使用される外部コマンドを指定します。
このパラメータを無効( Run Command パラメータをオフ)にすると、コマンドは実行されません。
それでもUSDシーンはディスクに出力され、( Print command line to console がオンの場合は)コマンドはコンソールに出力されるものの、
そのコマンドは実際には実行されません。
また、コマンドの実行を無効にすると、生成されたUSDファイルが$HOUDINI_TEMP_DIR内にある場合であっても削除されなくなります。
このモードは、デバッグ、または、バッチファームレンダリングで非常に役に立ちます。
Wait for Render to Complete
レンダープロセスを開始した後にHoudiniをフリーズさせて、レンダラーが終了した時にのみHoudiniを再開させます。 (これは、主に古いMantraレンダーノードとパラメータ等価を保つために含まれています。バッチレンダリング時におおまかなディペンデンシー順序を実装するのに役立ちます。)
Alfred Style Progress
ファイルを書き出す時の進捗の割合をプリントします。 これは、PixarのAlfredレンダーキューで必要になる形式です。
Create Intermediate Directories
必要に応じて出力ファイル(例えば、生成される画像)の中間親ディレクトリを作成します。
USD Output Directory
必要なUSDファイルが保存されるディレクトリ。
このディレクトリが$HOUDINI_TEMP_DIR内にあった場合、レンダリングが完了すると自動的にそのディレクトリが削除されます。
Maximum Threads
huskに-jコマンドラインオプションを渡してそのプロセスが使用する最大スレッド数を指定します。
このパラメータを有効にすると、コンピュータの処理能力の一部をレンダリング以外のタスクに確保することができます。
プラスの値は、スレッドの絶対数を指定します。
マイナスの値は、マシンのCPUコア数から指定した値を引いた数がスレッドの数になることを意味します。
Initialize Simulation OPs
レンダリング前にDOPシミュレーションを初期化します。
Scripts
Pre-Render Script
このコマンドは、ファイルが生成される前に1度実行されます。
Pre-Frame Script
このコマンドは、各フレームが生成される前に実行されます。
Post-Frame Script
このコマンドは、各フレームが生成された後に実行されます。
Post-Render Script
このコマンドは、すべてのファイルが生成された後に1度実行されます。