Knowledge / Blenderジオメトリノード / 第7章:対象を選ぶデザインパターン 3 min read

第7章:対象を選ぶデザインパターン

目次

第5章では量を作り、 第6章では場所を決めました。

しかし、それでもまだ足りません。

Geometry Nodesでは、 処理をかける対象を選ぶ という段階が、ほぼ必ず必要になります。

  • すべてのポイントではなく
  • すべての面でもなく

どれに適用するのか

を決めるのが、この章のテーマです。

1. 対象を選ぶとはどういうことか

対象を選ぶ、というのは 何かを消すことではありません。

Geometry Nodesにおける選択とは、

  • 処理を適用する
  • 処理を適用しない

を分けるための 条件を作る ことです。

多くの場合、この条件は、

  • 真偽値(Yes / No)
  • または 0〜1 の量

として表現されます。

2. Selection という考え方

多くのノードには、 Selection という入力があります。

Selection に渡された条件が、

  • 真なら、その要素に処理がかかる
  • 偽なら、その要素は無視される

という仕組みです。

これは、

  • 頂点
  • エッジ
  • ポイント

など、要素単位で働きます。

3. Index:順番という情報を使う

対象選択でよく使われるのが Index です。

Index は、

  • この要素が何番目か

を示す情報です。

これを使うと、

  • 交互に処理する
  • 一定間隔で処理する
  • 規則的に間引く

といったことができます。

4. Modulo:周期的な選別を作る

Index と組み合わせて使われるのが Modulo(剰余) です。

  • Index % 2
  • Index % 3

といった計算をすると、

  • 0,1,0,1…
  • 0,1,2,0,1,2…

という周期的な値が得られます。

これを Compare ノードなどで条件にすると、

  • 1つおき
  • 3つに1つ

といった選別が可能になります。

5. 条件は「量」から作れる

第5章と第6章で作った量は、 そのまま Selection に使うこともできます。

たとえば、

  • 距離マスク
  • ノイズ
  • 高さによる量

を、

  • しきい値で区切る
  • 大きいところだけ選ぶ

といった使い方です。

ここでやっていることは、

連続した量を、選択条件に変換する

という操作です。

6. Separate と Delete は「結果」であって目的ではない

対象選択の結果として、

  • Separate Geometry
  • Delete Geometry

が使われることがあります。

ですが、これらは 選別そのものではありません。

  • 条件を作る
  • その条件を使って分ける

という二段構えの、 後半の処理に過ぎません。

重要なのは、 どんな条件で分けているかです。

7. 対象選択は「後段を楽にするため」に行う

対象を選ぶ理由は、 選ぶこと自体ではありません。

  • 後の処理を軽くする
  • 構成を分かりやすくする
  • 意図しない影響を防ぐ

ために行います。

Selection が整理されていると、 ノードツリー全体が 一気に読みやすくなります。

8. 典型的な組み合わせ

対象選択のデザインパターンは、 次のような流れで構成されることが多くなります。

flowchart LR
    A[要素の情報
Index / 距離 / ノイズ] --> B[条件化
Compare / Threshold] B --> C[Selection] C --> D[変形ノード] C --> E[Separate Geometry] C --> F[Delete Geometry]

この構成を見たときは、

どれを対象にするかを決めている

と読むのが正解です。

9. 次の章への接続

次の章では、

  • 選ばれた対象を
  • どこに、どう置くか

を決めるデザインパターンを扱います。