On this page |
概要 ¶
このノードのオペレーションには、2つのモードがあります。 入力を接続した場合 、 File Mode からディスク上のジオメトリのRead/Write/キャッシュを選択することができます。 入力を接続しなかった場合、ディスクから読み込むジオメトリファイルを指定して、それをノードの出力へ出すことができます。
さらに、FileとFile Data DOPで作成された.sim
と.simdata
ファイルの読み込みをサポートしていますが、書き込みはサポートしていません。
Tips ¶
-
ノードをクリックして Save Geometry を選択すれば、 任意のサーフェスノード から1ショットのジオメトリを書き出すこともできます。
サーフェスノードネットワークのジオメトリ出力を常にレンダー依存ネットワークの一部としてディスクに書き出すプロシージャルワークフローをセットアップするには、Geometryレンダードライバをセットアップします。
-
Fileノードをロックすることで、
.hip
ファイルに読み込むジオメトリを外部ファイルを使用せずに“インポート”することができます。
パラメータ ¶
File Mode
ディスクからジオメトリを読み込んだり、ディスクへ書き出す設定。
このパラメータは、ノードの入力を接続した時のみ利用可能です。
Automatic
ファイルが存在しなかった場合はWrite、存在すればReadになります。
これは、ノードが初回でクックした時にディスクにキャッシュを書き出し、それ以降はキャッシュファイルを使用する時に役に立ちます。
強制的にキャッシュを更新させるには、手動でディスクのファイルを削除します。
Read Files
ファイルからジオメトリを読み込みます。ノードの入力が接続されていれば、このパラメータは無視されます。
Write Files
入力ジオメトリをディスクに書き出します。
No Operation
ファイルにアクセスしません。Nullサーフェスノードと同様に、入力ジオメトリを出力にそのまま通します。
Geometry File
読み書きするファイルの名前。
Reload Geometry
強制的にファイルを再読み込みします。 また、これはパックディスクプリミティブのキャッシュデータをクリアします(geocacheコマンドも参照してください)。
Object Mask
.sim
ファイルを読み込む時に、ディスクから読み込むオブジェクトを決めます。
このパターンに一致したオブジェクトが読み込まれます。
Geometry Data Path
.sim
ファイルから読み込んだ各オブジェクトに対して、このパスに一致したオブジェクトのデータが読み込まれます。
*
パターンを使うと、複数のデータに一致します。空っぽにすると、Geometryデータのみが読み込まれます。
Missing Frame
指定したファイルがディスク上になかった時に実行する処理。 これは、 File Mode がRead Filesモードの時にのみ使います。 デフォルトでは、指定したファイルがなかった場合には、SOPがエラーを起こします。 これは、そのエラー内容からネットワーク内の問題を見つけることができます。 No Geometryに設定すると、警告のみが報告されます。
Note
No Geometry モードでは、入力がFile SOPに存在すると、その入力がそのまま通過します。このモードでは、File SOPを読み取り専用キャッシュにすることができます。
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
これは、ジオメトリをメモリに読み込み、そのジオメトリを含んだスタンドアローンなパックジオメトリを作成します。
Pack Using Expanded/Absolute File Path
ジオメトリを Packed Disk Primitive として読み込んだ時、このトグルは、プリミティブと一緒に保存したファイル名の変数を展開するかどうか制御します。
デフォルトでは、変数は保持されます。例えば、$HIP/geo/tree.bgeo
というファイル名は、$HIP
変数の値が臨機応変に変化するので、持ち運びができます。これは、パックプリミティブをディスクに保存して、そのジオメトリファイルを動かす場合にのみ重要です。
パックプリミティブに変数を保存する時(トグルがオフ)、プリミティブ自身が変数展開を実行します。プリミティブは、Houdini以外のアプリケーション(例えば、mantra
、gplay
、gconvert
など)からアクセスすることができるので、変数展開は、機能を制限してしまいます。例えば、.hipファイルのローカル変数や他のノードを参照するエクスプレッションを使うと、期待したように動作しなくなります。
Display As
ジオメトリを Packed Disk Primitive として読み込んだ時または遅延読み込みした時、ビューポート表示をより軽いパックジオメトリ表現に設定することができます。この設定は、ビューポート内のレンダリングにのみ適用され、レンダリング時にはフルジオメトリがレンダリングされます。
Use File Setting
パックプリミティブには、ファイルに保存されたビューポートディスプレイ設定があります。 このオプションはそれらの設定を読み込んで使用します。他の設定すべては、保存された設定を上書きします。
Full Geometry
ビューポートにフルジオメトリを表示します。
Point Cloud
ジオメトリのポイントのみを表示します。これはレンダリングするメモリ使用量が少なくて、高速です。
Bounding Box
ビューポートにジオメトリの境界ボックスのみを表示します。
Centroid
境界ボックスの中心に1個のポイントを表示します。
Delay Load Geometry
このパラメータを設定すると、パックプリミティブと他の共有データが直ぐに読み込まれず、必要な時にのみ読み込まれます。 これは、巨大なシーンを開く際に、その読み込み時間を減らすのに役に立ちます。
Create Intermediate Directories
必要に応じて、出力ファイルの中間親ディレクトリを作成します。
Cache Frames
メモリにキャッシュ化するフレームの総数。これらのフレームはファイル名でソートされ、時刻でソートされているわけではないので、 複数のフレームが同じファイル名を評価していれば、それらのフレームは、同じキャッシュジオメトリを共有します。
Note
1の値は、File SOPのデフォルトの挙動とほぼ同じです。 とはいえ、古いジオメトリが開放される前に新しいジオメトリが読み込まれます。 これは、エージェントプリミティブを読み込んだ時に、共有されているエージェントシェイプキャッシュがクリアされてしまう可能性を回避します。
Pre-fetch Geometry
次に必要なフレームを予測して、バックグラウンドでそれを読み込もうとします。 これにより、計算をファイルIOとオーバーラップさせることができます。
複数のフレームをブレンドする場合は、 Cache Frames が、次の新しいフレームだけをクック毎に読み込むのに十分な大きさである必要があります。 そうしないと、その先読みをする単純な予測モデルが混乱して動作を停止してしまいます。
Frame Range
Packed Disk Sequence プリミティブを作成した時、このパラメータには、そのディスクシーケンス内のファイル名の番号を指定します。
Geometry File を評価する時に、$F
や$FF
の変数がそのフレーム範囲の値に設定されます。
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
反復の度に順番を逆にしてファイルシーケンスを反復させます。
Examples ¶
PackedPoints Example for File geometry node
このサンプルでは、File SOPを使って、ディスクのパックプリミティブの遅延ロードを実行して、 モーションブラーのレンダリングでフレーム毎に複数ジオメトリのサンプリングを行なう方法を説明しています。 パックジオメトリをディスクに保存すると、参照付きでポイントジオメトリのみがディスクファイルに保存されます(ディスクファイルは非常に軽いです)。
PackedSamples Example for File geometry node
このサンプルでは、File SOPを使って、パックプリミティブの遅延ロードを実行して、 モーションブラーのレンダリングでフレーム毎に複数ジオメトリのサンプリングを行なう方法を説明しています。
PackedSequence Example for File geometry node
このサンプルでは、File SOPを使ってパックディスクシーケンスを読み込む方法を説明しています。
See also |