Houdini 18.0 ノード TOPノード

Python Script TOP node

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

On this page

このノードは、ワークアイテム生成フェーズ中に、プロセス内で、または、スケジュールが組まれたジョブとしてPythonスクリプトを実行するワークアイテムを生成します。 この挙動は、 Evaluate Script During メニューパラメータを使って設定します。

このスクリプトがワークアイテム生成段階で実行されるように設定されている場合、そのコードは、そのワークアイテムが生成された後に即座に評価されます。 そのワークアイテムがクックされている間は、何も余分な処理は行なわれません。 このモードを使用することで、Attribute Createノードを使用することなくプログラム的にアトリビュートを作成することができます。

それ以外の場合、他の評価モードのどれかが選択されていれば、ワークアイテムは、クックされた時にそのスクリプトコードを評価します。 プロセス内で実行されたスクリプトは、現行Houdiniセッション内の他のオブジェクトや設定だけでなく、PDGグラフに関する膨大な情報にアクセスすることができます。 このスクリプトがプロセス外で実行された場合は、そのスクリプトに関連付けられたワークアイテムのアトリビュート、そのスクリプト自体がインポートした何かにのみアクセスすることができます。

このノードは、常に上流のワークアイテム毎にちょうど1個のワークアイテムしか作成しません。 各ワークアイテムは、 Python Code フィールドで指定されたスクリプトをワークとして実行します。 独自にワークアイテムの設定を調整したいのであれば、代わりにPython Processorノードを使用してください。

TOP Attributes

script

string

ワークアイテムが実行するPythonスクリプト。

パラメータ

Script

Work Item Generation

このノードが静的または動的なワークアイテムのどちらを生成するかどうか。 このノードのワークアイテムが静的に計算可能かどうか、もしくは、動的に生成させる必要があるかどうか分からないのであれば、通常では、これを"Automatic"のままに設定してください。

Dynamic

このノードが常に動的なワークアイテムを生成します。つまり、上流のワークアイテムが判明するまで待機し、その上流のワークアイテムから新しいワークアイテムを生成します。

Static

このノードが常に静的なワークアイテムを生成します。つまり、ネットワークを実行する前にパラメータ(と上流の静的なワークアイテム)に基づいて必要だと思われるだけの数のワークアイテムを生成します。

Automatic

入力が静的(静的なプロセッサ、静的な入力のみを使ったパーティショナー、マッパー)な場合、このノードは静的なワークアイテムを生成し、そうでない場合、動的なワークアイテムを生成します。

Evaluate Script During

このノードに保存されているスクリプトコードが評価されるタイミングを決めます。 このスクリプトは、クックステージ中に実行したり、スケジューラによるプロセス外で実行したり、Houdiniセッションと同じプロセス内で実行することができます。 他の方法として、ワークアイテムを生成している時にこのスクリプトを実行することができます。

Copy Inputs to Outputs

このオプションを有効にすると、Python Scriptノードは自動的に入力ファイルを出力ファイルリストにコピーします。 これは、スクリプト内で新しく出力ファイルを追加する予定がなくて、同じ入力を下流のノードに渡したい場合に役立ちます。

Python Executable

以下のパラメータは、スクリプトコードの実行に使用するPython実行可能ファイルとその実行可能ファイルに渡す引数を設定します。 これらのパラメータは、 Evaluate Script During オプションを Cook (Out-of-Process) に設定して、このノードがプロセス外で実行するように構成されている時にのみ利用可能です。

Python Bin

プロセス外でスクリプトを実行すると、このパラメータがスクリプトの実行に使用するPython実行ファイルを決定します。

Custom Python Bin

Python BinCustom に設定すると、このパラメータが評価されて、Python実行ファイルのパスを決定します。

Python Arguments

インタープリターの挙動を設定するためにPython実行ファイル自体に渡される追加引数。

Script Arguments

Pythonスクリプトに渡される引数。 これらの値は、スクリプトからsys.argv[1:]を介してアクセス可能です。

Reset Python Path Variables

このトグルを有効にすると、Houdiniで定義されているPYTHONHOMEとPYTHONPATHの環境変数が外部Pythonプロセス内でリセットされます。 これは、Houdiniに組み込まれているPythonと互換性のないバージョンのPythonを使用する時に必要になります。

Python Code

ワークアイテム毎に実行されるPythonコード。

プロセス外でスクリプトを実行すると、このコードはディスクに保存され、指定したPythonインタープリターによって実行されます。 このスクリプトは、APIを通じてそのスクリプトに関連付けられたワークアイテムの名前、インデックス、フレーム、アトリビュートにアクセス可能なwork_item変数にアクセスすることができます。 さらに、intData, floatData, strDataの便利関数を使用することで、そのワークアイテムのアトリビュートを照会することができます。

プロセス内またはワークアイテム生成ステージでスクリプトを実行すると、そのスクリプトはHoudiniに埋め込まれているPythonインタープリターを使って実行されます。 work_item変数だけでなく、selfparent_itemの変数も利用可能です。 self変数は、そのワークアイテムを所有しているノードの参照で、parent_item変数は、その親の参照またはNoneです。

Schedulers

TOP Scheduler Override

このパラメータは、このノードのTOPスケジューラを上書きします。

Work Item Priority

このパラメータは、現行スケジューラがこのノード内のワークアイテムの優先度を設定する方法を決めます。

Inherit From Upstream Item

ワークアイテムは、親ワークアイテムの優先度を継承します。ワークアイテムに親ワークアイテムがなければ、その優先度は0に設定されます。

Custom Expression

ワークアイテムの優先度は、 Priority Expression の値に設定されます。

Node Defines Priority

ワークアイテムの優先度は、このノード自身の内部優先度計算に基づいて設定されます。

このオプションは、 Python Processor TOP, ROP Fetch TOP, ROP Output TOPのノードでのみ利用可能です。 これらのノードは、各自のノードロジックで実装された優先度設定スキームを定義しています。

Priority Expression

このパラメータは、 Work Item PriorityCustom Expression に設定されている時にのみ利用可能です。

このパラメータには、ワークアイテムの優先度を設定するためのエクスプレッションを指定します。 このエクスプレッションは、ノード内のワークアイム毎に評価されます。

Examples

example_top_pythonscript Example for Python Script TOP node

このサンプルでは、PDG/TOPのPython Scriptノードの使い方について説明しています。

See also

TOPノード

  • Attribute Copy

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

  • Attribute Create

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

  • Attribute Delete

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

  • 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

    条件を満たした時に警告またはエラーを生成します。

  • Error Handler

    失敗したワークアイテムのエラーハンドル。

  • 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

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

  • 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

    Pythonコマンドサーバーを起動します。

  • 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 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を使ってワークアイテムのスケジュールを組みます。

  • USD Import

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

  • USD Import Files

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

  • USD Render

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

  • Wait for All

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

  • Wedge

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

  • Work Item Expand

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

  • Xml Input

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