Houdini 20.0 ノード TOPノード

Service Block Send TOP node

実行させたいコードをサービスブロックに送信します。

Since 17.5

Python Service Block Houdini Service Block Maya Service Block Nuke Service Blockなどのサービスブロック内部でこのノードを使用する必要があります。

このノードは、サーバーが対応している内容に応じて、コマンドまたはカスタムコードをブロックに送信します。 例えば、 Houdini Service Block はHOM APIを使用したPythonコードを実行し、 Maya Service Block は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)

デフォルトでは、コマンドスクリプトは、同じサービスブロック内で実行されるすべてのワークアイテム間で共通するコンテキスト内で評価されます。 つまり、モジュールインポートとスクリプト内で宣言されている変数は、以降のすべてのスクリプト評価からアクセス可能です。 グローバルコンテキストの変更を避けたいのであれば、 Evaluation Context パラメータを代わりに Shared, Discard Changes に設定すると良いでしょう。 どのインポートも宣言済みの変数もスクリプトの実行中でのみ有効になりますが、そのスクリプトは他のノードのタスクの変数にアクセスすることができます。 他にも、 Evaluation Context パラメータを Standalone に設定することで、スクリプトが完全にスタンドアローンなコンテキストで実行されるようにそのスクリプトの挙動を変更することができます。

Note

このノードをMaya Service Blockと併用すると、そのコマンドスクリプトは、そのスクリプトの1行目が//melでない限りPythonコードであると想定されます。 //melだった場合は、そのスクリプトテキストはMELコードとして扱われます。 このMELスクリプトの最後の行は、 Service Block Send work_itemに追加される値を決定します。

パラメータ

Command

Generate When

このノードがワークアイテムを生成するタイミングを決めます。 このノードがどの生成モードを必須にしているのか、もしくは、ワークアイテムを動的に生成させる必要があるのかどうか分からないのであれば、通常では、これを“Automatic”のままに設定してください。

All Upstream Items are Generated

このノードは、すべての入力ノードが自身のワークアイテムを生成した時にワークアイテムを生成します。

All Upstream Items are Cooked

このノードは、すべての入力ノードが自身のワークアイテムをクックした時にワークアイテムを生成します。

Each Upstream Item is Cooked

このノードは、入力ノード内のワークアイテムがクックされる度にワークアイテムを生成します。

Automatic

入力ノードの生成モードに基づいて生成モードが選択されます。 入力ノードのどれかがその入力のクック時にワークアイテムが生成されている場合、このノードには Each Upstream Item is Cooked が設定されます。 そうでない場合、 All Upstream Items are Generated が設定されます。

Cache Mode

ワークアイテムから目的のファイル結果がレポートされるように、プロセッサノードがそのワークアイテムを制御する方法を決めます。

Automatic

目的の結果ファイルがディスク上に存在すれば、そのワークアイテムはスケジュールに組まれずにクック済みとマークされます。 そのファイルが 存在しなければ 、そのワークアイテムは通常どおりにスケジュールに組まれます。 上流のワークアイテムの依存関係がクック中に新しいファイルを書き出す場合、このノード内のワークアイテムのキャッシュファイルもout-of-date(古い)としてマークされます。

Automatic (Ignore Upstream)

Automatic と同様ですが、上流のファイルの書き込みは、このノード内のワークアイテムのキャッシュファイルを 無効にしません 。 そして、このノードは自身のワークアイテムの出力ファイルのみをチェックします。

Read Files

目的の結果ファイルがディスク上に存在すれば、そのワークアイテムはスケジュールに組まれずにクック済みとマークされます。 そのファイルが存在しなければ、そのワークアイテムは失敗とマークされます。

Write Files

目的の結果ファイルがディスク上に存在していても、ワークアイテムが常にスケジュールに組まれ、その目的の結果ファイルを無視します。

Evaluation Context

