On this page | |
Since | 19.5 |
RBD I/O SOPは、RBDストリームのパック化、ディスクへの保存、ライブシーケンスの代わりに保存シーケンスを使用するといった共通オペレーションを効率化できるように設計されています。
パラメータ ¶
Storage Type
RBD Fracturesは、ジオメトリ、拘束ジオメトリ、プロキシジオメトリで構成されています。
Geometry Only
単にジオメトリで構成されたアンパックジオメトリシーケンスを保存します。 このモードでは、2番目の出力と3番目の出力は常に空っぽです。
Packed Geometry, Constraints and Proxy
入力ジオメトリ、拘束ジオメトリ、プロキシジオメトリを3つのパックプリミティブにパックします。 この3つで構成されたパックプリミティブは、単一ジオメトリシーケンスとして保存されます。 このモードでは、1番目、2番目、3番目の出力は、それぞれアンパックジオメトリ、拘束ジオメトリ、プロキシジオメトリです。
Simulation Points
各ピースのトランスフォームを表現したシミュレーションポイントシーケンスを保存します。 これによって、フレーム毎にトランスフォームさせたピースのキャッシュ化と比べてディスク容量と読み込み時間を効率化することができます。 このモードでは、2番目、3番目の出力は常に空っぽです。 Quick Setup メニューの Transform High-Res Geometry オプションを使用すると、トランスフォームがジオメトリに適用されます。 Quick Setup メニューの Cache High-Res Geometry オプションを使用すると、1番目の入力のRest(静止)ジオメトリがキャッシュ化されます。
Quick Setup
このメニューには、よく行なうタスクで役に立つ単純なスクリプトによるセットアップがいくつか用意されています。
Cache High-Res Geometry
File Cacheノードを作成して、1番目の入力のRest(静止)ジオメトリをキャッシュ化します。
Transform High-Res Geometry
Transform Pieces:Node:sop/xformpiecesノードを追加して、 Simulation Points で表現されたトランスフォームをジオメトリに適用します。
Load from Disk
これを有効にすると、このノードは、入力をクックせずに、キャッシュディスクファイルの出力を読み込みます。 ( Caching タブにある) Save to Disk または Save to Disk in Background をクリックしてキャッシュファイルを書き出すと、 このノードは自動的にこのチェックボックスを有効にします。
Reload Geometry
強制的にファイルを再読み込みします。 また、これはパックディスクプリミティブのキャッシュデータをクリアします(geocacheコマンドも参照してください)。
File Path
これが Constructed (デフォルト)の場合、このノードは、様々なパラメータの値からキャッシュファイルパス(s)を構築するので、バージョン管理やアニメーションオプションといった機能を利用することができます。これを Explicit に設定した場合、 Geometry File パラメータ内にパスに入れたい変数( Time Dependent Cache が有効な場合は、フレーム番号も)をすべて含めた単一エクスプレッションを手動で記述する必要があります。
Time Dependent Cache
これを有効(デフォルト)にすると、このノードは、(タイムラインのグローバルの開始フレーム/終了フレーム/増分を使用して)フレーム毎に別々のキャッシュファイルを書き出します。 入力ジオメトリが静的(フレーム番号が変わっても変化しない)な場合、これを無効にすることで、複数の同一ファイルが書き出されるのを回避することができます。
Base Name
File Path が Constructed の時、ここにはキャッシュファイル名の頭の部分を指定します。
デフォルトは$HIPNAME.$OS
(.hip
拡張子を除いた現行シーンファイル名にドットを足して、このノードの名前を足した名前)です。
このノードの名前を意味のある固有な名前にしていれば、通常ではこれはファイル/ノード間でファイル名の干渉を回避するのに十分です(2つのネットワークのどちらにもfilecache1
という名前のノードが含まれている場合、干渉が起きます)。
このテキストフィールドの右側にあるドロップダウンメニューには、色々なエクスプレッションが用意されています。
File Type
デフォルトは.bgeo.sc
です。このファイルタイプは、どのタイプのHoudiniジオメトリも扱うことができ、圧縮をすることができるので、常にこれを使用するのが安全です。
入力内の すべての プリミティブが 常に VDBボリュームである場合、このファイルタイプを切り替えることで、それらのファイルを直接.vdb
として保存することができます。
File Type を.vdb
に設定すると、このノードは、HoudiniのPrimiriveアトリビュートをVDBグリッドメタデータに、Detailアトリビュートをファイルメタデータに変換します。
Base Folder
File Path が Constructed の時、ここにはキャッシュファイルが保存されるフォルダを指定します。
デフォルトは$HIP/geo
(現行シーンファイルと同じディレクトリ内のgeo
フォルダ)です( Version を有効にすると、この基本フォルダの中にさらにディレクトリレベルが追加されます)。
Open Directory
クリックすると、 Base Folder の内容がファイルマネージャで表示されます。 これは、古いキャッシュファイルをクリーンアップしたい時に役立ちます。
Version
File Path が Constructed で、左側にあるチェックボックスを有効にすると、このノードは、キャッシュファイルパス(s)にバージョンを示したディレクトリレベル(とファイル名部分)を追加します。 これによって、複数のバリエーションの入力ネットワークをキャッシュ化することができます。
Geometry File
File Path が Explicit の時、このノードは、このファイルパスエスクプレッションを使用してキャッシュファイルパス(s)を生成します。 このエクスプレッションには、パスに入れたい変数( Time Dependent Cache が有効な場合は、フレーム番号も)をすべて含めてください。
Caching ¶
Save to Disk
最近のコントロール設定を使用してジオメトリをディスクに保存します。
Save to Disk in Background
TOPネットワークを使用して、別々のバックグラウンドプロセスでクックしてキャッシュファイルをディスクに保存します。 これによって、Houdiniの他の部分で作業を続けることができます。 キャッシュ化されたフレームは、そのフレームが他のプロセスによって完了すると現れます。
Cancel Cook
すべてのバックグラウンドキャッシュプロセスを停止します。
Tip
これらのボタンを“安全ラッチ”としてボックスに折り畳むことで、誤ってボタンをクリックしてキャッシュが再構築されるのを防止することができます。
Evaluate As
これが Frame Range の時、このノードはフレーム毎にキャッシュファイルを書き出します(以下のStart/End/Incを参照してください)。 一度にすべてのフレームを事前生成したくない場合、または、変更された単一フレームだけを再生成すれば良いと分かっている場合、 これを Single Frame に設定すると良いでしょう。 Single Frame に設定すると、このノードは現行フレーム(または Override Frame で設定したフレーム)のキャッシュファイルのみを書き出します。
Simulation
シミュレーションを使用して生成されるシーケンスをキャッシュ化する場合、これを使用します。 これによって、各フレームが前のフレームに依存するようになります。
Override Frame
Evaluate As が Single Frame で、左側にあるチェックボックスを有効にすると、タイムラインの現行フレームではなく、ここで明示的に指定したフレーム番号のフレームがキャッシュ化されます。
Start/End/Inc
レンダリングするフレーム範囲(開始フレーム、終了フレーム、増分値)を指定します。すべての値には浮動小数点の値を指定することができます。その範囲の値を含みます。
これらのパラメータが出力ドライバのローカル変数の値を決めます。
$NRENDER
出力ドライバでレンダリングされるフレーム数。
$N
レンダリングされている現行フレーム(1から始まり、$NRENDER
で終わります)。
Substeps
Evaluate As が Frame Range の時、ここには、各フレームを分割する小数サブフレームの数を指定します。
サブフレームをキャッシュ化すると、キャッシュ化されたアニメーションジオメトリのモーションブラーレンダリングの品質が良くなります。
Substeps に1
より大きい数を設定し、 File Path を Explicit に設定した場合、明示的に指定するパスエクスプレッション内に$F
(整数フレーム番号)の代わりに$T
(単位が秒の浮動小数点時間)または$FF
(小数フレーム番号)を使用することで、小数フレームを扱うことができます。
Clamp First Frame
現行フレームがこのフレームより前だった場合、その現行フレームをクランプします。 これを使用することで、Start/End範囲より前のフレームに対して Start フレームのジオメトリをロードすることができます。 そうしなかった場合は空っぽのジオメトリが出力されます。
Clamp Last Frame
現行フレームがこのフレームより後だった場合、その現行フレームをクランプします。 これを使用することで、Start/End範囲より後のフレームに対して End フレームのジオメトリをロードすることができます。 そうしなかった場合は空っぽのジオメトリが出力されます。
Load
ヘッダにメタデータを含むファイルフォーマット、特に.bgeo
, .bgeo.sc
, .geo
は、ファイル全体を読み込まずに読み込むことができます。これは巨大なデータセットの処理で役に立ちます。
All Geometry
ファイル全体を読み込みます。設定により一部を遅延読み込みさせることができます(以下参照)。
Info
ファイルの読み込みに成功すると、1個のポイントを作成して、メタデータの各名前付きコンポーネントのアトリビュートを追加します。
メタデータは、そのファイルを書き出したものによって作成されるので内容が異なります。一般的なメタデータは以下のとおりです:
artist
ファイルを生成したユーザ名。これはHOUDINI_AUTHOR
環境変数を使って上書きすることができます。
hostname
ファイルを生成したマシン名。これは、ファームでの怪しい挙動を追跡する時に非常に役立ちます。
これもHOUDINI_AUTHOR
環境変数を使って上書きすることができます。
date
ファイルが生成された時刻。そのファイルの日付スタンプと同じにならない場合があります。
software
ファイルの生成に使用されたHoudiniのバージョン。
time
ファイルが保存された時のプレイバーでの時間(秒)。
timetocook
ファイルの計算にかかった時間。これはROP Geometryによって作成され、そのファイルの生成に要した実際の経過時間(秒)です。 出力ドライバが複数存在する場合、キャッシュ化が理由で、そのファイルを単体でクックしてかかる時間よりも過小評価される可能性があります。
Info Bounding Box
ファイルのヘッダに記録された情報を使って、境界ボックスの構築を試みます。
Point Cloud
ディスクファイルからポイントの読み込みを試みます。ポイントクラウドは、プリミティブの読み込みよりも高速でメモリが少なく済みます。
Packed Disk Primitive
ジオメトリをメモリに読み込むのではなく、パックディスクプリミティブを作成します。遅延ロードプリミティブのコピーは、ジオメトリを共有するので、複数コピーのメモリ使用量が少なく済みます。
Packed Disk Sequence
ジオメトリをメモリに読み込むのではなく、パックディスクシーケンスプリミティブを作成します。 パックディスクプリミティブとは違い、パックディスクシーケンスは、レンダリング時にアンパックされるファイルのインデックスと併せてファイル名のリストを記録します。 パックディスクシーケンスプリミティブは、そのディスクシーケンス内のすべてのファイルを把握しているので、(トポロジーがフレーム間で一致していれば)レンダリング時にサブフレームジオメトリのブレンドを計算することができます。 つまり、モーションブラーを正しく計算することができます。 パックディスクシーケンスプリミティブを作成すると、そのフレーム範囲内でフレーム毎に Geometry File パラメータが評価されます。 パックディスクシーケンスプリミティブのインデックスは、 Sequence Index パラメータの値に設定されます。
Packed Geometry
これは、ジオメトリをメモリに読み込み、そのジオメトリを含んだスタンドアローンなパックジオメトリを作成します。
Display As
ジオメトリを Packed Disk Primitive として読み込んだ時または遅延読み込みした時、ビューポート表示をより軽いパックジオメトリ表現に設定することができます。この設定は、ビューポート内のレンダリングにのみ適用され、レンダリング時にはフルジオメトリがレンダリングされます。
Use File Setting
パックプリミティブには、ファイルに保存されたビューポートディスプレイ設定があります。 このオプションはそれらの設定を読み込んで使用します。他の設定すべては、保存された設定を上書きします。
Full Geometry
ビューポートにフルジオメトリを表示します。
Point Cloud
ジオメトリのポイントのみを表示します。これはレンダリングするメモリ使用量が少なくて、高速です。
Bounding Box
ビューポートにジオメトリの境界ボックスのみを表示します。
Centroid
境界ボックスの中心に1個のポイントを表示します。
Pack Using Expanded/Absolute File Path
ジオメトリを Packed Disk Primitive として読み込んだ時、このトグルは、プリミティブと一緒に保存したファイル名の変数を展開するかどうか制御します。
デフォルトでは、変数は保持されます。例えば、$HIP/geo/tree.bgeo
というファイル名は、$HIP
変数の値が臨機応変に変化するので、持ち運びができます。これは、パックプリミティブをディスクに保存して、そのジオメトリファイルを動かす場合にのみ重要です。
パックプリミティブに変数を保存する時(トグルがオフ)、プリミティブ自身が変数展開を実行します。プリミティブは、Houdini以外のアプリケーション(例えば、mantra
、gplay
、gconvert
など)からアクセスすることができるので、変数展開は、機能を制限してしまいます。例えば、.hipファイルのローカル変数や他のノードを参照するエクスプレッションを使うと、期待したように動作しなくなります。
Delay Load Geometry
このパラメータを設定すると、パックプリミティブと他の共有データが直ぐに読み込まれず、必要な時にのみ読み込まれます。 これは、巨大なシーンを開く際に、その読み込み時間を減らすのに役に立ちます。
Sequence Index
Packed Disk Sequence プリミティブを作成した時、このパラメータには、レンダリング時に使用されるシーケンスのジオメトリを指定します。 このインデックスの値は線形であり、その範囲は0からディスクシーケンス内のジオメトリファイルの数(フレーム番号を基準にしていません)です。 範囲外のインデックス値は、自動的に周回してアニメーションサイクルを生成します。
インデックス値には非整数値を持たせることができます。トポロジーがディスクファイル間で一致していれば、そのジオメトリがレンダリング時にブレンドされます。
vm_pack_sequencesubsteps
レンダリングプロパティも参照してください。
Tip
画像シーケンスまたはgeoファイルでフレーム名をゼロ詰めにしたい場合は、以下のようにします:
<path_to_image>/frame`padzero(3, $F+1)`.tga
3はシーケンスの桁数です。例えば、001は3桁詰め、0002は4桁詰めなど。エクスプレッションは、文字列パラメータ内で評価されるので、バッククォートが必要です。
Wrap Mode
Packed Disk Sequence プリミティブを作成する際、このパラメータには Sequence Index がフレーム範囲外の時の挙動を指定します。
Cycle
ファイルシーケンスを反復させます。
Clamp
Sequence Index がフレーム範囲前の時は最初のファイルが使用されます。 Sequence Index がフレーム範囲後の時は最後のファイルが使用されます。
Strict
フレーム範囲外ではジオメトリがなくなります。
Mirror
反復の度に順番を逆にしてファイルシーケンスを反復させます。
Scheduling ¶
TOP Scheduler Override
このパラメータは、このノードのTOPスケジューラを上書きします。
Save Filters ¶
Delete Attributes
保存する前にジオメトリから削除したいアトリビュートをスペースで区切ったリスト。
入力ジオメトリ上にアトリビュートが存在していて、以降のネットワークでそれらのアトリビュートが不要であると分かっているなら、
それらのアトリビュートがキャッシュに含まれないようにすることで、キャッシュファイルのサイズを小さくして、キャッシュの読み込みを高速化することができます。
アトリビュート名はどのレベル(Vertex、Point、Primitive、Detail)にもマッチします。
このノードはP
(ポジション)Pointアトリビュートを決して削除しません。
* ^v
といったパターンを使用することで、P
とv
以外のすべてのアトリビュートを削除することができます。
Delete Groups
保存する前にジオメトリから削除したいグループをスペースで区切ったリスト。 これは、出力内にまったく使用しないグループが含まれている場合があるシミュレーションデータで役に立ちます。 それらのグループがキャッシュに含まれないようにすることで、キャッシュファイルのサイズを小さくして、キャッシュの読み込みを高速化することができます。
Number of Casts
入力内の特定のアトリビュートに対してフル精度を必要としないことが分かっているなら、 このマルチパラメータは、ジオメトリを保存する前にアトリビュートを低精度のタイプに変換することができます。 これによって、(アトリビュートの使用回数次第ですが)キャッシュファイルのサイズを小さくして、キャッシュの読み込みを高速化することができます。 数値を設定するか、または、プラス/マイナスのボタンをクリックすることで、変換の数を設定することができます。
詳細は、Attribute Cast SOPのヘルプを参照してください。
Class
“Cast”マルチパラメータインスタンスで、ディスク容量を節約するために精度を下げたいアトリビュート(s)のレベル(Vertex、Point、Primitive、Detail)。
Attributes
“Cast”マルチパラメータインスタンスで、ディスク容量を節約するために精度を下げたい( 上記の Class パラメータで)指定したレベルにおけるアトリビュートをスペースで区切ったリスト。
Precision
“Cast”マルチパラメータインスタンスで、ディスク容量を節約するために該当するアトリビュートを下げる精度。
Advanced ¶
Enable Load from Disk on Save
Save to Disk または Save to Disk in Background をクリックした時に、このノードが Load from Disk を自動的に有効にするかどうか。
Harden Base Name on Save
File Path が Constructed で、これが有効になっていると、 Save to Disk または Save to Disk in Background をクリックした時に、このノードは Base Name 内のエクスプレッションをリテラル文字列に自動変換します。 これによって、シーンファイルまたはノードを複製したり名前を変更しても、キャッシュは壊れません。
Create Intermediate Directories
キャッシュファイルを書き出す時、そのファイルパス内の中間ディレクトリが存在しなければ、そのディレクトリを自動的に生成します。
Initialize Simulation OPs
すべてのシミュレーションOPを強制的にリセットします。 これには、DOP NetworkやPOP SOP、およびそれらの結果をキャッシュ化する他のOPを含みます。
これはシミュレーションをレンダー出力する最も安全な方法です。 シミュレーションをゼロの状態から開始し、異なるパラメータで実行した可能性のある部分的なシミュレーションがすべて破棄されるからです。
Alfred Style Progress
ファイルの書き込みが何パーセント完了したかを示す値です。これは、PixarのAlfredレンダーキューが求めるスタイルになります。
Save in Background
1つ以上のフレームを保存する場合、バックグラウンドスレッドに保存します。 これにより、ファイルが大きなサイズでも保存が速くなりますが、保存が完了するまで出力ジオメトリが保持されるため、メモリの使用量が多くなるかもしれません。
Save Retries
ディスク書き込みエラーによりジオメトリをディスクに保存できない場合、Houdiniでは普通、出力ノードがすぐにエラーになります。 保存エラーが回復できないような不正パスを表しているほとんどの場合で妥当といえます。 しかし、ネットワークの問題でファイルが保存できない場合もあります。 保存リトライ数がゼロでない場合、Houdiniはこのパラメータで指定された回数を再保存しようとします。 毎回、保存エラーのコンソールへ出力が行なわれ、ネットワークの回復を期待して5秒間の待機があります。
Render with Take
レンダリング時に特定のテイクの設定を使用します。レンダリング時に現行テイクを使用する場合は、 Current を選択します。
Missing Frame
このノードがキャッシュファイルを見つけることができなかった場合(または、正しく読み込むことができなかった場合)にこのノードの( Load from Disk モードの)挙動を指定します。 Report Error は、このノードにエラーを設定して、以降のネットワークがクックされないようにします。 これによって、問題が発生した時にどのノードがエラーなのか分かりやすくなります。 No Geometry (デフォルト)は、このノードにエラーではなく警告を設定し、空っぽのジオメトリを出力します。 これは、見つからなかったキャッシュファイルの扱い方をネットワーク側で制御したい場合や、それらのキャッシュファイルが重要でない場合に役立ちます。
Cache Frames
メモリにキャッシュ化するフレームの総数。これらのフレームはファイル名でソートされ、時刻でソートされているわけではないので、 複数のフレームが同じファイル名を評価していれば、それらのフレームは、同じキャッシュジオメトリを共有します。
Note
1の値は、File SOPのデフォルトの挙動とほぼ同じです。 とはいえ、古いジオメトリが開放される前に新しいジオメトリが読み込まれます。 これは、エージェントプリミティブを読み込んだ時に、共有されているエージェントシェイプキャッシュがクリアされてしまう可能性を回避します。
Pre-fetch Geometry
次に必要なフレームを予測して、バックグラウンドでそれを読み込もうとします。 これにより、計算をファイルIOとオーバーラップさせることができます。
複数のフレームをブレンドする場合は、 Cache Frames が、次の新しいフレームだけをクック毎に読み込むのに十分な大きさである必要があります。 そうしないと、その先読みをする単純な予測モデルが混乱して動作を停止してしまいます。
Scripts ¶
様々な実行ステージで実行されるスクリプトコマンドを指定することができます。 スクリプトパラメータに対して選択されたエクスプレッション言語によって、このコマンドがHScriptなのかPythonなのか判断されます。
実行する前に、このノードが自動的にグローバル現行ノードとして設定されます。
ファイルからステートメントを実行したいのであれば、
.cmd
拡張子(言語が HScript に設定されている場合)または.py
拡張子(言語が Python に設定されている場合)が付いたファイルのパスを指定してください。
スクリプトには追加で引数を指定することもでき、シェルと同様の方法で引数が解析されます。
Pre-Render Script
任意のレンダリング前に、このスクリプトを実行します。
Pre-Frame Script
各フレーム前に、このスクリプトを実行します。
Post-Frame Script
各フレーム後に、このスクリプトを実行します。
Post-Render Script
すべてのレンダリング後に、このスクリプトを実行します。
Post-Write Script
各フレームのデータがディスクへの書き込みを終了した後に、このHScriptを実行します。 これは、それに該当するPost-Frame Scriptの常に後で、Post-Render Scriptの常に前ですが、それ以外の順番は未定義です。 バックグラウンドでの保存を有効にした時、これはファイルの保存が終了するまでスクリプトのアクションを遅延させることができます。
このセクションは、Geometryレンダーノードで利用可能なプリ/ポストスクリプトと同様です。
以下のパラメータ内のエクスプレッションでは、上級ユーザーがこのノードのキャッシュファイルパスの生成方法を意図通りにカスタマイズすることができます。 ただし、これらのエクスプレッションを編集すると、このノードの挙動を容易く破壊してしまいます。これらの基本パタメータでもカスタマイズの余地がたくさんあるので、 パス構築のエクスプレッションをカスタマイズしようとしない ことを推奨します。とはいえ、例えば、パスをスタジオ全体の慣例に準拠させる必要があるのであれば利用しても構いません。
Frame
キャッシュ化する現行フレーム番号を計算するエクスプレッションを格納します。 このエクスプレッションを編集しないでください。
Frame String
フレーム番号をゼロ詰め文字列として生成する(ドット接頭辞を含んだ)エクスプレッションを格納します。 このエクスプレッションを編集しないでください。
Version String
パスの“バージョン”部分を生成する(v
接頭辞を含んだ)エクスプレッションを格納します。 このエクスプレッションを編集しないでください。
Cache Folder
キャッシュファイルの親ディレクトリパスを生成するエクスプレッションを格納します。 このエクスプレッションを編集しないでください。
Cache Name
キャッシュファイルのファイル名を生成するエクスプレッションを格納します。 このエクスプレッションを編集しないでください。
Descriptive Label
ネットワークエディタ内でこのノードの隣に(ノード名とバッジの下に)表示される 説明用テキスト を生成するエクスプレッションを格納します。このテキストには、キャッシュファイル名のパターンが設定されます。 このエクスプレッションを編集しないでください。
Output File
現行フレームのキャッシュファイルの解決済みフルパスを生成するエクスプレッションを格納します。 このエクスプレッションを編集しないでください。
ローカル変数 ¶
See also |