On this page |
このノードを使用することで、Python APIによる独自のプロセッサロジックを記述することができます。
上流のワークアイテム毎にPythonスクリプトを実行する単一ワークアイテムを必要とする場合は、代わりにPython ScriptまたはGeneric Generatorを使用した方がシンプルです。
パラメータ
Save to Python Script
このノードで定義したコールバックをPythonスクリプトに保存します。 このPythonスクリプトは、PDGによってインポートして登録することができます。 このノードに関連付けられたパラメータテンプレートもPythonスクリプトに保存して埋め込まれます。 保存した後は、そのスクリプトが自動的にインポートされ、そのノードタイプがTabメニューで利用可能になります。
Save to Digital Asset
このノードで定義されたコールバックをスタンドアローンのHoudiniデジタルアセットに保存します。 このコールバックは、.hdaの中に格納され、PDGによって埋め込みPDGノードタイプとして登録されます。
Work Item Generation
このノードが静的または動的なワークアイテムのどちらを生成するかどうか。 このノードのワークアイテムが静的に計算可能かどうか、もしくは、動的に生成させる必要があるかどうか分からないのであれば、通常では、これを"Automatic"のままに設定してください。
Dynamic
このノードが常に動的なワークアイテムを生成します。つまり、上流のワークアイテムが判明するまで待機し、その上流のワークアイテムから新しいワークアイテムを生成します。
Static
このノードが常に静的なワークアイテムを生成します。つまり、ネットワークを実行する前にパラメータ(と上流の静的なワークアイテム)に基づいて必要だと思われるだけの数のワークアイテムを生成します。
Automatic
入力が静的(静的なプロセッサ、静的な入力のみを使ったパーティショナー、マッパー)な場合、このノードは静的なワークアイテムを生成し、そうでない場合、動的なワークアイテムを生成します。
Command
ワークアイテムを実行した時に走らせるコマンドライン(実行ファイルと引数)。 このフィールドが空っぽであれば、そのワークアイテムはスケジュールに組まれなくなり、その依存関係すべてが完了すると即座に完了とマークされます。
onGenerate Callback
このスクリプトは、上流のワークアイテム(入力がなければゼロから)から新しいワークアイテムを生成する必要がある度に実行されます。 このスクリプトは、静的なワークアイテムと動的なワークアイテムのどちらの生成にも使用されます。
静的なワークアイテムを生成したい時は、一行コードのスクリプトを作成し、上流の静的なワークアイテムの全リストをupstream_items
変数に収納します。
動的なワークアイテムを生成したい時は、上流のワークアイテムがクックを終了する度に1回だけこのスクリプトがコールされます。
このスクリプトで利用可能な変数がいくつかあります:
self
TOPノードと関連付けられた大元のPDGノードを参照します。 このPDGノードはTOPノード自体とは異なり、標準のHoudiniオペレータであることに注意してください。
TOPノードのパラメータインターフェースに追加したSpareパラメータは、自動的にPDGノードに追加されます。
item_holder
新しいワークアイテムの構築に使用するワークアイテムホルダー。 このホルダー内のワークアイテムは、スクリプトが完了した時にノードに適用されます。 このスクリプトが失敗すれば、それらのワークアイテムは破棄されます。
upstream_items
上流のワークアイテムのリスト。
generation_type
このスクリプトが実行するワークアイテム生成スクリプトのタイプ。
onRegenerateStatic Callback
このスクリプトは、静的なワークアイテムを生成する必要がある度に実行され、既にそのワークアイテムが存在しても実行されます。 これを使用することで、新しい静的なワークアイテムを追加することができ、そして既存のワークアイテムを汚したり削除することもできます。
このスクリプトでは以下の変数が利用可能です:
self
TOPノードと関連付けられた大元のPDGノードを参照します。
item_holder
新しいワークアイテムの構築に使用するワークアイテムホルダー。
existing_items
このノード内に既存の静的なワークアイテムのリスト。
upstream_items
上流のワークアイテムのリスト。
onAddInternalDependencies Callback
このノードが兄弟のワークアイテム間に依存関係を追加する時にコールされます。 これは、 onGenerate Callback をコールする度にコールされます。 このスクリプトを使用することで、そのコールバックの呼び出しによって生成されたワークアイテム間に依存関係を追加することができます。
このスクリプトでは以下の変数が利用可能です:
self
TOPノードと関連付けられた大元のPDGノードを参照します。
dependency_holder
依存関係のペアを割り当てる時に使用するワークアイテムホルダー。
internal_items
最後の onGenerate Callback の実行によって追加されたワークアイテムのリスト。
is_static
最後に生成されたワークアイテムが静的であればTrue
、動的であればFalse
に設定されるブール値。
Examples
example_top_pythonprocessor Example for Python Processor TOP node
このサンプルでは、PDG/TOPのPython Processorノードの使い方について説明しています。
The following examples include this node.
example_top_attributecopy Example for Attribute Copy TOP node
このサンプルでは、ワークアイテムのアトリビュートを別のワークアイテムにコピーする方法について説明しています。
example_top_csvoutput Example for CSV Output TOP node
このサンプルでは、PDGのワークアイテムのアトリビュートからCSVファイルを生成する方法について説明しています。
example_top_errorhandler Example for Error Handler TOP node
このサンプルでは、PDG/TOPのError Handleノードの使い方について説明しています。
example_top_feedbackbegin Example for Block Begin Feedback TOP node
このサンプルでは、フィードバックループの作り方について説明しています。
example_top_feedbackend Example for Block End Feedback TOP node
このサンプルでは、フィードバックループの作り方について説明しています。
example_top_filecompress Example for File Compress TOP node
このサンプルでは、TOP/PDGを使ってファイルを圧縮する方法について説明しています。
example_top_filepattern Example for File Pattern TOP node
このサンプルでは、File Patternノードでパターンマッチ表現を使ってファイルを読み込む方法について説明しています。
example_top_makedir Example for Make Directory TOP node
このサンプルでは、Make Dirノードを使って、システム上にディレクトリを作成する方法について説明しています。
example_top_null Example for Null TOP node
このサンプルでは、Nullノードの使い方について説明しています。
example_top_partitionbyrange Example for Partition by Range TOP node
このサンプルでは、Partition by Rangeノードに用意されている色々なパーティションオプションについて説明しています。
example_top_pythonprocessor Example for Python Processor TOP node
このサンプルでは、PDG/TOPのPython Processorノードの使い方について説明しています。
example_top_split Example for Split TOP node
このサンプルでは、PDG/TOPのSplitノードの使い方について説明しています。
example_top_topfetch Example for TOP Fetch TOP node
このサンプルでは、Top Fetchノードを使って、他のTOPネットワークの結果を取得する方法について説明しています。
See also |