このパラメータは、スクリプトコードを走らせるコンテキスト/ネームスペースを決めます。 デフォルトでは、スクリプトは共有ネームスペースで走るので、宣言済み変数またはインポート済みモジュールが以降のすべてのService Block Sendワークアイテムで利用可能になります。 他にも、スクリプトがワークアイテムから隔離された自身のローカルコンテキスト内で走らせることができます。

Shared, Keep Changes

ワークアイテムのスクリプトが共有グローバルコンテキストで走ります。 変数宣言やモジュールインポートなどの変更は、以降の他のすべてのワークアイテムで利用可能です。

Shared, Discard Changes

ワークアイテムのスクリプトは共有グローバルコンテキストで走ります。 変数宣言やモジュールインポートは、ワークアイテムが終了すると破棄され、以降のワークアイテムでは見えなくなります。

Standalone

ワークアイテムのスクリプトは自身のローカルコンテキストで走ります。 pdgjsonpdgcmdhouなどの標準モジュールにアクセスすることはできますが、これまでのワークアイテムや以降のワークアイテムのどちらにも依存せずにスクリプトが実行されます。

Copy Spare Parms to Attributes

有効にすると、すべてのSpareパラメータがアトリビュートとして、生成されたワークアイテムにコピーされます。 コピーしたくないパラメータがある場合は、pdg::nocopyタグを適用してください。

Remote Script

共有サーバーに送信するコードを指定します。

このサーバーが Houdini Service Block であれば、このパラメータにはHOM APIが利用可能なPythonコードを指定することができます。 このサーバーが Maya Service BLock であれば、このパラメータにはMaya APIが利用可能なPythonコードを指定することができます。

Output

Expected Output From

必要となる出力ファイルパスの追加方法を決めます。

キャッシュを利用したい場合や下流でこれらのパスにアクセスしたい場合は、必要となる出力ファイルのパスをこのノードで準備することができます。

None

必要となる出力が追加されません。

Attribute

指定したアトリビュート名が評価され、それが必要となる出力として追加されます。 ここには、ファイルアトリビュートまたは文字列配列アトリビュートを指定することができます。

File List

指定した出力ファイルパスが追加されます。

See also

