On this page |
このノードを使用することで、Python APIによる独自のマッパーロジックを記述することができます。
PythonまたはHScriptエクスプレッションでコードを1行で記述できる場合であれば、代わりにMap by Expressionを使用した方がシンプルです。
パラメータ
Save to Python Script
このノードで定義したコールバックをPythonスクリプトに保存します。 このPythonスクリプトは、PDGによってインポートして登録することができます。 このノードに関連付けられたパラメータテンプレートもPythonスクリプトに保存して埋め込まれます。 保存した後は、そのスクリプトが自動的にインポートされ、そのノードタイプがTabメニューで利用可能になります。
Save to Digital Asset
このノードで定義されたコールバックをスタンドアローンのHoudiniデジタルアセットに保存します。 このコールバックは、.hdaの中に格納され、PDGによって埋め込みPDGノードタイプとして登録されます。
Use Dynamic Mapping
デフォルトでは、マッパーは、上流の静的ワークアイテムと下流の静的ワークアイテム間に依存関係を構築します。 このトグルを有効にすると、2番目のマッピングパスが、そのマッパーより上の動的ワークアイテムと下の静的ワークアイテム間で処理されます。
動的ワークアイテムは、選択された静的ワークアイテムより下流の動的ワークアイテムのみが考慮されるように、このノードで定義された静的マップに基づいて事前にフィルタリングされます。
onMapStatic Callback
このスクリプトは、上流の静的なワークアイテムを下流の静的なワークアイテムにマップする時に実行されます。 このスクリプトは、静的なクック工程において常に1回だけ実行されます。
このスクリプトで利用可能な変数がいくつかあります:
self
TOPノードと関連付けられた大元のPDGノードを参照します。 このPDGノードはTOPノード自体とは異なり、標準のHoudiniオペレータであることに注意してください。
TOPノードのパラメータインターフェースに追加したSpareパラメータは、自動的にPDGノードに追加されます。
upstream_items
上流の静的なワークアイテムのリスト。要するに、下流のワークアイテムの依存関係として追加可能なワークアイテムです。
downstream_items
下流の静的なワークアイテムのリスト。要するに、一部の上流の静的なワークアイテムに依存するマッパーより下流のワークアイテムです。
dependency_holder
依存関係の構築に使用するオブジェクト。
例えば、上流の1番目のワークアイテムと下流の1番目のワークアイテム間に依存関係を追加したいのであれば、
dependency_holder.addDepdendency(upstream_items[0], downstream_items[0])
のように記述することができます。
依存側/依存される側の順番の指定は関係なくて、PDGでは、その依存関係を判定することができます。
onMapDynamic Callback
このスクリプトは、上流の動的なワークアイテムを下流の静的なワークアイテムにマップする時に実行されます。 マッパーノードによって動的なワークアイテムが生成される際には、このスクリプトがクック時に何回も実行されます。
渡された動的なワークアイテムは、このスクリプトで選択された静的なワークアイテムより下流の動的なワークアイテムのみが考慮されるように、 onMapStatic スクリプトの結果によって事前にフィルタリングされます。
このスクリプトで利用可能な変数がいくつかあります:
self
TOPノードと関連付けられた大元のPDGノードを参照します。 このPDGノードはTOPノード自体とは異なり、標準のHoudiniオペレータであることに注意してください。
TOPノードのパラメータインターフェースに追加したSpareパラメータは、自動的にPDGノードに追加されます。
upstream_items
上流の静的なワークアイテムのリスト。要するに、下流のワークアイテムの依存関係として追加可能なワークアイテムです。
downstream_items
下流の静的なワークアイテムのリスト。要するに、一部の上流の静的なワークアイテムに依存するマッパーより下流のワークアイテムです。
dependency_holder
依存関係の構築に使用するオブジェクト。
例えば、上流の1番目のワークアイテムと下流の1番目のワークアイテム間に依存関係を追加したいのであれば、
dependency_holder.addDepdendency(upstream_items[0], downstream_items[0])
のように記述することができます。
依存側/依存される側の順番の指定は関係なくて、PDGでは、その依存関係を判定することができます。
Examples
example_top_pythonmapper Example for Python Mapper TOP node
このサンプルでは、PDG/TOPのPython Mapperノードの使い方について説明しています。
See also |