Houdini 20.0 ネットワークとパラメータ

整理、カスタマイズ、注釈 ノードとネットワーク

ネットワークを整理し、上手にまとめる方法。

On this page

ドットを使ったワイヤーのまとめ方

ドットを使用することで、出力から入力までのワイヤーを直線ではなく、特定の経路で経由させることができます。 これは、長いワイヤーが他のノードと重ならないようにするのに役立ち、ネットワークをより綺麗に整理することができます。

詳細は、ドットの作成と編集の方法を参照してください。

ネットワークを切替える方法

ネットワークを作成している時に、その変更の効果を確認したり、色んなバージョンのネットワークを切替えたり、問題の発見や別のルックを模索したりすることがよくあります。

Houdiniには、一部のネットワークを有効/無効に切替えるためのツールがいくつか含まれています:

Switchノード

ほとんどのネットワークタイプにはSwitchノードタイプがあるので、それによって上流のネットワーク処理の分岐を選択することができます。 エクスプレッションの結果に応じて分岐させることが多いですが、Switchを使用して、アクティブな入力を手動で変更することで、簡単に異なる分岐間の切替えをすることもできます。

Bypassフラグ

いくつかのネットワークタイプでは、ノードのBypassフラグをオンにすることで、そのノードの効果を無効にすることができます。例えばジオメトリネットワーク内で、バイパスをオンにしたノードは、ジオメトリに変更を加えずにそのまま通過させます。

DisplayフラグまたはOutputフラグ

ジオメトリネットワークは、Displayフラグが付いたノードで必要なノードだけを処理します。 複数分岐のネットワークでは、異なる出力を生成することができ(例えば、異なるノードの組み合わせまたは設定による効果をチェックすることができます)、Displayフラグを別の分岐の最後のノードに移すことによって、ネットワーク間を切替えることができます。

再接続

一部のネットワークを未接続のままにし、その部分を再接続することでネットワークを切替えることができます。 これは、例えば後で参照するネットワークの実装を中断しておきたい時に役立ちます。とはいえ、切替えの頻度が多いのであれば、Switchノードを挿入する方が再接続よりも便利です。

ノードのシェイプとカラーをカスタマイズする方法

個々のノードのシェイプとカラーをカスタマイズすることで、たくさんあるノード群でそれらのノードを目立たせることができるので、特にズームアウトした時にそれらのノードを視覚的に配置し易くなります。

To...Do this

ノードのシェイプまたはカラーを変更する

  1. ネットワークエディタで Tools ▸ Show Palette: Shapes または Colors を選択します。(ZまたはCを押せば、そのパレットを表示/非表示することもできます。)

  2. パレットのシェイプ/カラーをノード上にドラッグするか、複数のノードを選択してからパレットのシェイプ/カラーをクリックします。

パレットのコーナーをドラッグすることで、そのパレットのサイズを変更することができます。

特定のタイプのすべてのノードのデフォルトのシェイプ/カラーを変更します

⌃ Ctrlを押したままシェイプまたはカラーをノード上にドラッグします(上記参照)。

既に独自のシェイプまたはカラーが適用されている同じタイプのノードに対しては、それらのシェイプまたはカラーが維持されます。

カラーパレットをカスタマイズする

カラーを追加、編集、削除するには、カラーパレット内のカラーを右クリックします。

現行デスクトップのそのペインに対してのみ変更が保存されます。現行パレットを新しいデフォルトにするには、カラーパレットを右クリックして、 Save as defaults を選択します。

カスタムシェイプの表示を無効にする

ネットワークエディタで、 View ▸ Show custom node shapes をオフにします。

( Edit ▸ Preferences ▸ Network EditorUse simplified shape when node shapes off オプションで設定することもできます。 Show custom node shapes がオフの時、ネットワークエディタは単純な四角の形状を使用するようになります。これによって、非常に密集したネットワークの表示速度が改善されます。)

テーマ

