TOPネットワークにおけるファイルパスについて


この記事では、SideFX社が推奨するTOPネットワークにおける入出力ファイルパスの設定について紹介します。

オーバービュー

 ワーク実行中のTOPノードのほとんどは、入力ファイルパス、出力ファイルパス、またはその両方を指定できます。 TOPでは、各スケジューラノードは異なるレンダーファームソフトウェアが異なる共有ネットワークファイルシステムを使用する場合があるため、個別にワークディレクトリを指定することができます。PDG_DIR環境変数のディレクトリを基準として、出力するすべてのファイルパスを作成する必要があります。

 

設定方法

  1.  スケジューラノードにベースワークディレクトリを設定します。このディレクトリは、スクリプトを作業するためにPDG_DIR環境変数として使用できます。
    • HIPファイルごとに別々のワークディレクトリを使用してください(つまり、2つのHIPファイルが同じPDG_DIRに書き込まないようにします)。パラメータデフォルトで使用されるデフォルト生成ファイル名の多くは、HIPファイル内でのみ一意です。
    • レンダリングファームスケジューラの場合は、ネットワークファイルシステム内のディレクトリ(SMB共有のNFSマウントなど)が、レンダリングファームクライアントマシンと共有されていることを確認してください。
  2. ファイル名(たとえば、レンダリングする画像や生成するジオメトリファイル)を指定するときは、パスがPDG_DIRからの相対パスであることを確認してください。
  3. ファイル名にPDG_DIRなどの環境変数を使用する場合は、$ {PDG_DIR}の代わりに__PDG_DIR__の形式を使用してください。 $ {PDG_DIR}を使用すると、Houdiniはディペンデンシーグラフが取得する前に変数自体を展開しようとして失敗します。 Houdiniは”__”の構文を無視しますが、PDGは”__”間のテキストを環境変数として展開します。
  4. 中間ファイルを__PDG_TEMP__の下に置き、ファイナルとなるファイルを__PDG_DIR__の下に置くようにします。
    また、サブディレクトリを使用して出力ファイルを分類することをお勧めします。たとえば、中間ジオメトリファイルの場合は__PDG_TEMP __ /geo、最終ジオメトリ出力の場合は__PDG_DIR __ /geoとなります。

 

環境変数

PDG_DIR
 スケジューラノードで指定されている、TOPネットワークのワークディレクトリです。

PDG_TEMP
 ワークディレクトリ内の、現在のセッション用の共有一時ファイルディレクトリです。
 デフォルトは$ PDG_DIR/pdgtemp/[houdini_process_id] となります。

PDG_SCRIPTDIR
 一時ディレクトリ内の共有スクリプトディレクトリです。スクリプトファイルがファイルディペンデンシーとしてリストされている場合、スクリプトファイルはこのディレクトリにコピーされます。デフォルトは$ PDG_TEMP/scriptsです。また、共有ネットワークファイルシステムの既知の場所にスクリプトを置くこともできます。