TOPノード

  • Attribute Array

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

  • Attribute Copy

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

  • Attribute Create

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

  • Attribute Delete

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

  • Attribute Promote

    ワークアイテム、グローバルアトリビュート、出力ファイルとの間でアトリビュートとフィールドをコピーします。

  • Attribute Randomize

    ワークアイテム上にランダムに生成された整数/浮動小数点アトリビュートを作成します。

  • Attribute Reduce

    配列アトリビュート値を単一値に下げます。

  • Attribute Rename

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

  • Attribute from File

    ファイルからアトリビュート値を解析して、そこからワークアイテムを生成します。

  • 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ファイルに書き出します。

  • 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 Attribute

    上流のワークアイテムをアトリビュート名またはアトリビュート値でフィルタリングします。

  • Filter by Expression

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

  • Filter by Range

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

  • Filter by State

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

  • Generic Generator

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

  • Geometry Import

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

  • HDA Processor

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

  • HQueue Scheduler

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

  • Houdini Block Begin

    Houdiniサービスブロックを開始します。

  • ImageMagick

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

  • In Process Scheduler

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

  • Invoke

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

  • JSON Input

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

  • JSON Output

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

  • Labs Archive Project

    現行HIPファイルの依存関係を収集してアーカイブ(書庫)にするユーティリティTOP。

  • Labs Concatenate Text

    複数のテキストファイルを単一ファイルに結合します。

  • Labs Cut Geometry to Partitions

    入力ジオメトリを分割します。

  • Labs Data Diff

    様々なジオメトリ、テキスト、画像ファイルを比較します。

  • Labs Extract Image Metadata

    iinfoを使用して画像メタデータを抽出します。

  • Labs Extract Image Metadata

    画像からメタデータ(解像度、ビット深度、カラーモデルなど)を抽出します。

  • Labs File Cache Filter

    ファイルのキャッシュ化で使用されるワークアイテムを分割します。

  • Labs File Cache Partitioner

    ファイルキャッシュの範囲とWedge値に基づいてワークアイテムを分割/生成します。

  • Labs Filter by Value

    特定のアトリビュート値で1つ以上のワークアイテムをフィルタリングします。

  • Labs Filter by Value

    指定したアトリビュート値で複数のワークアイテムをフィルタリングします。

  • Labs Generate from Imageplanes

    画像内に見つかった画像平面に基づいてワークアイテムを生成します。

  • Labs Wedge

    アトリビュート値を可変させてワークアイテムを生成します。

  • Local Scheduler

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

  • Make Directory

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

  • Maya Server Begin

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

  • Merge

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

  • Node Pattern

    マッチしたノードに基づいてワークアイテムを生成します。

  • Nuke Server Begin

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

  • Null

    何もしません。

  • OP Notify

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

  • OpenImageIO

    画像に対してカラー空間の変換、カラーマッピング、サイズ変更、テキストのオーバーレイ、ボックスのオーバーレイなどの処理を実行するOpenImageIOのコマンドラインツールoiiotoolに簡単にアクセスすることができます。

  • 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 Iteration

    フィードバックループの反復に基づいてワークアイテムを区分けします。

  • Partition by Node

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

  • Partition by Range

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

  • Partition by Tile

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

  • Perforce

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

  • Python Block Begin

    Pythonサービスブロックを開始します。

  • Python Partitioner

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

  • Python Processor

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

  • Python Scheduler

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

  • Python Script

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

  • Python Virtual Environment

    TOPsを使用してPython仮想環境を作成します。

  • ROP Alembic Output

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

  • ROP Composite Output

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

  • ROP FBX Output

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

  • ROP Fetch

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

  • ROP Geometry Output

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

  • ROP Karma Render

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

  • ROP Mantra Render

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

  • ROP OpenGL Render

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

  • ROP USD Output

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

  • Range Extend

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

  • Range Generate

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

  • Remote Graph

    リモートで実行されているTOPグラフに接続して、そのグラフのノードを表示します。

  • Render IFD

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

  • SQL Input

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

  • SQL Output

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

  • Send Email

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

  • Service Block End

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

  • Service Block Send

    実行させたいコードをサービスブロックに送信します。

  • Service Create

    PDGサービスを作成します。

  • Service Delete

    PDGサービスを削除します。

  • Service Reset

    PDGサービスをリセットします。

  • Service Start

    PDGサービスを起動します。

  • Service Stop

    PDGサービスを停止します。

  • ShotGrid Create

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

  • ShotGrid Delete

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

  • ShotGrid Download

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

  • ShotGrid Find

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

  • ShotGrid Server Begin

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

  • Shotgun Update

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

  • Shotgun Upload

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

  • Sort

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

  • Split

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

  • Split by Count

    指定した数で上流のワークアイテムを2つに分割します。

  • Subnetwork

    TOPノード用コンテナ。

  • Switch

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

  • TOP Fetch

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

  • TOP Fetch Input

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

  • Text Output

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

  • Tractor Scheduler

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

  • URL Request

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

  • USD Add Assets to Gallery

    USDアセットをAsset Galleryに追加します。

  • USD Analyze

    LOPノードまたはファイルからメタデータ、依存関係、外部参照を取得します。

  • USD Import Data

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

  • USD Import Files

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

  • USD Modify Paths

    アセットパスアトリビュート値を修正します。

  • USD Render Files

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

  • USD Render Scene

    USDファイルまたはLOPネットワークをレンダリングするワークアイテムを生成します。

  • Wait for All

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

  • Wedge

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

  • Work Item Expand

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

  • Work Item Import

    .jsonファイルまたは他のTOPノードからワークアイテムを取り込みます。

  • Xml Input

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