Houdini 18.5 ノード TOPノード

Python Partitioner TOP node

Pythonスクリプトを使ってワークアイテムを区分けします。

On this page
Since 17.5

このノードを使用することで、Python APIによる独自のパーティショナーロジックを記述することができます。 PDGは、このノード上のスクリプトフックをコールして、上流のワークアイテムを区分けします。 PartitionerノードAPIリファレンスでは、実装可能なコールバック関数に関する詳細が説明されています。

PythonまたはHScriptエクスプレッションでコードを1行で記述できる場合であれば、代わりにPartition by Expressionを使用した方がシンプルです。

パラメータ

Save to Python Script

このノードで定義したコールバックをPythonスクリプトに保存します。 このPythonスクリプトは、PDGによってインポートして登録することができます。 このノードに関連付けられたパラメータテンプレートもPythonスクリプトに保存して埋め込まれます。 保存した後は、そのスクリプトが自動的にインポートされ、そのノードタイプがTabメニューで利用可能になります。

Save to Digital Asset

このノードで定義されたコールバックをスタンドアローンのHoudiniデジタルアセットに保存します。 このコールバックは、.hdaの中に格納され、PDGによって埋め込みPDGノードタイプとして登録されます。

onPartition Callback

このスクリプトは、上流のワークアイテムを区分けする時に実行されます。

このノードが静的なパーティショナーの場合、上流の静的なワークアイテムのフルリストを入力として、このスクリプトが静的なクック時に1回だけ実行されます。 このノードが動的なパーティショナーの場合、このスクリプトが Partition When パラメータの値に基づいてクック時に1回だけ実行されます。

このスクリプトで利用可能な変数がいくつかあります:

self

TOPノードと関連付けられた大元のPDGノードを参照します。 このPDGノードはTOPノード自体とは異なり、標準のHoudiniオペレータであることに注意してください。

TOPノードのパラメータインターフェースに追加したSpareパラメータは、自動的にPDGノードに追加されます。

partition_holder

パーティションにワークアイテムを追加する際に使用するパーティションホルダー。 このスクリプトが完了すると、このノードにパーティションが適用されます。 スクリプトで何かエラーが発生すれば、このパーティションホルダーの内容が破棄されます。

work_items

区分けするワークアイテムのリスト。

Merge Attributes

これらのパラメータは、このノードによって生成されたパーティション上に入力ワークアイテムのアトリビュートをマージする方法を制御します。

Merge Operations

パーティショナー系ノードに対して実行するアトリビュートマージオペレーションの数を定義します。 このアトリビュートマージオペレーションは、パーティション内のワークアイテムのアトリビュートをパーティション自体にマージする際に使用されます。 このアトリビュートマージオペレーションは降順で実行されます。 アトリビュートにマッチさせるパターンを使った最初のオペレーションでアトリビュートがマージされます。

Apply Operation

入力のアトリビュートをパーティションにマージする際に実行するオペレーションを指定します。 各オペレーションは、 To Attributes パラメータを使用してマッチした該当するアトリビュートのサブセットにのみ適用されます。

以下のオペレーションが利用可能です:

Ignore

マッチしたアトリビュートは無視され、パーティションには適用されません。

First Value

パーティション内の1番目のワークアイテム上のマッチした各アトリビュートの値が保持され、2番目以降のワークアイテムの値は無視されます。

Last Value

パーティション内の最後のワークアイテム上のマッチした各アトリビュートの値が保持されます。

Unique Values

マッチした各アトリビュートの固有の値が配列にマージされます。重複した値は破棄されます。

Append to Array

マッチした各アトリビュートの値がそのアトリビュートの配列に追加されます。 すべてのワークアイテムのすべてのアトリビュート値が保持されます。

Minimum

マッチした各アトリビュートの最小値が保持されます。

Maximum

マッチした各アトリビュートの最大値が保持されます。

Sum

マッチした各アトリビュートの合計値がパーティションに格納されます。

Average

マッチした各アトリビュートの平均値がパーティションに格納されます。

Mode

マッチした各アトリビュートの最も頻繁な値が保持されます。

Median

マッチした各アトリビュートの中央値が保持されます。

To Attributes

Apply Operation パラメータが適用されるそれに呼応したアトリビュートを指定します。 このフィールドにアトリビュートパターン構文を使用すれば複数のアトリビュートを指定することができます。

Advanced

これらのパラメータは、パーティショナーの挙動に対してもっと細かなコントロールを備えた上級パラメータです。

Partition When

パーティション化の工程が入力のワークアイテムに対して実行される時期を決めます。

Input Items are Generated

上流のワークアイテムすべてが生成されると、それらのワークアイテムがパーティション化されます。

