このノードは、
Python Server、
Houdini Server Begin、
Maya Server Begin、
Nuke Server Beginなどの共有サーバーと併せて使用する必要があります。
このノードは、その共有サーバーが対応している内容に応じて、コマンドまたはカスタムコードをサーバーに送信します。 Houdini Server はHOM APIを使用したPythonコードを実行し、 Maya Server はMELまたはPythonを使用し、汎用コマンドサーバーはそのサーバーの実装で定義されているフォーマットを使用します。
Pythonコードを実行すると、work_item
オブジェクトが自動的に利用可能になります。
これを使用することで、PDGからデータを読み書きすることができます。
このwork_item
オブジェクトはpdg.WorkItem APIのサブセットに対応しています。
myattr_value = work_item.stringAttribValue('myattr') file_path = save_my_file(myattr_value) work_item.addResultData(file_path)
このコマンドスクリプトは一時的なネームスペース内で評価されるので、そこで作成したローカル変数は後でクリーンアップされます。 後続のコマンド内でそれらの変数を使用したいのであれば、変数をグローバルにしてください。
# このサーバー上の後続のコマンドでmyvarが使用可能になります。 global myvar; myvar = 42;
Note
このノードをMaya Serverと併用すると、そのコマンドスクリプトは、そのスクリプトの1行目が
//mel
でない限りPythonコードであると想定されます。
//mel
だった場合は、そのスクリプトテキストはMELコードとして扱われます。
このMELスクリプトの最後の行は、 Command Send work_item
に追加される値を決定します。
パラメータ
Command
Work Item Generation
このノードが静的または動的なワークアイテムのどちらを生成するかどうか。 このノードのワークアイテムが静的に計算可能かどうか、もしくは、動的に生成させる必要があるかどうか分からないのであれば、通常では、これを"Automatic"のままに設定してください。
Dynamic
このノードが常に動的なワークアイテムを生成します。つまり、上流のワークアイテムが判明するまで待機し、その上流のワークアイテムから新しいワークアイテムを生成します。
Static
このノードが常に静的なワークアイテムを生成します。つまり、ネットワークを実行する前にパラメータ(と上流の静的なワークアイテム)に基づいて必要だと思われるだけの数のワークアイテムを生成します。
Automatic
入力が静的(静的なプロセッサ、静的な入力のみを使ったパーティショナー、マッパー)な場合、このノードは静的なワークアイテムを生成し、そうでない場合、動的なワークアイテムを生成します。
Cache Mode
ワークアイテムから目的のファイル結果がレポートされるように、プロセッサノードがそのワークアイテムを制御する方法。
Automatic
目的の結果ファイルがディスク上に存在すれば、そのワークアイテムはスケジュールに組まれずにクック済みとマークされます。 そのファイルが存在しなければ、そのワークアイテムは通常どおりにスケジュールに組まれます。
Read Files
目的の結果ファイルがディスク上に存在すれば、そのワークアイテムはスケジュールに組まれずにクック済みとマークされます。 そのファイルが存在しなければ、そのワークアイテムは失敗とマークされます。
Write Files
目的の結果ファイルがディスク上に存在していても、ワークアイテムが常にスケジュールに組まれ、その目的の結果ファイルを無視します。
Copy Spare Parms to Attributes
有効にすると、すべてのSpareパラメータがアトリビュートとして、生成されたワークアイテムにコピーされます。
コピーしたくないパラメータがある場合は、pdg::nocopy
タグを適用してください。
Remote Script
共有サーバーに送信するコードを指定します。
このサーバーが Houdini Server であれば、このパラメータにはHOM APIが利用可能なPythonコードを指定することができます。 このサーバーが Maya Server であれば、このパラメータにはMaya APIが利用可能なPythonコードを指定することができます。
Output
See also |