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

アトリビュートのWedge化

Wedgeノードは、指定した1つ以上のアトリビュートのバリエーション毎にワークアイテムを生成します。

On this page

概要

動作方法

TOPネットワーク内にWedge TOPをセットアップしてワークアイテムを生成します。 すると、各ワークアイテムは1つ以上のアトリビュートに対して異なる値を持つようになります。

  1. HDA ProcessorGeometry Importといったノードを使用して、Houdiniのアセット/ネットワークをコールします。

  2. コールするアセット/ネットワークに対して、@attributeエクスプレッションを使って、現行ワークアイテムのアトリビュート値を取得します。

詳細は、Wedge TOPのヘルプを参照してください。

Wedgeをスタックさせると(積み重ねると)、アトリビュートの順列が生成されます
  • 1個のWedgeノード内で 複数のアトリビュート を生成することができます。これらのアトリビュートは、生成したいバリエーションの数だけ個々に独立して変化します。

  • 異なるアトリビュートの 順列 を生成したいのであれば、複数のWedgeノードを次々に"スタック"(積み重ねる)させることで可能です(Wedgeノードに入力があれば、そのWedgeノードは、 入力アイテム毎に 変化したワークアイテムを生成します)。

シミュレーションのWedge化

Wedgeは、色々な設定(初期条件、煙の密度などのパラメータ)を試行錯誤してシミュレーションを回して、そこから最高のルックを拾い上げることができるので非常に便利です。

レンガの壁を生成するアセットを使って、パラメータからサイズやレンガの数などを変化させたいと仮定します。

TOPsでは、壁の外観(高さ、レンガの数、色味)を色々と変えるWedgeノードを作成します。

アセットに対して、そのWedgeノードで生成されたアトリビュートを使えば、そのアセットのパラメータを駆動させることができます:

ここでは、 高さ, レンガの数, 色味 を変化させるアトリビュートを生成します。

どんな感じの壁が生成されるのか見たいので、TOPsを使って、その壁のバリエーションの一覧画像を生成します。

Wedgeノードによってアトリビュートを変えて色々なジオメトリを生成し、それらのバリエーションをレンダリングし、それらのレンダリング画像を最終的に一覧画像に結合できるようにTOPネットワークを拡張します。

(TOPには、一連の画像から一覧画像("モンタージュ")を簡単に生成できる便利なビルトインノードが用意されています。)

これは、生成されたすべての壁のバリエーションのレンダー画像を一枚にした一覧画像("モンタージュ")です。

次に、鉄球がレンガの壁を打ち壊すリジッドボディシミュレーションを作成します。

壁のバリエーション毎にシミュレーションを実行するようにTOPネットワークを拡張することができます。

TOPネットワーク内の新しいシミュレーションセクションで、もう1つWedgeノードを追加して、鉄球の速度などのRBDシミュレーション設定を変化させます。

RBDシミュレーションにさらにセカンダリの煙のシミュレーションを加えます。

ここでも煙のセクションで、もう1つWedgeノードを追加して、煙の密度などの煙シミュレーション設定を変化させます。

これは、各フレームのバリエーションの一覧画像から生成した動画です。こうすることで、色々なルックを選ぶことができます。

バリエーションのWedge化

Wedgeは、プレビューレンダリング以外でも役立ちます。 ベースアセットから膨大な種類の異なるプロップを非常に簡単に生成することができます。

複数のWedgeノードを使用すれば、Wedgeアトリビュートのセットからすべての順列を生成することができます。

これによって、(事前に、または、レンダリング時に)膨大な数のバリエーションを生成することができます。

ジオメトリネットワークは、色々なジオメトリを生成するだけでなく、マテリアルとマテリアルプロパティを変化させることができます。

詳細レベルのWedge化

Wedgeはランダムなバリエーションしか生成できないわけではありません。 Wedgeは規則的に均一な間隔の値を生成することもできます。 これは、異なる詳細レベルで色々なジオメトリを事前に生成したい時に役立ちます。

タスクを実行する方法

基本

次のステップ

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

    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パッケージのクラスと関数。