Input Items Are Cooked

上流のワークアイテムすべてがクックされると、それらのワークアイテムがパーティション化されます。 これは、パーティション化スキームがワークアイテムの実行結果に基づいている場合に必須となります。

これによって、このパーティショナーは、複数のパーティションを作成することができる事以外はWait for Allノードと同様の挙動をします。

Partition Target(s)

ターゲットにしたいノードまたは複数のノードを決めます。 このターゲットノード内のワークアイテムは、そのターゲットノードがこのノードの直接の入力でなくても、それらのワークアイテムが生成されるとすぐにパーティション化されます。 ターゲットのワークアイテムの子ワークアイテムは、利用可能になった時にそのパーティションに追加されます。

Direct Input Nodes

パーティショナーは、直接の入力ノードのワークアイテムを使用します。これがデフォルトの挙動です。

Upstream Static Nodes

パーティショナーは、動的入力ノードをスキップし、一番近い上流の静的ノードのワークアイテムをパーティション化します。

Custom Target Node

パーティショナーは、 Custom Target Node パラメータで指定されたノードを使用します。

Custom Target Node

Partition TargetsCustom Target Node に設定されている場合、パーティションのターゲットTOPノードを指定します。 パーティションスキームは、このノードの入力ワークアイテムではなくて、このターゲットTOPノード内のワークアイテムに適用されます。 このターゲットTOPノードは、同じグラフ内でこのノードより上流になければなりません。

Split by Attribute

有効にすると、入力のワークアイテムをパーティション化する前に、このノードは指定したアトリビュート(s)でそれらのワークアイテムを分割します。 このパーティション化のロジックは、異なるアトリビュート値毎にワークアイテムのリストに対して評価されます。 異なるアトリビュート値を持ったワークアイテムは、常に異なるパーティションに格納されます。 複数のアトリビュート名をスペース区切りのリストで指定することができます。

Missing Attribute

このノードによる分割アトリビュートが見つからないワークアイテムの扱い方を決めます。

このパラメータは、 Split by Attribute有効 な時にのみ利用可能です。

Ignore Work Item

分割アトリビュートが見つからないワークアイテムは、どのパーティションにも 格納されません

Partitioner Defines Behavior

パーティショナー系ノード側で、分割アトリビュートが見つからないワークアイテムの挙動を決めます。 通常では、このオプションを持っているパーティショナー系ノードは、そのノードが実行する実際の操作を表記するために、このメニュー項目の名前を変更します。

Add Work Item to All Partitions

分割アトリビュートが見つからないワークアイテムは、 すべて のパーティションに格納されます。

Use Default Value

分割アトリビュートが見つからないワークアイテムは、 Default Value パラメータで設定された値を使用します。

Default Value

Missing AttributeUse Default Value に設定されている時、このパラメータには、そのアトリビュートを持たないワークアイテムの分割アトリビュートに使用する値を指定します。

Allow Partial Matches

Split by Attribute にアトリビュート名のリストが設定されている時、このパラメータは、それらのアトリビュートのどれかのみを含んだワークアイテムの処理方法を決めます。 これを有効にすると、存在しているアトリビュートに基づいてワークアイテムがパーティションに格納されます。 これを無効にすると、アトリビュートのサブセットのみを含んだワークアイテムはパーティション化ステップから除外されます。

Sort Contents By

このノード上のパーティションにアクセスした時に、そのワークアイテムをソートする順番を決定します。 これは、パーティションの出力ファイルのソート順にも影響します。

None

ソートを適用しません。パーティション内のワークアイテムは順不同で制御されます。

Work Item Index

パーティション内のワークアイテムをインデックス順でソートします。

Input Node Order

パーティション内のワークアイテムをこのノードに接続に接続された入力ノードの順でソートします。 2個のワークアイテムが同じ入力から来ている場合、それらのワークアイテムはインデックス順でソートされます。

Attribute

パーティション内のワークアイテムを Sort Attribute パラメータで指定されたアトリビュートに基づいてソートします。

Sort Direction

このノードのパーティション内のワークアイテムを昇順または降順でソートするかどうかを決定します。

Sort Attribute

ソートに使用するアトリビュートの名前を指定します。

このパラメータは、 Sort Contents ByAttribute に設定されている時にのみ利用可能です。

Prioritize Required Work Items

このパラメータを有効にすると、requiredフラグをTrueに設定してパーティションに追加されたワークアイテムが常にパーティションアイテムリストの頭にソートされます。 そのワークアイテムセット内では、相対的に順番を決めるために通常のソートロジックが使用されます。

Examples

PythonPartitioner Example for Python Partitioner TOP node

