| 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に設定してください。