| On this page | 
概要 ¶
グループとは、ポイント/フェースの集合体に名前を付けたものです。
Group SOPはジオメトリのポイント/フェースを色々な基準に基づいて並べ替えてから、グループ化します。他のオペレータでも、副作用としてグループを作成します。
ポイントやプリミティブを操作するノードのほとんどには、そのノードの効果を、すべてのポイント/プリミティブではなくて入力ストリームの特定のグループにのみ適用するオプションがあります。 このオプションを使用すれば、ある特性に基づいてポイントのグループを認識して、ノードをそのグループ、または、そうじゃないグループに適用することができます。
ポイントが削除されても、Houdiniは自動的にそのポイントのグループからポイントを除去します。
順番通りのグループと不規則なグループ ¶
ポイントグループは、 順番通り または 不規則 に並べることができます。 不規則なグループは、ポイントを作成順に記録し、順番通りのグループは、ポイントを選択順に記録します。
ビューアペイン内でポイントを選択する時に、シングルクリックで選択すると、順番通りの選択になります。 一方、マウスドラッグで囲んで選択すると、不規則なグループになります。
| To... | Do this | 
|---|---|
| ポイント/プリミティブのグループを作成する | 
 | 
| 既存のグループを使ってポイント/プリミティブを選択して、新しいグループを作成する | 
 | 
グループの結合とフィルタリング ¶
Group Combineノードを使用すれば、既存グループと組み合わせて新しいグループを作成することができます。
- 
        グループを作成します。 
- 
        Group Combineノードを追加し、既存のGroupノードの出力をそのGroup Combineノードの入力に接続します。 
- 
        Group Combineノードのパラメータエディタで、 Group Name パラメータを使用して、コンポーネントタイプ(プリミティブ、ポイント、エッジ、頂点)の開始グループを指定します: - 
        
        左側のフィールドには、作成する新しいグループの名前を入力するか、ドロップダウンボックスから開始したい既存グループを選択します。 
- 
        
        中央のフィールドのドロップダウンボックスから Equals を選択して、右側のフィールドのグループのコンポーネントが入るようにします。 Equals All But オプションを選択すれば、右側のフィールドのグループに属していないコンポーネントが入ります。 
 
- 
        
        
- 
        Group Name 以下にあるオプションのUnion、Intersect、Exclusive、Subtractionと追加グループを選択することで、グループコンポーネントをさらに細かく組み合わせたりフィルタリングすることができます。 
グループの構文 ¶
ほとんどのジオメトリオペレータ(SOP)は、特定のポイント/プリミティブのサブセットに対して機能します。ビューアでオペレータを使う時は、必要なポイント/プリミティブを選択します。パラメータエディタでは、このポイント/プリミティブのリストを、以下のパターンによって Group パラメータに指定します。
複数パターンは、スペースで区切って定義します。そして、各パターンにマッチしたものが結合されて、グループが作成されます。
| パターン | 意味 | 
|---|---|
| 
                 | ポイント、プリミティブ、頂点、エッジすべて。どの要素にもマッチさせたくないのであれば、 | 
| 
                 | 名前の付いたグループのどの要素にもマッチします。 | 
| 
                 | コンポーネント番号‹n›。 | 
| 
                 | Group SOP以外のSOPでは、名前の付いたPoint/Primitiveグループ(Group SOPで作成)を指定することができます。 グループ名にはパターンマッチング( | 
| 
                 | コンポーネント番号‹n›から‹m›まで(‹n›と‹m›を含む)。 | 
| 
                 | ‹step›毎にスキップされたコンポーネント番号‹n›から‹m›まで(‹n›を含む)。例えば、 | 
| 
                 | コンポーネント番号‹n›から‹m›までをステップ値‹step›で定義したもので、さらに、それに該当する番号から連番で‹keep›の分(該当番号を含めた個数)だけ番号を確保します。例えば、 | 
| 
                 | パターンにマッチするもの以外のポイント/プリミティブ。例えば、 ‹pattern›には、数値パターン、アトリビュートパターン、グループ名パターンを指定することができます。 | 
| 
                 | 前のパターンの結果からそのパターンを引いたもの。例えば、 ‹pattern›には、数値パターン、アトリビュートパターン、グループ名パターンを指定することができます。 | 
| 
                 | ‹attribute›と‹value›が‹op›( 例えば、 アトリビュート名の後に 例えば、 文字列アトリビュートに関しては‹value›が空白を含んでいるなら、クォーテーションマークで囲わなければなりません。例えば、 文字列アトリビュートで‹op›に アトリビュートの構文と範囲の構文を組み合わせることができます: @id=5-10 整数パターンを持つアトリビュートの構文を使うこともできますが、引用符でパターンを閉じる必要があります: @id="5 8 10 15" @id="0-4 78" これを使用することで、Intrinsicアトリビュートを比較することもできます: @intrinsic:indexorder<100 | 
| 
                 | 指定したアトリビュートの中で、リストの値のどれかを含んだコンポーネント。 例: @id=1,2,90,120 文字列アトリビュートに関しては、スペースを含んだ値はダブルクォーテーションで閉じなければなりません。例: @path=/foo/*,/bar,"some string" | 
エッジの構文 ¶
一部のノードは、ポイントとかポリゴンではなく エッジ (2個のポイントを繋げたライン)を扱います。
例えば、Dissolve SOPがそうです。
このようなノード(または、エッジに影響を与えるモードが設定されたノード)では、グループフィールド内に以下の構文を使用してエッジを選択することができます。
| パターン | 意味 | 
|---|---|
| 
                 | プリミティブ番号‹n›のすべてのエッジ。 | 
| 
                 | ポイント番号‹n› / ポイント番号‹n›を持つエッジ。 | 
| 
                 | プリミティブ番号‹n›のエッジ番号‹m›。 | 
| 
                 | ポイント番号‹a›とポイント番号‹b›間のエッジ。 |