On this page

概要

ノードの“バンドル”に名前を付けることができます。 そのバンドル名の頭にバンドルの内容を意味する@記号を付ける(例えば@lights)ことで、ノードのリストを受け取るパラメータにバンドルを使用することができます。

Tip

バンドルは元々はLight Linkingで便利なものとして作成していました。しかし、現在推奨されているLight Linkingを自動的に行なう方法は、カテゴリを使用することです。 カテゴリは、ノードのリストを明示的に構築することなく、タグによって動作します。

バンドルは、特定の環境では今でも役立ちます。

バンドルリストは、現行シーンのバンドルすべてを表示します。バンドルは、ノードのグループであり、異なるネットワークのノードもグループにすることができます。バンドルは、名前によってノードのグループを参照することができます。バンドルは、ライトのリンクで特に役に立ちます。

どこでもバンドルを使えるようにするには、Houdiniではノードのリストに@bundleを使う必要があります。例えば、keylightsという名前のバンドルがあれば、@keylightsという名前にすることでライトマスクから参照できるようになります。

バンドルは、フィルターが適切に設定されている時の選択メニューでのみ表示されます。 例えば、オブジェクトを受け入れるだけの選択メニュー(例えば、ROPのCandidate Objects)では、バンドル内のフィルターを Geometry Only に設定する必要があります。

標準(手動)バンドル

標準バンドルの内容は、ノードをバンドルリストペインのバンドル上にドラッグするか、またはツールバーのボタン(以下参照)を使うことで設定することができます。

To...Do this

新しくバンドルを作成する

Bundle ▸ New Bundle を選択、またはツールバーから New Bundle をクリックします。

現在の選択からバンドルを作成する

ネットワークエディタのバックグラウンドでクリックして、 Add ▸ Add Bundle を選択します。

バンドルに特定のタイプのノードを限定して追加する

左のリストからバンドルを選択して、下にある Filter メニューを使います。

ノードをバンドルに追加する

ネットワークエディタからノードをバンドルリストペインのリストのバンドル名の上にドラッグアンドドロップします。

または

  1. バンドルリストペインのリストからバンドルを選択します。

  2. ネットワークエディタで追加したいノードを選択し、ツールバーから Add Selectedをクリックします。

バンドルからノードを除去する

  1. バンドルリストペインの左のリストからバンドルを選択します。

  2. 右のリストにはバンドルの内容が表示されます。リストから除去したいノードを選択して、 Edit Contents ▸ Remove を選択またはDeleteを押します。

または

  1. 左のリストからバンドルを選択します。

  2. ネットワークエディタで除去したいノードを選択し、ツールバーから Remove Selectedをクリックします。

バンドルのノードのフラグを閲覧・編集する

  1. バンドルリストペインの左のリストからバンドルを選択します。

  2. 右のリストにはバンドルの内容が表示されます。各ノード名の右側には、選択可能、ディスプレイ、バイパス、テンプレードのフラグの状態が表示されます(そのノードにそれらのフラグがある場合)。

  3. 個々のノードに対してフラグをクリックしてオン・オフします。またはツールバーのボタンを使って選択したバンドルのすべてのノードのフラグを変更することができます。

バンドルの名前を変更する

左のリストのバンドル名をクリックします。

既存のバンドルを複製する

バンドルリストペインでバンドルを選択して、 Bundle ▸ Duplicate を選択します。

複数のバンドルの内容を1つのバンドルに結合する

バンドルリストペインで結合したいバンドルを選択して、 Bundle ▸ Merge を選択します。

バンドルを削除する

バンドルリストペインから削除したいバンドルを選択して、 Bundle ▸ Delete を選択します。

標準バンドルをスマートバンドルに変換する

バンドルリストペインから変換したいバンドルを選択して、 Bundle ▸ Convert To Smart Bundle を選択します。

ツールバー

新しくバンドルを作成します。

新しくスマートバンドルを作成します(以下参照)。

現在選択しているノードをバンドルの内容に設定します。

現在選択しているノードをバンドルの内容に追加します。