カスタマイズしたノードのシェイプとカラーを使ってテーマを作成することで、テーマ間を切り替えることができます。

To...Do this

Themesタブを表示する

  1. ネットワークエディタ内のツールバーの Display Optionsボタンをクリックして、Display Optionsウィンドウを開きます。

  2. Themes タブをクリックします。

別のテーマに切り替える

Display Optionsの Themes タブで、 Default Node Colors または Default Node Shapes をクリックしてテーマを選択します。

例えば、No Colorカラーテーマや、ボーンやライトのオブジェクトに対して面白いシェイプを持ったFlairシェイプテーマがあります。

新しいカラーやシェイプのテーマを作成する

  1. Display Optionsの Themes タブで、 Default Node Colors または Default Node Shapes をクリックして、“Duplicate Current Theme”を選択します。

  2. その新しいテーマの名前を入力します。

カスタムテーマを削除する

  1. Display Optionsの Themes タブで、 Default Node Colors または Default Node Shapes をクリックして削除したいテーマに切り替えます。

  2. 再度メニューをクリックして、“Delete Current Theme”を選択します。

一括変更

  • 複数ノードを選択してからカラー/シェイプのパレットでクリックすることで、一括でノードのカラーまたは形状を設定することができます。

  • hou.Colorクラスのhou.Node.colorhou.Node.setColorのメソッドを使用すれば、カスタムノードのカラーを取得または変更することができます:

    >>> n = hou.node("/obj/geo1/box1")
    >>> n.setColor(hou.Color(0.996, 0.682, 0.682))
    >>> n.color()
    <hou.Color r=0.996, g=0.682, b=0.682)
    
  • カスタムシェイプは、ノード上の“User Data”として保存されます。hou.Node.userDatahou.Node.setUserDataのメソッドを使用することで、そのノードシェイプをプログラム的に取得または変更することができます:

    >>> n = hou.node("/obj/geo1/box1")
    >>> n.setUserData("nodeshape", "tilted")
    >>> n.userData("nodeshape")
    "tilted"
    

    nodeshapeユーザデータが空っぽの時や有効なシェイプ名が含まれていない時は、ノードはそのタイプの(上記のOPcustomizeファイルで設定された)デフォルトシェイプを使用します。

    ノードをデフォルトシェイプにリセットする簡単な方法:

    node.setUserData("nodeshape", None)
    
  • hou.NodeType.defaultShapeメソッドは、指定したノードタイプのデフォルトシェイプの名前を返します。(そのデフォルトをカスタマイズしていなかった場合は、このメソッドは空っぽの文字列を返します)。

  • 利用可能なシェイプ名のリストをプログラム的に取得するには、ネットワークペインタブの参照を取得して、hou.NetworkEditor.nodeShapesをコールします。

    >>> editor = hou.ui.paneTabOfType(hou.paneTabType.NetworkEditor)
    >>> editor.nodeShapes()
    ('rect', 'bone', 'bulge', ... )
    

ネットワークボックス

ネットワークボックスは、ノードをグループ化することができます。これは、複数ノードをサブネットワークに折り畳みたくないけれども、他のノード群と区別させたい時に役立ちます。

  • ネットワークボックスを移動させると、その中のノードも移動します。

  • ネットワークボックスを使用することで、そのグループのノードをハイライトさせることができます。

  • ネットワークボックスを最小化することで、その中の部分を非表示にさせたり、作業しているネットワークだけを展開させることでネットワークを整頓された状態に維持することができます。

例えば、キャラクタリグの別々の肢を表現したノードを別々のネットワークボックスにグループ化したとします。そうすることで、ジオメトリパイプラインで別々に区別された“ステージ”を別々のネットワークボックスに配置することができます。

Tip

他のネットワークボックス内にネットワークボックスを埋め込むことができます。ステッキーノート画像も同様です。

To...Do this

ネットワークボックスを作成する

  1. 新しいネットワークボックスに入れたいノードを選択します。

  2. ネットワークエディタメニューから、 Add ▸ Network box を選択します。

