Houdini 18.0 タスクを実行する方法

TOPネットワークをクックする方法

TOPネットワークに実際にワークを処理させて、そのネットワークで指定されたとおりに結果を生成させる方法。

On this page

TOPネットワークパフォーマンスを可視化する方法も参照してください。

概要

TOPネットワークは、以前のクックで変更された(または、とっくに既に変更された)ワークのみを再処理することで余計なワークを最小限に抑えようと試みます。 つまり、何も変更がなければ、まったくクックされません。

TOPsでは、最新でない(またはそう疑われる)ノードを再クックする必要が出た場合に、それらのワークアイテムを"Dirty(変更あり)"としてマークする概念を取り入れています。 以下に、TOPネットワークが何を基準に再クックの有無を判断しているのかを説明しています。

  • ノードが以前のクックで生成したものと異なったワークアイテムを生成した場合、その以降のすべてのノードが"Dirty"としてマークされます。

  • 外部ファイル (TOPネットワーク内で生成されていないファイル)を扱うノード、例えばFile PatternGeometry Importを実行した時にそれらのファイルを走査して、該当するファイルに変更があった場合には、既存のワークアイテムが"Dirty(変更あり)"としてマークされます。

  • 外部のHoudiniノードを参照したノード(例えば、ROP Geometry Output)を実行した時にその参照データをチェックして、そのデータに変更があった場合には、既存のワークアイテムが"Dirty(変更あり)"としてマークされます。

  • 現在のところ、TOPsは入力ファイルと出力された結果ファイルをチェック しません 。例えば、中間ファイルを削除もしくは置換しても、そのファイルを入力として使用したワークアイテムは自動的に"Dirty(変更あり)"としてマーク されないです

  • 最後のクックから変更のあったアトリビュートを持つすべてのワークアイテムが"Dirty(変更あり)"としてマークされます。

  • ノードのパラメータを変更すると、そのノードのワークアイテムが"Dirty(変更あり)"としてマークされます(その理由は、ほとんどのワークアイテムは、入力のワークアイテムとパラメータ値に基づいて生成されているからです)。

    TOPノードのパラメータを変更すると(要するに、ノードを再クックさせると)、そのノードの隣のステータスアイコンが薄暗くなります:

  • 手動でワークアイテム、ノード、ネットワーク全体を"Dirty(変更あり)"としてマークすることで、それらを強制的に再クックさせることができます。

クックさせる方法

To...Do this

クックを必要とするネットワークの一部をクックする

Tasks ▸ Cook Output Node を選択します。

(クックを必要とする場合にのみ)単一ノードをクックする

  • ノードを選択して、 Tasks ▸ Cook Selected Node を選択します。

    または

  • ノードを右クリックして、 Cook this node を選択します。

強制的にHoudiniにネットワーク全体を再クックさせる

Tasks ▸ Dirty and Cook Output Node を選択します。

強制的に単一ノードをクックさせる

  • ノードを選択して、 Tasks ▸ Dirty and Cook Selected Node を選択します。

    または

  • ノードを右クリックして、 Dirty and Cook this node を選択します。

ネットワーク全体をDirty(変更あり)としてマークしつつ、まだ再クックさせない

Tasks ▸ Dirty All を選択します。

すべての静的なワークアイテムを生成するも、何もクックしないようにする

__Tasks > Generate Static Work Items___ を選択します。

特定のノードのワークアイテムを動的または静的で生成する

ノードを右クリックして、 Generate Node を選択します。

単一ワークアイテムを再クックする

ワークアイテムのドットを右クリックして、 Cook Task を選択します。

単一ワークアイテムをDirty(変更あり)としてマークしつつ、まだ再クックさせない

ワークアイテムのドットを右クリックして、 Dirty Task を選択します。

ローカルスケジューラで使用されるリソースの数を制限する

リソースを制限する方法を参照してください。

ファーム上でグラフ全体をクックし、現行セッションから接続解除する

各ファームスケジューラノードには、このために Submit Graph As Job という名前のUIが備わっています。 サンプルは、HQueueを参照してください。

出力フラグと出力ノード

  • TOPネットワーク内では、出力フラグは、そのTOPネットワークが"動作させる"ノードを制御します。TOPネットワークをクックさせると、出力フラグを持ったノードから上流のノードのみがクックされます。

  • TOP サブネットワーク 内では、そのサブネットワークにOutputノードが存在すると、そのOutputノードがそのサブネットの出力になり、他の出力フラグが無視されます。

  • TOPサブネットワークの中に複数のOutputノードを作成すると、そのサブネットはSplit TOPと同様に複数の出力コネクタを持つようになります。

タスクを実行する方法

基本

次のステップ

  • 外部のプログラムを実行する方法

    TOPノードで外部機能をラップする方法。

  • ファイルタグ

    ワークアイテムは、そのワークによって生成された"結果"を追跡します。各結果には、そのタイプのタグが付きます。

  • フィードバックループ

    For-Eachブロックを使用することで、ワークアイテムに対して一連のオペレーションをループで処理することができます。

  • コマンドサーバー

    コマンドブロックは、リモートプロセス(例えば、HoudiniやMayaのインスタンス)を起動したり、サーバーコマンドを送信したり、サーバーをシャットダウンすることができます。

  • PDG Service Manager

    PDG Service Managerは、ワークアイテムのクック時間を短くするために使用される持続型Houdiniセッションのプールを管理します。

  • PDGとレンダーファームスケジューラの統合

    異なるスケジューラを使って、ワークのスケジュールを組んで実行する方法。

  • ワークアイテムのパフォーマンスの可視化

    ネットワーク内のワークアイテムの相対的なクック時間(またはファイル出力サイズ)を可視化する方法。

  • Event Handling

    PDGノードまたはグラフからイベントを制御するためのPython関数を登録することができます。

  • Tipsとテクニック

    TOPsを扱う上で役立つ一般情報と上手な使い方。

リファレンス

  • すべてのTOPsノード

    TOPノードは、データをネットワークに送り込んで"ワークアイテム"に変換し、色々なノードでそれを制御するワークフローを定義します。たいていのノードは、ローカルマシンまたはサーバーファーム上で実行可能な外部プロセスを表現しています。

  • Processor Node Callbacks

    Processor系ノードはスケジューラで実行可能なワークアイテムを生成します。

  • Partitioner Node Callbacks

    Partitioner系ノードは複数の上流ワークアイテムを単一パーティションにグループ化します。

  • Scheduler Node Callbacks

    Scheduler系ノードはワークアイテムを実行します。

  • Python API

    ディペンデンシーグラフを扱うためのPython PDGパッケージのクラスと関数。