現在選択しているノードをバンドルの内容から除去します。

バンドルのすべてのノードの 選択 フラグをオン・オフします。

バンドルのすべてのノードの ディスプレイ フラグをオン・オフします。

バンドルのすべてのノードの バイパス フラグをオン・オフします。

バンドルのすべてのノードの テンプレート フラグをオン・オフします。

バンドルのすべてのノードの エクスポーズ フラグ(ネットワークエディタにノードを表示・非表示する)をオン・オフします。

バンドルの内容のノードを選択します。

バンドルの内容のノードを追加選択します。

バンドルの内容のノードを選択解除します。

スマートバンドル

通常は、バンドルリストペインのバンドル上にノードをドラッグすることでバンドルの内容を定義します。さらには、 スマートバンドル も定義することができます。これはiTunesのスマートプレイリストのようなものです。スマートバンドルは、あなたが定義したパターンに一致するノードを自動的にすべて格納します。

To...Do this

スマートバンドルを作成する

Bundle ▸ New Smart Bundle を選択するか、またはツールバーの New Smart Bundle をクリックします。

スマートバンドルのマッチングパターンを編集する

スマートバンドルのアイコンをダブルクリックします。

このパターンにマッチしたパスのノードがバンドルに追加されます。ノードを作成/削除すると、バンドルの内容が自動的に更新されます。

パターンは、スペース区切りで複数のパターンを定義することができます。ノードのパスが、そのパターン すべて にマッチすれば、ノードがバンドルに入ります。

スマートバンドルを標準バンドルに変換する

  • バンドルリストペインの左のリストからスマートバンドルを選択して、 Bundle ▸ Convert to Normal Bundle を選択します。

  • 手動でスマートバンドルの内容を編集(ノードの追加、除去)したい場合は、Houdiniは、そのバンドルを標準のバンドルに変換します。

スマートバンドルパターン

  • 任意の文字列にマッチさせるには、*を使います。

  • 任意の1文字にマッチさせるには、?を使います。

  • 指定したパターン以外のパターンにマッチさせるには、^を使います。

  • 次の/の直前までの文字列のパターンにマッチさせるには、%を使います。

  • 区切り文字|を使ってカッコの中のパターンにマッチさせるには、(|)を使います。

  • スラッシュを含まないパターンは、ノードの名前では、どのノードにもマッチします。

  • パターンの終わりに*を置く(例:/obj/model*)ことで、ノード名がmodelで始まる/obj/下のノードがマッチし、さらに、そのノードの子の階層までがパターンの対象になります。なぜならば、*はスラッシュ(/)にマッチするからです。

    ノード名がmodelで始まるノードにマッチさせ、その子にはマッチさせたくない場合は、合成パターン:/obj/model* ^/obj/model*/*を使います。2番目のパターンの前にある^は、/obj/model*/*にマッチするノードを含めないことを意味しています。

スマートバンドルパターンの例

/obj/%

オブジェクトレベルのノードにマッチしますが、その子にはマッチしません。

/obj/node(12|13|14)/child

次のパスのどれかのノードにマッチします: /obj/node12/child, /obj/node13/child, obj/node14/child

/obj/*/child

objのサブチャイルドでノード名が“child”のノードにマッチします(例:*は“/obj/”と“/child”の間にどの文字にもマッチします)。

カテゴリへの適合

スクリプトを組むことで、オブジェクトが属するバンドルの名前をカテゴリ名として使用することが可能です。

Pythonセッションモジュールでは、以下の関数を実装することができます( Windows ▸ Python Source Editor )。

def bundleList():
    node = hou.pwd()
    bundles = []
    for b in hou.nodeBundles():
        if b.containsNode(node):
            bundles.append(b.name())
    return ' '.join(bundles)

ジオメトリノードの Categories パラメータにpythonexprs('hou.session.bundleList()')を置いてください。そうすると、オブジェクトのカテゴリとしてバンドル名を表示させることができます。

ペイン

一般

アニメーション

レンダリング

上級

その他