ネットワークボックスにタイトルを付ける

ネットワークボックスの上部のバー内でダブルクリックすれば、タイトルを編集することができます。これは、ネットワークボックスの内容を説明するのに役立ちます。

ネットワークボックスにアイテムを追加または除外する

ノードをネットワークボックスの外へドラッグします。

アイテムをネットワークボックスのエッジ側へゆっくりとドラッグすれば、そのネットワークボックスを広げることができ、速くドラッグすればネットワークボックスから除外されます。

ネットワークボックスを移動またはサイズを変更する

  • ネットワークボックスの上部のバーをドラッグすることで移動します。

  • ネットワークボックスのサイズを変更するには、コーナーをドラッグします。

  • アイテムをネットワークボックスのエッジ側へゆっくりとドラッグすれば、そのネットワークボックスを広げることができ、速くドラッグすればネットワークボックスから除外されます。

ネットワークボックスのサイズをその中身に合わせる

ネットワークボックスを選択して、 Layout ▸ Resize network boxes to fit を選択します。

ネットワークボックスを削除する

  1. ネットワークボックスを選択します。

  2. 以下のどれかを行ないます:

    • ネットワークボックスだけを削除し、その中身を残すには、 Edit ▸ Delete または⌦ Delを押します。

    • ネットワークボックス とその中身も 削除するには、 Edit ▸ Delete with network box contents または⇧ Shift + ⌦ Delを押します。

ネットワークボックスを最小化と復元

ネットワークボックスの中身に対して作業していない時は、そのネットワークボックスを折り畳むことで空間が節約され、見た目がクリアになります。

  • ネットワークボックスのボタンをクリックすれば折り畳まれます。折り畳まれたネットワークボックスのボタンをクリックすれば、通常サイズに復元されます。

  • ⌃ Ctrlを押したまま最小化/復元ボタンをクリックすると、ネットワークエディタは、そのネットワークボックス周辺の他のノードを新しいサイズを考慮して動かします。

ネットワークボックスにカラーを割り当てる

  1. ネットワークエディタで、 Tools ▸ Show Palette: Colors を選択すると、カラーパレットが表示されます。

  2. ネットワークボックスを選択してカラーをクリック、またはカラーをネットワークボックス上にドラッグします。

Pythonを使ってネットワークボックスを制御する

ネットワークボックスは、スクリプトに使用可能な内部名を持っていますが、その内部名はネットワークエディタには表示されません(ネットワークボックスのタイトルバー内のテキストは、実際にはネットワークボックスのコメント文字列です)。

  • ネットワークボックスを作成するには、親ネットワークに対してhou.Node.createNetworkBoxをコールします。

  • それぞれのネットワークボックスの参照を手動で取得するには、そのネットワークボックスをネットワークエディタからPythonシェルにドラッグします。

  • 名前でネットワークボックスの参照を取得するには、親ネットワークに対してhou.Node.findNetworkBoxをコールします。

  • ネットワークエディタ内のすべてのネットワークボックスのリストを取得するには、そのネットワークに対してhou.Node.iterNetworkBoxesをコールします。

  • 選択されているネットワークボックスを取得するには、その親ネットワークに対して(ノードだけを返すselectedChildrenではなく)hou.Node.selectedItemsをコールし、返されたリスト内の項目のクラスをチェックします。例:

    network = hou.pwd()
    selected_boxes = [item for item in network.selectedItems()
                      if isinstance(item, hou.NetworkBox)]
    
  • ネットワークボックスオブジェクトに対してコール可能なメソッドは、hou.NetworkBoxを参照してください。

ステッキーノート

ステッキーノートとは、ネットワーク内のテキストボックスです。ステッキーノートを使用することで、一部のネットワークを他の人(または未来のあなた自身!)に説明することができます。

To...Do this

ステッキーノートを作成する

