On this page

概要

グループとは、ポイント/フェースの集合体に名前を付けたものです。

Group SOPはジオメトリのポイント/フェースを色々な基準に基づいて並べ替えてから、グループ化します。他のオペレータでも、副作用としてグループを作成します。

ポイントやプリミティブを操作するノードのほとんどには、そのノードの効果を、すべてのポイント/プリミティブではなくて入力ストリームの特定のグループにのみ適用するオプションがあります。 このオプションを使用すれば、ある特性に基づいてポイントのグループを認識して、ノードをそのグループ、または、そうじゃないグループに適用することができます。

ポイントが削除されても、Houdiniは自動的にそのポイントのグループからポイントを除去します。

順番通りのグループと不規則なグループ

ポイントグループは、 順番通り または 不規則 に並べることができます。 不規則なグループは、ポイントを作成順に記録し、順番通りのグループは、ポイントを選択順に記録します。

ビューアペイン内でポイントを選択する時に、シングルクリックで選択すると、順番通りの選択になります。 一方、マウスドラッグで囲んで選択すると、不規則なグループになります。

To...Do this

ポイント/プリミティブのグループを作成する

  1. 選択タイプを設定します:

    • 左側のツールバーにある Selectをクリックします。

    • ポイントを選択する場合、 Geometry Selection Modeをクリックして、 Points を選択、または、2を押します。

    • プリミティブを選択する場合、 Geometry Selection Modeをクリックして、 Primitives を選択、または、4を押します。

  2. ビューア内でTabメニューを使用して、Groupを選択します。

  3. ビューポートのジオメトリ上で、新しいグループに入れたいポイント/プリミティブを選択します。次にビューア内でEnterクリックして選択を終了します。。

  4. パラメータエディタで、 Group Name フィールドに新しいグループの名前を設定します。

既存のグループを使ってポイント/プリミティブを選択して、新しいグループを作成する

  1. Groupノードを選択します。

  2. オペレーションコントロールツールバーで、 Group Name メニューから既存のグループ名を選択します。

  3. オペレーションコントロールツールバーで、 Group Type メニューを使用して、選択した Group Name に基づいてコンポーネントタイプ(プリミティブ、ポイント、エッジ、頂点)を変更します。

グループの結合とフィルタリング

Group Combineノードを使用すれば、既存グループと組み合わせて新しいグループを作成することができます。

  1. グループを作成します。

  2. Group Combineノードを追加し、既存のGroupノードの出力をそのGroup Combineノードの入力に接続します。

  3. Group Combineノードのパラメータエディタで、 Group Name パラメータを使用して、コンポーネントタイプ(プリミティブ、ポイント、エッジ、頂点)の開始グループを指定します:

    • 左側のフィールドには、作成する新しいグループの名前を入力するか、ドロップダウンボックスから開始したい既存グループを選択します。

    • 中央のフィールドのドロップダウンボックスから Equals を選択して、右側のフィールドのグループのコンポーネントが入るようにします。 Equals All But オプションを選択すれば、右側のフィールドのグループに属していないコンポーネントが入ります。

  4. Group Name 以下にあるオプションのUnion、Intersect、Exclusive、Subtractionと追加グループを選択することで、グループコンポーネントをさらに細かく組み合わせたりフィルタリングすることができます。

グループの構文

ほとんどのジオメトリオペレータ(SOP)は、特定のポイント/プリミティブのサブセットに対して機能します。ビューアでオペレータを使う時は、必要なポイント/プリミティブを選択します。パラメータエディタでは、このポイント/プリミティブのリストを、以下のパターンによって Group パラメータに指定します。

複数パターンは、スペースで区切って定義します。そして、各パターンにマッチしたものが結合されて、グループが作成されます。

パターン

意味

*

ポイント、プリミティブ、頂点、エッジすべて。どの要素にもマッチさせたくないのであれば、!?*を使用してください。

?*

名前の付いたグループのどの要素にもマッチします。

n

コンポーネント番号n

group_name

Group SOP以外のSOPでは、名前の付いたPoint/Primitiveグループ(Group SOPで作成)を指定することができます。