このサンプルでは、Python Partitioner TOPを使用して、上流のワークアイテムからパーティションを作成する方法を説明しています。

See also

TOPノード

  • Attribute Array

    ワークアイテム上に配列アトリビュートを作成/変更します。

  • Attribute Copy

    あるブランチのワークアイテムのアトリビュートを他のブランチのワークアイテムにコピーします。

  • Attribute Create

    入力のワークアイテムすべてに対してアトリビュートを作成または設定します。

  • Attribute Delete

    ワークアイテムからアトリビュートを削除します。

  • Attribute Rename

    ワークアイテム上のアトリビュートの名前を変更します。

  • Attribute from String

    ファイル名などの文字列からアトリビュート値を解析します。

  • Block Begin Feedback

    For-Loop with Feedbackブロックを開始します。このブロック内のTOPノードは直列で実行され、オプションで入力のワークアイテム毎にループさせることができます。

  • Block End Feedback

    For-Loop with Feedbackブロックを終了します。このブロック内のTOPノードは直列で実行され、オプションで入力のワークアイテム毎にループさせることができます。

  • CSV Input

    CSVファイルのデータをワークアイテムのアトリビュートにコピーします。

  • CSV Output

    ワークアイテムのアトリビュートをCSVファイルに書き出します。

  • Command Send

    実行させたいコードを共有サーバーに送信します。

  • Command Server End

    サーバーブロックを終了します。

  • Deadline Scheduler

    Thinkbox社のDeadlineソフトウェア用PDGスケジューラ。

  • Download File

    1つ以上のURLからコンテンツをファイルにダウンロードします。

  • Environment Edit

    ワークアイテムのコマンドラインが実行する環境下で設定する変数を編集します。

  • Error

    条件が満たされた時に警告またはエラーを出します。

  • FFmpeg Encode Video

    静止画像シーケンスを動画に変換します。

  • FFmpeg Extract Images

    動画ファイルから静止画像シーケンスを抽出します。

  • File Compress

    ファイルをアーカイブに圧縮します。

  • File Copy

    実行時またはノードがファイルを生成した時に、ファイルをある場所から別の場所にコピーします。

  • File Decompress

    入力のワークアイテムで指定されたアーカイブファイルを個々のファイルに解凍します。

  • File Pattern

    特定のパターンに合致したファイルに基づいてワークアイテムを生成します。

  • File Range

    特定のファイルパターンに基づいたフレーム範囲からワークアイテムを生成します。

  • File Remove

    指定したパスのファイルを削除します。

  • File Rename

    ファイルを名前変更または移動させます。

  • Filter by Expression

    上流のワークアイテムを条件付きでフィルタリングします。

  • Filter by Range

    指定したフレーム内またはアトリビュート範囲内にある上流のワークアイテムを絞り込みます。

  • Filter by State

    上流のワークアイテムをその状態によってフィルタリングします。

  • Generic Generator

    アトリビュートなしでコマンドラインを実行するワークアイテムを生成します。

  • Geometry Import

    SOPまたはジオメトリファイルのポイントまたはプリミティブをワークアイテムアトリビュートまたは一時ファイルに読み込みます。

  • HDA Processor

    デジタルアセットをクックするワークアイテムを生成します。

  • HQueue Scheduler

    HQueueを使用してワークアイテムのスケジュールを組みます。

  • Houdini Server Begin

    持続型Houdiniコマンドサーバーを起動します。

  • ImageMagick

    一括で画像変換、サイズ変更、画像モザイクなどのImageMagickの機能に簡単にアクセスすることができます。

  • In Process Scheduler

    In-Processワークアイテムのスケジューリングを制御します。

  • Invoke

    入力ジオメトリに対してコンパイルブロックを呼び出します。

  • JSON Input

    JSONファイルからデータを抽出してアトリビュートを作成します。

  • JSON Output

    JSON出力を生成する色々なオペレーションを実行します。

  • Local Scheduler

    ローカルマシン上でワークアイテムのスケジュールを組みます。

  • Make Directory

    ディレクトリを作成します。

  • Map All

    上流のすべてのワークアイテムを下流のワークアイテムにマップします。

  • Map by Expression

    エクスプレッションを使って、上流のワークアイテムを下流のワークアイテムにマップします。

  • Map by Index

    上流のワークアイテムをインデックスに基づいて下流のワークアイテムにマップします。

  • Map by Range

    範囲を使って上流のワークアイテムを下流のワークアイテムにマップします。

  • Maya Server Begin

    持続型Mayaコマンドサーバーを起動します。

  • Merge

    上流のすべてのワークアイテムを結合します。

  • Nuke Server Begin

    持続型Nukeコマンドサーバーを開始します。

  • Null

    何もしません。

  • OP Notify

    何かしらのTOPワークが完了したことを通知します。

  • Output

    サブネット出力。

  • Partition by Attribute

    アトリビュートに基づいてワークアイテムを区分けします。

  • Partition by Bounds

    境界アイテムを使って、ソースアイテムを空間的に区分けします。

  • Partition by Combination

    ワークアイテムを2個毎、3個毎などに区分けします。

  • Partition by Comparison

    既存の比較を使ってワークアイテムを区分けします。

  • Partition by Expression

    エクスプレッションに基づいてワークアイテムを区分けします。

  • Partition by Frame

    フレームに基づいてワークアイテムを区分けします。

  • Partition by Index

    インデックスに基づいてワークアイテムを区分けします。

  • Partition by Node

    ノードに基づいてワークアイテムを区分けします。

  • Partition by Range

    範囲に基づいてワークアイテムを区分けします。

  • Partition by Tile

    軸に平行な境界ボックスを使ってワークアイテムを空間的に区分けします。

  • Perforce

    PDG経由でPerforceコマンドを実行します。

  • Python Mapper

    Pythonスクリプトを使ってワークアイテムをマップします。

  • Python Partitioner

    Pythonスクリプトを使ってワークアイテムを区分けします。

  • Python Processor

    Pythonスクリプトを使ってワークアイテムを生成します。

  • Python Scheduler

    Pythonベースでプログラミング可能なPDG用スケジューラ。

  • Python Script

    スクリプトを実行するワークアイテムを生成します。

  • Python Server Begin

  • ROP Alembic Output

    埋め込まれたROP Alembic ROPノードをクックするワークアイテムを生成します。

  • ROP Composite Output

    埋め込まれたComposite ROPノードをクックするワークアイテムを生成します。

  • ROP Fetch

    ROPノードまたはROPネットワークをクックするワークアイテムを生成します。

  • ROP Geometry Output

    埋め込まれたGeometry ROPノードをクックするワークアイテムを生成します。

  • ROP Mantra Render

    埋め込まれたMantra ROPノードをクックするワークアイテムを生成します。

  • ROP USD Output

    組み込まれたUSD ROPノードをクックするワークアイテムを作成します。

  • Range Extend

    上流のワークアイテムのフレーム範囲を広げて、必要に応じて新しいワークアイテムを追加します。

  • Range Generate

    指定した範囲のワークアイテムを生成します。

  • Render IFD

    Mantraを使ってIFDファイルをレンダリングするワークアイテムを生成します。

  • SQL Input

    SQLクエリの作成と行毎にワークアイテムを生成する入力ノードです。

  • SQL Output

    SQL INSERTクエリを生成する出力ノードです。

  • Send Email

    電子メールを送信します。

  • Shotgun Create

    Shotgunエンティティを作成します。

  • Shotgun Delete

    Shotgunからエンティティを削除します。

  • Shotgun Download

    ShotgunからAttachmentをダウンロードします。

  • Shotgun Find

    Shotgunエンティティを検索します。

  • Shotgun Server Begin

    持続型Shotgunコマンドサーバーを起動します。

  • Shotgun Update

    Shotgunエンティティを更新します。

  • Shotgun Upload

    Shotgunにファイルをアップロードします。

  • Sort

    アトリビュートのリストからワークアイテムを並べ替えます。

  • Split

    上流のワークアイテムを2つのグループに分けます。

  • Subnetwork

    TOPノード用コンテナ。

  • Switch

    ネットワーク分岐を切り替えます。

  • TOP Fetch

    他のTOPネットワークをクックします。

  • TOP Fetch Input

    TOP Fetchで取得したネットワークの入力。

  • Text Output

    テキストを新しいファイルに書き出したり、既存ファイルに書き足します。

  • Tractor Scheduler

    PixarのTractorを使ってワークアイテムのスケジュールを組みます。

  • URL Request

    URLからデータを要求するワークアイテムを作成します。

  • USD Import

    USDステージで見つかったPrimsからワークアイテムを生成します。

  • USD Import Files

    USDステージで見つかったファイル参照からワークアイテムを作成します。

  • USD Render

    USDファイルを書き出すワークアイテムを作成します。

  • Wait for All

    上流のワークアイテムすべてが完了するのを待ちます。

  • Wedge

    アトリビュート値を色々と変えながらワークアイテムを生成します。

  • Work Item Expand

    ファイルリストまたはパーティションを複数のワークアイテムに展開します。

  • Xml Input

    XMLファイルからデータをワークアイテムアトリビュートに抽出します。