ネットワークエディタで、 Add ▸ Sticky note を選択するか、ツールバーの Add sticky noteボタンをクリックまたは⇧ Shift + Pを押します。

ステッキーノートをドラッグすることでネットワーク内を移動させることができます。

ステッキーノートの内容を編集する

ステッキーノートのボディ内をクリックすることでテキストを編集することができます。編集が終われば、ステッキーノート外をクリックします。

ステッキーノートのサイズを変更する

ステッキーノートのコーナーをドラッグします。

ステッキーノートの最小化と復元

ステッキーノートの中身に対して作業していない時は、そのステッキーノートを折り畳むことで空間が節約され、見た目がクリアになります。 ステッキーノートのボタンをクリックすれば折り畳まれます。折り畳まれたステッキーノートのボタンをクリックすれば、通常サイズに復元されます。

ステッキーノートのテキストサイズを変更する

  1. ステッキーノートを右クリックして、コンテキストメニューを表示します。

  2. Set text size サブメニューからサイズを選択します。

ステッキーノートのカラーを変更する

  • ネットワークエディタで、 Tools ▸ Show Palette: Colors を選択して、カラーパレットを表示します。

  • ステッキーノートを選択してカラーをクリック、またはカラーをステッキーノートの トップバー 上にドラッグすることで、背景色が変わります。

  • カラーをステッキーノートの ボディ 上にドラッグすることで、前景色が変わります。

ステッキーノートを削除する

ステッキーノートを選択して、 Edit ▸ Delete または⌦ Delを押します。

Pythonを使ってステッキーノードを制御する

ステッキーノートは、スクリプトに使用可能な内部名を持っていますが、その内部名はネットワークエディタには表示されません。

  • ステッキーノートを作成するには、親ネットワークに対してhou.Node.createStickyNoteをコールします。

  • それぞれのステッキーノートの参照を手動で取得するには、そのステッキーノートをネットワークエディタからPythonシェルにドラッグします。

  • 名前でステッキーノートの参照を取得するには、親ネットワークに対してhou.Node.findStickyNoteをコールします。

  • ネットワークエディタ内のすべてのステッキーノートのリストを取得するには、そのネットワークに対してhou.Node.iterStickyNotesをコールします。

  • 選択されているステッキーノートを取得するには、その親ネットワークに対して(ノードだけを返すselectedChildrenではなく)hou.Node.selectedItemsをコールし、返されたリスト内の項目のクラスをチェックします。例:

    network = hou.pwd()
    selected_notes = [item for item in network.selectedItems()
                      if isinstance(item, hou.StickyNote)]
    
  • ステッキーノートオブジェクトに対してコール可能なメソッドは、hou.StickyNoteを参照してください。

ステッキーノートを大きなラベルとして使用する方法

ステッキーノートの背景をオフにすることで、自由に浮いたラベルの外観を作成することができます。このようなラベルは、大きなスケールのネットワーク部分を説明するのに役立ちます。 テキストを大きくすることで、ズームアウトしてもラベルが表示されます。

  1. ステッキーノートを作成し、その中で(short)ラベルとタイプします。

  2. ステッキーノートがそのラベルに合うようにサイズを変更します。

  3. ステッキーノートを右クリックして、 Set text size ▸ Large または Extra large を選択します。

    または

    ⇧ Shiftを押しながらステッキーノートのサイズを変更すると、同時にテキストのサイズを変更することができます。

  4. ステッキーノートを右クリックして、 Hide background を選択します。

ノードブランチを折り畳む方法

ノードブランチを小さなスタブに折り畳むことができます。このスタブは入力上のブランチを表現します。 VOPシェーダでプロモートさせたパラメータのParameterノードは、ネットワークを綺麗に維持させるために最初から折り畳まれています。 このノブを選択することで、そのノブが表現している非表示のParameterノードを選択することができます。

  • スタブの選択は、最も近くにある折り畳まれたノードを選択することと同じです。

  • スタブをダブルクリックすれば、その折り畳まれたブランチが展開されます。

  • ノードの入力を折り畳むには、そのノードを右クリックして、 Inputs ▸ Hide inputs を選択します。

