Houdini 18.0 ノード TOPノード

Wedge TOP node

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

On this page

概要

Wedge ROPは、可能な範囲で色々な設定を使って複数バージョンの画像またはジオメトリを生成することができるので、それらから最良のルックを選ぶのに役立ちます。

TOPsでは、アトリビュートとして格納された色々な設定を使ってバリエーション別に異なるワークアイテムを生成すれば同じようなことができます。

Wedge TOPは、そのようなワークアイテムを生成します。これは、一度に複数のアトリビュートのバリエーションを生成することができます。 特定の範囲内で設定を変えたり、値のリストから選択したり、ランダムに値を取得することができます。

How to

  1. レンダーノード(s)の Wedgeノードを追加します。

    レンダー系TOPノードは 入力のワークアイテム毎に フレーム単位でワークアイテムを生成するので、Wedgeノード以降のレンダー系ノードは、バリエーション別にフレーム毎にレンダーアイテムを生成します。

  2. Wedge TOPの Wedge Attributes マルチパラメータを使って、色々と変えたいアトリビュート(s)をセットアップします。例えば、レンダー系ノードのアトリビュートのリファレンスにあるアトリビュートを使用することで、TOPネットワークまたはそこでコールされたHDA内でレンダー設定を変えることができます。

  3. Wedge attributes の隣にある Addボタンをクリックすると、新しいWedge変数が追加されます。

  4. 新しいWedge変数の Attribute Name を設定します。

Pull vs. Push

Wedgeアトリビュート毎に、以下の2つの方法のどちらかで、そのアトリビュートを使ってレンダー系ノードのパラメータを設定することができます:

  • レンダー系ノード上またはそのレンダーがクックする他のノード上のパラメータエクスプレッションに@attribute参照を使用することで、ワークアイテムからアトリビュート値を"pull(引き出す)"することができます。

    Pull参照は非常に便利で柔軟性があります。しかし、これにはTOPs固有のエクスプレッションを使用する必要があるので、さらにROPノードを手動またはTOPs不要で利用できるようにしたい場合には都合が悪いです。

    または

  • Wedge TOP上で、シーン内のノードパラメータを明示的に指定することで、レンダリング時にそのパラメータにアトリビュート値を"push(格納)"することができます。これは、レンダーノードがレンダリング時に特定のノードパラメータを上書きするのに使用できる特別なアトリビュートを生成します。

    これは、ノードパラメータ内にTOPs固有のエクスプレッションを使用することなくシーン内の値をWedgeすることができるので、レンダーノードは手動またはTOPs不要でレンダリングすることができます。

    Target Parameter を有効にします。Target Parameterフィールドの横にある選択アイコンをクリックすると、上書きしたいパラメータをインタラクティブに選択することができます。 Wedge TOPは、レンダーTOPsにレンダリング時にオーバーライドを使用するように伝える特別なアトリビュートを生成するので、HIPファイル自体は影響を受けません。

    Pushアトリビュートの一覧とそれに伴う妥協点に関しては、 Overwrite Target Parm on Item Selection パラメータのヘルプを参照してください。

TOP Attributes

Wedge Attributes パラメータによって生成されるアトリビュートに加えて、以下の共通アトリビュートがWedgeワークアイテムに追加されます:

wedgeindex

int

ワークアイテム上のWedgeバリエーションを識別するインデックス。 これは、Wedgeノード内で固有です。

wedgenum

int or [int]

Wedgeバリエーション番号。このバリエーション番号の範囲は0から Wedge Count -1です。 Wedgeノードに何も入力がなければ、この番号はwedgeindexアトリビュートと同じになります。 このノードは上流のワークアイテム毎に Wedge Count の数だけワークアイテムを生成するので、Wedgeを入れ子化した場合、同じwedgenumを持ったワークアイテムが複数存在することになります。

Preserve Wedge Numbers トグルを有効にすると、wedgenumはWedgeのレベル毎のバリエーション番号すべてを格納した配列になります。 wedgenum[0]には1番目のレベルのWedgeバリエーション番号、wedgenum[1]には2番目のレベルのWedgeバリエーション番号が入ります。

wedgeattribs

[str]

このノードでWedgeされるアトリビュート名のリスト。

attributechannel

str

Target Parameter を有効にしてアトリビュートをROPパラメータに"Push"するように選択した場合、このノードはattributechannelアトリビュートを追加します (例えば、アトリビュート名をscaleにすると、このノードはscalechannelアトリビュートも生成します)。 このアトリビュートには、上書きされるパラメータのパスが入ります(レンダー系TOPsは、このタイプのアトリビュートがワークアイテム上に存在している場合に、このアトリビュートで指定されているパラメータをレンダリング時に上書きするようになります)。

attributevaluetype

int

Target Parameter を有効にしてアトリビュートをROPパラメータに"プッシュ"するように選択した場合、このノードはattributevaluetypeアトリビュートを設定して、そこに値のタイプを設定します。 0の値は、そのTarget Parameterにはそのアトリビュートを読み込むエクスプレッションが設定されていることを示します。 1の値は、直接チャンネルが設定されていることを示します。 2の値は、アトリビュート値がチャンネルのエクスプレッションとして設定されていることを示します。 詳細は、 Set Value As パラメータを参照してください。

このアトリビュートは、 Wedge TypeString に設定されている時にのみ設定されます。 それ以外のすべてのWedge Typeに関しては、どの場合でも Target Parameter にはアトリビュート参照が設定されます。

パラメータ

Work Item Generation

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

Dynamic

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

Static

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

Automatic

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