グループ名にはパターンマッチング(*, ?, and [ ])を使用することができます。 例えばarm*は、グループ名がarmで始まるすべてのPoint/Primitiveグループを含みます。 パターンを{ }で閉じることで、そのパターンに^を使用することができます。 例えば{arm* ^arm3*}は、arm3を除くグループ名がarmで始まるすべてのグループを含みます。

n-m

コンポーネント番号nからmまで(nmを含む)。

n-m:step

step毎にスキップされたコンポーネント番号nからmまで(nを含む)。例えば、1-100:2は、1から100までを1つ飛ばしすることを意味するので、1,3,5,7,9,11,13,15・・・93,95,97,99となります。

n-m:keep,step

コンポーネント番号nからmまでをステップ値stepで定義したもので、さらに、それに該当する番号から連番でkeepの分(該当番号を含めた個数)だけ番号を確保します。例えば、0-20:3,5は、0から20の数字から5ステップの0,5,10,15,20で、さらに、連番をとるので、0,1,2,5,6,7,10,11,12,15,16,17,20となります。

!pattern

パターンにマッチするもの以外のポイント/プリミティブ。例えば、!1-10は、ポイント/プリミティブ番号が1から10以外のものを意味します。

patternには、数値パターン、アトリビュートパターン、グループ名パターンを指定することができます。

^pattern

前のパターンの結果からそのパターンを引いたもの。例えば、0-100:2 ^10-20は、0から100の1つ飛ばしの番号で、10から20までの番号を除いたものです。

patternには、数値パターン、アトリビュートパターン、グループ名パターンを指定することができます。

@attributeopvalue

attributevalueop(===!=><>=<=)でマッチしたコンポーネント。

例えば、@v>0は、Pointアトリビュートのv0よりも大きいポイントすべてをグループにします。

アトリビュート名の後に[index]を付けることで、その成分を指定できます。例えば、@Cd[2]は、拡散反射カラーアトリビュー(Cd)の青チャンネルを取得します。便利な使い方として、 [0][1][2]の代わりに.x/.y/.z.u/.v/.w.r/.g/.bを使うこともできます。ポジションアトリビュート(P)のX座標成分は、P.xで取得することができます(アトリビュート名[index]のような複数の成分を持つアトリビュートをアトリビュート名だけを指定した場合、最初の成分が使われます)。

例えば、@P.y>0はポイントのY成分が0よりも大きいポイントすべてがグループ化されます。

文字列アトリビュートに関してはvalueが空白を含んでいるなら、クォーテーションマークで囲わなければなりません。例えば、@myattr="foo bar"です。

文字列アトリビュートでop===!=を使う時は、valueにワイルドカード(*?)を使うことができます。

アトリビュートの構文と範囲の構文を組み合わせることができます:

@id=5-10

整数パターンを持つアトリビュートの構文を使うこともできますが、引用符でパターンを閉じる必要があります:

@id="5 8 10 15"

@id="0-4 78"

これを使用することで、Intrinsicアトリビュートを比較することもできます:

@intrinsic:indexorder<100

@attribute=val,val,...

指定したアトリビュートの中で、リストの値のどれかを含んだコンポーネント。 例:

@id=1,2,90,120

文字列アトリビュートに関しては、スペースを含んだ値はダブルクォーテーションで閉じなければなりません。例:

@path=/foo/*,/bar,"some string"

エッジの構文

一部のノードは、ポイントとかポリゴンではなく エッジ (2個のポイントを繋げたライン)を扱います。 例えば、Dissolve SOPがそうです。 このようなノード(または、エッジに影響を与えるモードが設定されたノード)では、グループフィールド内に以下の構文を使用してエッジを選択することができます。

パターン

意味

n

プリミティブ番号nのすべてのエッジ。

pn

ポイント番号n / ポイント番号nを持つエッジ。

nem

プリミティブ番号nのエッジ番号m

pa-b

ポイント番号aとポイント番号b間のエッジ。

ジオメトリ

学ぼう

モデリング

地形

粉砕

  • 破壊

    色々なタイプの材質を破壊する方法。

次のステップ

導師レベル