ノードを非表示にすると、そのネットワークの一部が非表示になっていることに気づかない他のユーザは、そのネットワークを理解するのが難しくなります。 代わりに他の整理ツール(例えば、ネットワークボックスの折り畳み)を使用することで、そのネットワークを整理することができます。

サブネットワークの取り扱い方

サブネットワークは、複数ノードを1個のノードにカプセル化して、ネットワークを視覚的にも概念的にも合理化することができます。サブネットワーク内にノードを配置すれば、パスが変わることに注意してください。

サブネットワークノードは入力を4つまで持つことができます。これらの入力はサブネットワーク内の特別なノードにつながっています。

To...Do this

空っぽのサブネットワークを作成する

既存のノードをサブネットワークにする

  1. 新しいサブネットに移動させたいノードを選択します。

  2. ネットワーク背景上でクリックしてして Collapse を選択します。

ノードをサブネットワーク内に移動する

  1. ノードを選択して Edit ▸ Cut を選択します。

  2. サブネットワークの中に入ってEdit ▸ Paste を選択します。

サブネットの入力をサブネット内のノードの入力に接続する

  1. サブネットの中に入ります。

  2. サブネットワークの中には、サブネットの入力を意味する4つの見せかけのノードがあります。これらのノードのどれかの出力をサブネット内の実際のノードの入力に接続します。

サブネットの出力を選択する

サブネットの入力にラベルを付ける

  1. パラメータエディタでサブネットのパラメータを表示します。

  2. Input # Label テキストフィールドを編集して、ユーザが入力コネクター上でクリックした時に表示されるメッセージを制御することができます。

ノードのコメント

どのノードに対しても“コメント”文字列を編集することができます。 デフォルトでは、このテキストは情報ウィンドウにしか表示できませんが、ネットワークエディタ内でノードの横にコメントを表示させることができます。 これは、ネットワークを他の人と共有する時に、そのノードの機能を名前だけでなく詳細に説明することができるので役立ちます。特に“デモ”や“例”のネットワークで役立ちます。

To...Do this

ノードのコメントフィールドを編集する

  1. ネットワークエディタで、ノードの情報ウィンドウを開きます。

  2. その情報ウィンドウのコメントフィールドをクリックして編集します。

ネットワークエディタ内でノードの横にノードのコメントを表示する

  1. ネットワークエディタで、ノードの情報ウィンドウを開きます。

  2. コメントフィールド下の Show comment in network を有効にします。

ネットワーク背景画像

To...Do this

背景画像を追加する

ネットワークエディタで、 Add ▸ Background image を選択するか、またはツールバーの Add background imageボタンをクリックします。

背景画像を編集する

ネットワークエディタで、 Tools ▸ Edit background images を有効にします。

  • 画像をドラッグすると移動し、画像のコーナーをドラッグするとサイズが変わります。

  • 画像をクリックして選択し、アイコンを使って、画像の削除、リンク、調整をします。

    Delete

    この画像を削除します。

    Link to node

    このアイコンをノードにドラッグすると、そのノードを基準に画像の位置が維持されます。

    Brightness slider

    スライダをドラッグすると、その画像がフェードイン/フェードアウトします。

  • 画像の編集が終わったら、 Tools ▸ Edit background images を無効にします。

画像がノードと一緒に移動するように、その画像をノードにリンクさせる

  1. ネットワークエディタで、 Tools ▸ Edit background images を有効にします。

  2. 画像をクリックして選択します。

  3. リンクアイコンをノードにドラッグすると、その画像がそのノードに追従します。

  4. Tools ▸ Edit background images を無効にします。

これで、ノードをドラッグすれば、画像がそのノードと一緒に移動します。

ネットワークとパラメータ

ネットワーク

パラメータの編集

次のステップ

エクスプレッション

導師レベル

リファレンス