Wedge Count

作成するワークアイテムの総数。 Wedge TypeRange に設定されたアトリビュートは、この数に分割されます。 Value List に設定されたアトリビュートは、値の数よりWedgeの数の方が多い場合には周回するようになります。

作成するワークアイテムの数。 各ワークアイテムには、 Wedge Attributes パラメータからのすべてのアトリビュートが入ります。 このノードが他のノードに接続されている場合、上流のワークアイテム毎に、これだけの数のワークアイテムが生成されます。

Random Seed

この数値を変更すると、このノードは異なる乱数値を生成します。

Preserve Wedge Numbers

このトグルを有効にすると、wedgenumアトリビュートには、入れ子化されたWedgeのレベル毎のWedge番号のリストが入ります。 1番目のレベルのWedgeのwedgenum値は配列のインデックス0番に格納されます。2番目のレベルのWedgeならインデックス1番です。 このトグルを無効にすると、直近のWedge番号のみが格納されます。

Export To Environment

ワークアイテムのジョブ環境毎に、バリエーションアトリビュートを環境変数にコピーします。

Overwrite Target Parameter on Work Item Selection

変数に対して Target Parameter チェックボックスを有効にして、その変数をROPパラメータに"Push"する場合には、 これを有効にすることで、ネットワークエディタ内のワークアイテムを選択する度にそのPushを実行することができます。 これによって、"Pull"参照と使用するのと同じように効果を確認することができます。 しかし、この挙動は実際にはその Target Parameter の値を変更しているわけなので、再クックされて、HIPファイルが未保存としてマークされ、HIPファイルを保存すると、その"プレビュー"の変更が保存されます。 その Target Parameter の現行値は、そのパラメータが選択された時にWedge TOPに保存され、ワークアイテムの選択が解除されると元に戻ります。 CaptureRestore のボタンを使用することで、手動で値をキャプチャしたり元に戻すことができます。

このパラメータは、アクティブなHoudiniセッションにのみ影響することに注意してください。 実際にネットワークを実行すると、そのネットワークは、現在のHIPファイルに影響を与えずに"Push"された値を使ってROPをコールします。

Wedge Attributes

Wedgeさせるアトリビュートの数を設定します。

アトリビュート毎のパラメータ

Attribute Name

Wedgeさせるアトリビュートの名前。

Target Parameter

これを有効にすると、アトリビュートがターゲットパラメータに"Push"されるようになります。 このフィールドの右側にある選択アイコンをクリックすると、上書きしたいノードとパラメータをインタラクティブに選択することができます。 Overwrite Target Parameter on Work Item Selection を有効にすると、 Captured Value フィールドには、このパラメータのオリジナルの値が格納されます。 キャプチャした値は Capture ボタンを使って再取得することができ、 Restore ボタンを使って元に戻すことができます。

Attribute Type

アトリビュートデータのタイプ: "Float", "Float Vector", "Integer", "Integer Vector", "String", "Color"(2個から4個までのベクトルサイズに関してはFloat/Integer Vectorを使用します)。

Set Value As

Attribute TypeString に設定、且つ、Wedgeの Target Parameter が有効になっている時、 このパラメータは Target Parameter の設定方法を決めます。 これを使用することで、 Target Parameter にエクスプレッション、定数、PDGワークアイテムアトリビュートの参照を設定することができます。

Attribute Reference

Target Parameter には、ワークアイテムアトリビュートを参照するエクスプレッションが設定されます。 例えば、アトリビュート名が"scale"の場合、 Target Parameter には@scaleエクスプレッションが設定されます。

Parm Value

ターゲットパラメータ値が明示的にWedge値に設定されます。

Parm Expression

ターゲットパラメータエクスプレッションが明示的にWedge値に設定されます。

Wedge Type

Wedgeされた値を生成する方法。

Range

開始値から終了値までの範囲で均等に値を分布させます。 Random Samples を有効にすると、このノードは、この範囲内で均等に値を分布させるのではなくランダムに値を選択します。

Value

下にある Value パラメータの値をアトリビュートに設定します。 ここには、定数値、または、ノードがワークアイテム毎に別々に評価できるようにエクスプレッションを指定することができます。

Tip

エクスプレッションでは、wedgecountパラメータをチャンネル参照することでWedgeの総数を取得することができ、@wedgeindexを使用することで現行ワークアイテムのインデックスを取得することができます。 例えば、以下のエクスプレッションはサイン波の形状で値を生成することができます:

sin(@wedgeindex / (ch("wedgecount") - 1) * 180 + 90)

Value List

下にある Values マルチパラメータで指定した値を周回させます。 Random Samples を有効にすると、このノードは、そのリストをループさせるのではなくてランダムに値を選択します。

Bracket

中央値とオフセットで指定された範囲の値を分布します。 この中央値がワークアイテムのどれかに必ず含まれるようにするには、奇数個の Wedge Count が必要です。 Random Samples を有効にすると、このノードは、それらの値を均等に分布させるのではなくて、ランダムに値を選択します。 最初のwedge_count/2個の値は、[center-offset, center]の範囲から選択され、残りの値は、その反対側の範囲から選択されます。

Random Samples

Wedge Type が"Range"、"Value List"、"Bracket"のどれかの時に、そこからランダムに値を生成します。

Examples

example_top_wedge Example for Wedge TOP node

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

See also

TOPノード

  • Attribute Array

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

  • Attribute Copy

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

  • Attribute Create

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

  • Attribute Delete

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

  • Attribute Rename

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

  • 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ファイルからデータをワークアイテムアトリビュートに抽出します。