On this page |
概要 ¶
TOPsは、様々なファイルシステムを持つコンピュータファームで動作します。 例えば、WindowsマシンとLinuxベースのファームを使用するとしましょう。 この場合、あるファイルシステムのファイルパスをどのようにして別のファイルシステムにマップするかが問題になります。
例えば、\\allfiles\shot1\file1.bgeo.sc
< → /mnt/hq/shot1/file1/bgeo.sc
です。
これを対処するために、TOPsの PDG Path Map がクロスプラットフォームなファイルパスマッピングルールを構築することができます。
Tip
PDG Path Map を使用してマッピングルールをチェーン化することができます。
例えば、/mnt/hq
をWIN
ゾーンのZ:
にマップし、Z:
を同じWIN
ゾーンの//allfiles
にマップすると、/mnt/hq
は//allfiles
にマップすることになります。
マッピングの挙動 ¶
1ファイル毎にパスマッピングテーブルが1個存在し、そのファイル内のすべてのスケジューラ間でそのパスマッピングテーブルが共有されます。
FileアトリビュートとFile Resultsにはオリジナルの
パスが格納され、そのマップされた
パスは PDG Path Map を使用して必要に応じて生成されます。
マッピングテーブルはPDG_PATHMAP
グローバル変数に格納され、この変数はHIPファイルに保存されます。
PDGジョブが実行されると、このPDG_PATHMAP
変数があなたの環境内に設定されるので、この変数を使用することで、指定したファイルパスのローカルバージョンを把握することができます。
これは、PDGワークアイテムAPIを使用した時に自動的に行なわれます。
Notes
-
指定したゾーンには、最初にマッチしたルールのみが適用されます。例えば、
WIN
ゾーンに対して、指定したソースパスを別のターゲットパスにマップする2個のルールが存在していた場合、最初のルールのみが適用されます。 -
PDG Path Map にはファイルパスが実在するかどうかのチェックが ありません 。
Zones ¶
PDGは、ローカルZone
を自動的に判別して、ワークステーションのプラットフォームをLINUX
、WIN
、MAC
のどれかに一致させます。
-
スケジューラ系ノード上のパラメータを使用してこの
Zone
をオーバーライドしてから、そのスケジューラによってスケジュールが組まれたすべてのジョブにそのZone
を適用することができます。 -
$PDG_PATHMAP_ZONE
環境変数を使用してグローバルにこのZone
をーバーライドすることができます。 -
カスタムゾーンは、例えば
AWS
とLINUX
が絡んだハイブリッドなクラウドのようにもっと複雑なファームセットアップで役立ちます。 -
特別な
*
ゾーンは、 すべて のプラットフォームに適用されます。
Match Type ¶
パスマップエントリーの Match Type は、マッピングされる入力文字列を使ってどのようにパスマップエントリーをマッチさせるのか決めます。
Match Type をPrefix
に設定すると、マッピングルールの Source Path が入力パス文字列の先頭にある場合にのみマッピングルールが適用されます。
逆に、 Match Type をSuffix
に設定すると、マッピングルールの Source Path が入力パス文字列の最後にある場合にのみマッピングルールが適用されます。
他にも、 Math Type をContains
に設定すると、マッピングルールの Source Path が入力パス文字列の途中にあってもマッピングルールが適用されます。
PDG Path Mapウィンドウ ¶
To... | Do this |
---|---|
PDG Path Map ウィンドウを開く。 |
|
Zone Controls ¶
-
新しいゾーンをPDG Path Mapに追加します。
-
選択したゾーンを削除します。
Table Controls ¶
-
新しいマッピングをテーブルに追加します。
-
選択したマッピングをテーブルから削除します。
Path Map Table ¶
Zone
このマッピングのマップ先となるパスマッピングゾーンの名前。
Match Type
パスマッピングルールを入力パス文字列内の先頭(Prefix
)、末尾(Suffix
)、途中(Contains
)のどちらに対してマッチさせるのかを決めます。
Source Path
置換されるパス。
Destination Path
指定した Zone で実行された時に Source Path を置換するパス。
-
クリップボードの内容からテーブルを読み込みます。
-
テーブルの内容をJSONとしてクリップボードにコピーします。
Sorting ¶
PDG Path Mapテーブルは、まず最初に Created by でスケジューラ別にソートします。次に、 Zone でソートします。
API ¶
pdg.PathMapを介してPath Map Python APIにアクセスすることができます。
18.0からの移植 ¶
前のバージョンのHoudiniからのスケジューラ系ノードでは、Path Mappingパラメータには自動的にNone
モードが設定されます。
このモードは、パスマッピングのロジックを無効にし、代わりに__PDG_DIR__
や__PDG_TEMP__
のトークンによる非ローカル化
されたパスに依存します。
パスマッピングが 不要 であれば、これをGlobal
に設定することができます。
パスマッピングが必要であれば、この PDG Path Map テーブルを使用してパスマッピングを追加してから、モードをGlobal
に設定してください。