Houdini 20.0 PDG/TOPsを使ってタスクを実行する方法

アトリビュートの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は規則的に均一な間隔の値を生成することもできます。 これは、異なる詳細レベルで色々なジオメトリを事前に生成したい時に役立ちます。

PDG/TOPsを使ってタスクを実行する方法

基本

初心者向けチュートリアル

次のステップ

リファレンス

  • すべてのTOPsノード

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

  • プロセッサ系ノードコールバック

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

  • パーティショナー系ノードコールバック

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

  • スケジューラ系ノードコールバック

    スケジューラ系ノードはワークアイテムを実行します。

  • 独自のファイルタグとハンドラー

    PDGはファイルタグを使用して出力ファイルのタイプを決めます。

  • Python API

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

  • Job API

    ジョブスクリプトで使用するPython API

  • ユーティリティAPI

    Python pdgutilsパッケージのクラスと関数は、PDGノードでの使用だけでなく、スクリプトやプロセス外のジョブスクリプトでの使用も想定されています。